From 32d76c9bab9389c46efe1cd6028bb09c19e6c78d Mon Sep 17 00:00:00 2001 From: BorvizRobi Date: Fri, 3 Sep 2021 14:08:12 +0200 Subject: [PATCH 1/2] regenerate rest api --- pom.xml | 8 +- .../jiracloud/v2/api/AppMigrationApi.java | 157 +++++ .../jiracloud/v2/api/AppPropertiesApi.java | 2 +- .../jiracloud/v2/api/ApplicationRolesApi.java | 2 +- .../jiracloud/v2/api/AuditRecordsApi.java | 6 +- .../jiracloud/v2/api/AvatarsApi.java | 4 +- .../jiracloud/v2/api/DashboardsApi.java | 4 +- .../jiracloud/v2/api/DynamicModulesApi.java | 2 +- .../jiracloud/v2/api/FilterSharingApi.java | 2 +- .../jiracloud/v2/api/FiltersApi.java | 2 +- .../v2/api/GroupAndUserPickerApi.java | 2 +- .../jiracloud/v2/api/GroupsApi.java | 28 +- .../v2/api/InstanceInformationApi.java | 78 +++ .../jiracloud/v2/api/IssueAttachmentsApi.java | 4 +- .../v2/api/IssueCommentPropertiesApi.java | 2 +- .../jiracloud/v2/api/IssueCommentsApi.java | 8 +- .../IssueCustomFieldConfigurationAppsApi.java | 138 ++++ .../v2/api/IssueCustomFieldContextsApi.java | 473 ++++++++++++- .../v2/api/IssueCustomFieldOptionsApi.java | 110 ++- .../api/IssueCustomFieldOptionsAppsApi.java | 5 +- .../v2/api/IssueCustomFieldValuesAppsApi.java | 87 +++ .../v2/api/IssueFieldConfigurationsApi.java | 12 +- .../jiracloud/v2/api/IssueFieldsApi.java | 50 +- .../jiracloud/v2/api/IssueLinkTypesApi.java | 2 +- .../jiracloud/v2/api/IssueLinksApi.java | 2 +- .../v2/api/IssueNavigatorSettingsApi.java | 2 +- .../v2/api/IssueNotificationSchemesApi.java | 2 +- .../jiracloud/v2/api/IssuePrioritiesApi.java | 2 +- .../jiracloud/v2/api/IssuePropertiesApi.java | 4 +- .../jiracloud/v2/api/IssueRemoteLinksApi.java | 7 +- .../jiracloud/v2/api/IssueResolutionsApi.java | 2 +- .../jiracloud/v2/api/IssueSearchApi.java | 2 +- .../v2/api/IssueSecurityLevelApi.java | 2 +- .../v2/api/IssueSecuritySchemesApi.java | 2 +- .../v2/api/IssueTypePropertiesApi.java | 2 +- .../jiracloud/v2/api/IssueTypeSchemesApi.java | 2 +- .../v2/api/IssueTypeScreenSchemesApi.java | 151 ++++- .../jiracloud/v2/api/IssueTypesApi.java | 36 +- .../jiracloud/v2/api/IssueVotesApi.java | 2 +- .../jiracloud/v2/api/IssueWatchersApi.java | 4 +- .../v2/api/IssueWorklogPropertiesApi.java | 2 +- .../jiracloud/v2/api/IssueWorklogsApi.java | 6 +- .../jiracloud/v2/api/IssuesApi.java | 54 +- .../jiracloud/v2/api/JiraExpressionsApi.java | 4 +- .../jiracloud/v2/api/JiraSettingsApi.java | 4 +- .../restclient/jiracloud/v2/api/JqlApi.java | 38 +- .../jiracloud/v2/api/LabelsApi.java | 2 +- .../jiracloud/v2/api/MyselfApi.java | 2 +- .../v2/api/PermissionSchemesApi.java | 10 +- .../jiracloud/v2/api/PermissionsApi.java | 4 +- .../jiracloud/v2/api/ProjectApi.java | 70 ++ .../jiracloud/v2/api/ProjectAvatarsApi.java | 2 +- .../v2/api/ProjectCategoriesApi.java | 2 +- .../v2/api/ProjectComponentsApi.java | 40 +- .../jiracloud/v2/api/ProjectEmailApi.java | 2 +- .../api/ProjectKeyAndNameValidationApi.java | 2 +- .../v2/api/ProjectPermissionSchemesApi.java | 2 +- .../v2/api/ProjectPropertiesApi.java | 2 +- .../v2/api/ProjectRoleActorsApi.java | 2 +- .../jiracloud/v2/api/ProjectRolesApi.java | 9 +- .../jiracloud/v2/api/ProjectTypesApi.java | 2 +- .../jiracloud/v2/api/ProjectVersionsApi.java | 2 +- .../jiracloud/v2/api/ProjectsApi.java | 85 ++- .../jiracloud/v2/api/ScreenSchemesApi.java | 2 +- .../jiracloud/v2/api/ScreenTabFieldsApi.java | 2 +- .../jiracloud/v2/api/ScreenTabsApi.java | 2 +- .../jiracloud/v2/api/ScreensApi.java | 15 +- .../jiracloud/v2/api/ServerInfoApi.java | 2 +- .../restclient/jiracloud/v2/api/TasksApi.java | 2 +- .../jiracloud/v2/api/TimeTrackingApi.java | 2 +- .../jiracloud/v2/api/UserPropertiesApi.java | 2 +- .../jiracloud/v2/api/UserSearchApi.java | 12 +- .../restclient/jiracloud/v2/api/UsersApi.java | 23 +- .../jiracloud/v2/api/WebhooksApi.java | 12 +- .../v2/api/WorkflowSchemeDraftsApi.java | 39 +- .../WorkflowSchemeProjectAssociationsApi.java | 8 +- .../jiracloud/v2/api/WorkflowSchemesApi.java | 2 +- .../v2/api/WorkflowStatusCategoriesApi.java | 2 +- .../jiracloud/v2/api/WorkflowStatusesApi.java | 2 +- .../api/WorkflowTransitionPropertiesApi.java | 6 +- .../v2/api/WorkflowTransitionRulesApi.java | 50 +- .../jiracloud/v2/api/WorkflowsApi.java | 67 +- .../jiracloud/v2/model/ActorInputBean.java | 2 +- .../jiracloud/v2/model/ActorsMap.java | 2 +- .../jiracloud/v2/model/AddFieldBean.java | 2 +- .../jiracloud/v2/model/AddGroupBean.java | 2 +- .../jiracloud/v2/model/Application.java | 2 +- .../v2/model/ApplicationProperty.java | 2 +- .../jiracloud/v2/model/ApplicationRole.java | 2 +- .../v2/model/AssociatedItemBean.java | 2 +- .../jiracloud/v2/model/Attachment.java | 2 +- .../jiracloud/v2/model/AttachmentArchive.java | 186 +++++ .../v2/model/AttachmentArchiveEntry.java | 2 +- .../v2/model/AttachmentArchiveImpl.java | 2 +- .../model/AttachmentArchiveItemReadable.java | 2 +- .../AttachmentArchiveMetadataReadable.java | 2 +- .../v2/model/AttachmentMetadata.java | 2 +- .../v2/model/AttachmentSettings.java | 2 +- .../jiracloud/v2/model/AuditRecordBean.java | 2 +- .../jiracloud/v2/model/AuditRecords.java | 2 +- .../v2/model/AutoCompleteSuggestion.java | 2 +- .../v2/model/AutoCompleteSuggestions.java | 2 +- .../restclient/jiracloud/v2/model/Avatar.java | 2 +- .../jiracloud/v2/model/AvatarUrlsBean.java | 2 +- .../jiracloud/v2/model/Avatars.java | 2 +- .../BulkCustomFieldOptionCreateRequest.java | 118 ++++ .../BulkCustomFieldOptionUpdateRequest.java | 118 ++++ .../model/BulkIssuePropertyUpdateRequest.java | 31 +- .../v2/model/BulkOperationErrorResult.java | 2 +- .../v2/model/BulkPermissionGrants.java | 2 +- .../v2/model/BulkPermissionsRequestBean.java | 2 +- .../v2/model/BulkProjectPermissionGrants.java | 2 +- .../v2/model/BulkProjectPermissions.java | 2 +- .../jiracloud/v2/model/ChangeDetails.java | 2 +- .../jiracloud/v2/model/ChangedValueBean.java | 2 +- .../jiracloud/v2/model/ChangedWorklog.java | 2 +- .../jiracloud/v2/model/ChangedWorklogs.java | 2 +- .../jiracloud/v2/model/Changelog.java | 2 +- .../jiracloud/v2/model/ColumnItem.java | 2 +- .../jiracloud/v2/model/Comment.java | 2 +- .../v2/model/ComponentIssuesCount.java | 2 +- .../v2/model/ComponentWithIssueCount.java | 132 ++-- .../jiracloud/v2/model/CompoundClause.java | 2 +- .../v2/model/ConnectCustomFieldValue.java | 312 +++++++++ .../v2/model/ConnectCustomFieldValues.java | 118 ++++ .../jiracloud/v2/model/ConnectModules.java | 2 +- .../model/ConnectWorkflowTransitionRule.java | 4 +- .../model/ContainerForRegisteredWebhooks.java | 2 +- .../v2/model/ContainerForWebhookIDs.java | 2 +- ...ContainerOfWorkflowSchemeAssociations.java | 2 +- .../jiracloud/v2/model/Context.java | 2 +- .../model/ContextForProjectAndIssueType.java | 153 +++++ .../v2/model/ContextualConfiguration.java | 153 +++++ .../v2/model/ConvertedJQLQueries.java | 2 +- .../v2/model/CreateCustomFieldContext.java | 208 ++++++ .../v2/model/CreateProjectDetails.java | 637 ++++++++++++++++++ .../v2/model/CreateUpdateRoleRequestBean.java | 2 +- .../v2/model/CreateWorkflowCondition.java | 231 +++++++ .../v2/model/CreateWorkflowDetails.java | 190 ++++++ .../v2/model/CreateWorkflowStatusDetails.java | 107 +++ .../CreateWorkflowTransitionDetails.java | 270 ++++++++ .../model/CreateWorkflowTransitionRule.java | 141 ++++ .../CreateWorkflowTransitionRulesDetails.java | 173 +++++ .../jiracloud/v2/model/CreatedIssue.java | 2 +- .../jiracloud/v2/model/CreatedIssues.java | 2 +- .../v2/model/CustomFieldConfigurations.java | 115 ++++ .../v2/model/CustomFieldContext.java | 199 ++++++ ...eldContextDefaultValueCascadingOption.java | 176 +++++ ...ieldContextDefaultValueMultipleOption.java | 160 +++++ ...mFieldContextDefaultValueSingleOption.java | 153 +++++ .../CustomFieldContextDefaultValueUpdate.java | 117 ++++ .../v2/model/CustomFieldContextOption.java | 2 +- .../CustomFieldContextProjectMapping.java | 126 ++++ .../CustomFieldContextUpdateDetails.java | 130 ++++ .../CustomFieldCreatedContextOptionsList.java | 118 ++++ .../model/CustomFieldDefinitionJsonBean.java | 93 +-- .../jiracloud/v2/model/CustomFieldOption.java | 2 +- .../v2/model/CustomFieldOptionCreate.java | 153 +++++ .../v2/model/CustomFieldOptionUpdate.java | 153 +++++ .../v2/model/CustomFieldReplacement.java | 2 +- .../CustomFieldUpdatedContextOptionsList.java | 118 ++++ .../v2/model/CustomFieldValueUpdate.java | 137 ++++ .../model/CustomFieldValueUpdateRequest.java | 118 ++++ .../jiracloud/v2/model/Dashboard.java | 38 +- .../jiracloud/v2/model/DashboardDetails.java | 38 +- .../jiracloud/v2/model/DefaultShareScope.java | 2 +- .../jiracloud/v2/model/DefaultWorkflow.java | 2 +- .../v2/model/DeleteAndReplaceVersionBean.java | 2 +- .../v2/model/DeprecatedWorkflow.java | 2 +- .../jiracloud/v2/model/EntityProperty.java | 2 +- .../v2/model/EntityPropertyDetails.java | 153 +++++ .../jiracloud/v2/model/ErrorCollection.java | 2 +- .../jiracloud/v2/model/ErrorMessage.java | 2 +- .../jiracloud/v2/model/EventNotification.java | 2 +- .../jiracloud/v2/model/FailedWebhook.java | 2 +- .../jiracloud/v2/model/FailedWebhooks.java | 2 +- .../restclient/jiracloud/v2/model/Field.java | 29 +- .../v2/model/FieldChangedClause.java | 2 +- .../v2/model/FieldConfiguration.java | 2 +- .../FieldConfigurationIssueTypeItem.java | 2 +- .../v2/model/FieldConfigurationItem.java | 2 +- .../v2/model/FieldConfigurationScheme.java | 2 +- ...ConfigurationSchemeProjectAssociation.java | 2 +- .../FieldConfigurationSchemeProjects.java | 2 +- .../jiracloud/v2/model/FieldDetails.java | 2 +- .../jiracloud/v2/model/FieldLastUsed.java | 2 +- .../jiracloud/v2/model/FieldMetadata.java | 4 +- .../v2/model/FieldReferenceData.java | 6 +- .../v2/model/FieldUpdateOperation.java | 5 +- .../jiracloud/v2/model/FieldValueClause.java | 2 +- .../jiracloud/v2/model/FieldWasClause.java | 2 +- .../restclient/jiracloud/v2/model/Fields.java | 2 +- .../restclient/jiracloud/v2/model/Filter.java | 2 +- .../jiracloud/v2/model/FilterDetails.java | 2 +- .../v2/model/FilterSubscription.java | 2 +- .../v2/model/FilterSubscriptionsList.java | 2 +- .../jiracloud/v2/model/FoundGroup.java | 2 +- .../jiracloud/v2/model/FoundGroups.java | 2 +- .../jiracloud/v2/model/FoundUsers.java | 2 +- .../v2/model/FoundUsersAndGroups.java | 2 +- .../jiracloud/v2/model/FunctionOperand.java | 7 +- .../v2/model/FunctionReferenceData.java | 2 +- .../jiracloud/v2/model/GlobalScopeBean.java | 2 +- .../restclient/jiracloud/v2/model/Group.java | 2 +- .../jiracloud/v2/model/GroupDetails.java | 2 +- .../jiracloud/v2/model/GroupLabel.java | 2 +- .../jiracloud/v2/model/GroupName.java | 2 +- .../jiracloud/v2/model/HealthCheckResult.java | 2 +- .../jiracloud/v2/model/Hierarchy.java | 54 +- .../jiracloud/v2/model/HierarchyLevel.java | 117 +++- .../jiracloud/v2/model/HistoryMetadata.java | 2 +- .../v2/model/HistoryMetadataParticipant.java | 2 +- .../restclient/jiracloud/v2/model/Icon.java | 2 +- .../jiracloud/v2/model/IconBean.java | 2 +- .../restclient/jiracloud/v2/model/IdBean.java | 2 +- .../jiracloud/v2/model/IdOrKeyBean.java | 2 +- .../jiracloud/v2/model/IncludedFields.java | 64 +- .../jiracloud/v2/model/IssueBean.java | 5 +- .../jiracloud/v2/model/IssueChangelogIds.java | 114 ++++ .../v2/model/IssueCommentListRequestBean.java | 2 +- .../v2/model/IssueCreateMetadata.java | 2 +- .../v2/model/IssueEntityProperties.java | 2 +- .../jiracloud/v2/model/IssueFieldOption.java | 2 +- .../model/IssueFieldOptionConfiguration.java | 2 +- .../v2/model/IssueFieldOptionCreateBean.java | 2 +- .../v2/model/IssueFieldOptionScopeBean.java | 2 +- .../IssueFilterForBulkPropertyDelete.java | 2 +- .../model/IssueFilterForBulkPropertySet.java | 2 +- .../jiracloud/v2/model/IssueLink.java | 8 +- .../jiracloud/v2/model/IssueLinkType.java | 2 +- .../jiracloud/v2/model/IssueLinkTypes.java | 2 +- .../jiracloud/v2/model/IssueMatches.java | 2 +- .../v2/model/IssueMatchesForJQL.java | 2 +- .../v2/model/IssuePickerSuggestions.java | 2 +- .../IssuePickerSuggestionsIssueType.java | 2 +- .../v2/model/IssueSecurityLevelMember.java | 6 +- .../jiracloud/v2/model/IssueTransition.java | 27 +- .../v2/model/IssueTypeCreateBean.java | 35 +- .../jiracloud/v2/model/IssueTypeDetails.java | 18 +- .../jiracloud/v2/model/IssueTypeIDs.java | 14 +- .../jiracloud/v2/model/IssueTypeInfo.java | 2 +- .../model/IssueTypeIssueCreateMetadata.java | 18 +- .../jiracloud/v2/model/IssueTypeScheme.java | 2 +- .../v2/model/IssueTypeSchemeDetails.java | 2 +- .../jiracloud/v2/model/IssueTypeSchemeID.java | 2 +- .../v2/model/IssueTypeSchemeMapping.java | 2 +- .../IssueTypeSchemeProjectAssociation.java | 2 +- .../v2/model/IssueTypeSchemeProjects.java | 4 +- .../model/IssueTypeSchemeUpdateDetails.java | 2 +- .../v2/model/IssueTypeScreenScheme.java | 2 +- .../model/IssueTypeScreenSchemeDetails.java | 2 +- .../v2/model/IssueTypeScreenSchemeId.java | 2 +- .../v2/model/IssueTypeScreenSchemeItem.java | 6 +- .../model/IssueTypeScreenSchemeMapping.java | 2 +- .../IssueTypeScreenSchemeMappingDetails.java | 115 ++++ ...sueTypeScreenSchemeProjectAssociation.java | 2 +- .../IssueTypeScreenSchemeUpdateDetails.java | 2 +- .../model/IssueTypeScreenSchemesProjects.java | 4 +- .../v2/model/IssueTypeToContextMapping.java | 153 +++++ .../v2/model/IssueTypeUpdateBean.java | 2 +- .../v2/model/IssueTypeWithStatus.java | 2 +- .../v2/model/IssueTypeWorkflowMapping.java | 2 +- .../v2/model/IssueTypesWorkflowMapping.java | 2 +- .../v2/model/IssueUpdateDetails.java | 2 +- .../v2/model/IssueUpdateMetadata.java | 6 +- .../v2/model/IssuesAndJQLQueries.java | 2 +- .../v2/model/IssuesJqlMetaDataBean.java | 2 +- .../jiracloud/v2/model/IssuesMetaBean.java | 2 +- .../jiracloud/v2/model/IssuesUpdateBean.java | 2 +- .../JQLPersonalDataMigrationRequest.java | 2 +- .../v2/model/JQLQueryWithUnknownUsers.java | 2 +- .../jiracloud/v2/model/JQLReferenceData.java | 2 +- .../jiracloud/v2/model/JexpIssues.java | 2 +- .../jiracloud/v2/model/JexpJqlIssues.java | 2 +- .../v2/model/JiraExpressionAnalysis.java | 2 +- .../v2/model/JiraExpressionComplexity.java | 2 +- .../model/JiraExpressionEvalContextBean.java | 2 +- .../model/JiraExpressionEvalRequestBean.java | 2 +- .../JiraExpressionEvaluationMetaDataBean.java | 2 +- .../v2/model/JiraExpressionForAnalysis.java | 2 +- .../v2/model/JiraExpressionResult.java | 2 +- .../model/JiraExpressionValidationError.java | 4 +- .../v2/model/JiraExpressionsAnalysis.java | 2 +- .../model/JiraExpressionsComplexityBean.java | 10 +- .../JiraExpressionsComplexityValueBean.java | 2 +- .../jiracloud/v2/model/JqlQueriesToParse.java | 2 +- .../jiracloud/v2/model/JqlQuery.java | 2 +- .../v2/model/JqlQueryClauseOperand.java | 12 +- .../v2/model/JqlQueryClauseTimePredicate.java | 2 +- .../jiracloud/v2/model/JqlQueryField.java | 2 +- .../v2/model/JqlQueryFieldEntityProperty.java | 2 +- .../v2/model/JqlQueryOrderByClause.java | 2 +- .../model/JqlQueryOrderByClauseElement.java | 4 +- .../v2/model/JqlQueryUnitaryOperand.java | 7 +- .../jiracloud/v2/model/JsonNode.java | 434 ++++++------ .../jiracloud/v2/model/JsonTypeBean.java | 2 +- .../jiracloud/v2/model/KeywordOperand.java | 2 +- .../jiracloud/v2/model/License.java | 101 +++ .../v2/model/LicensedApplication.java | 149 ++++ .../jiracloud/v2/model/LinkGroup.java | 2 +- .../v2/model/LinkIssueRequestJsonBean.java | 8 +- .../jiracloud/v2/model/LinkedIssue.java | 2 +- .../jiracloud/v2/model/ListOperand.java | 7 +- .../restclient/jiracloud/v2/model/Locale.java | 2 +- .../v2/model/ModelConfiguration.java | 2 +- .../jiracloud/v2/model/MoveFieldBean.java | 2 +- .../jiracloud/v2/model/NestedResponse.java | 2 +- .../jiracloud/v2/model/NewUserDetails.java | 262 +++++++ .../jiracloud/v2/model/Notification.java | 2 +- .../jiracloud/v2/model/NotificationEvent.java | 2 +- .../v2/model/NotificationRecipients.java | 2 +- .../NotificationRecipientsRestrictions.java | 2 +- .../v2/model/NotificationScheme.java | 2 +- .../v2/model/NotificationSchemeEvent.java | 2 +- .../jiracloud/v2/model/OperationMessage.java | 2 +- .../jiracloud/v2/model/Operations.java | 2 +- .../v2/model/OrderOfCustomFieldOptions.java | 2 +- .../jiracloud/v2/model/OrderOfIssueTypes.java | 2 +- .../jiracloud/v2/model/PageBeanChangelog.java | 2 +- .../jiracloud/v2/model/PageBeanComment.java | 2 +- .../PageBeanComponentWithIssueCount.java | 2 +- .../jiracloud/v2/model/PageBeanContext.java | 2 +- ...PageBeanContextForProjectAndIssueType.java | 186 +++++ .../PageBeanContextualConfiguration.java | 186 +++++ .../v2/model/PageBeanCustomFieldContext.java | 186 +++++ ...ageBeanCustomFieldContextDefaultValue.java | 185 +++++ .../PageBeanCustomFieldContextOption.java | 2 +- ...eBeanCustomFieldContextProjectMapping.java | 186 +++++ .../jiracloud/v2/model/PageBeanDashboard.java | 2 +- .../jiracloud/v2/model/PageBeanField.java | 2 +- .../v2/model/PageBeanFieldConfiguration.java | 2 +- ...geBeanFieldConfigurationIssueTypeItem.java | 2 +- .../model/PageBeanFieldConfigurationItem.java | 2 +- .../PageBeanFieldConfigurationScheme.java | 2 +- ...eBeanFieldConfigurationSchemeProjects.java | 2 +- .../v2/model/PageBeanFilterDetails.java | 2 +- .../v2/model/PageBeanGroupDetails.java | 2 +- .../v2/model/PageBeanIssueFieldOption.java | 2 +- .../PageBeanIssueSecurityLevelMember.java | 2 +- .../v2/model/PageBeanIssueTypeScheme.java | 2 +- .../model/PageBeanIssueTypeSchemeMapping.java | 2 +- .../PageBeanIssueTypeSchemeProjects.java | 2 +- .../model/PageBeanIssueTypeScreenScheme.java | 2 +- .../PageBeanIssueTypeScreenSchemeItem.java | 2 +- ...ageBeanIssueTypeScreenSchemesProjects.java | 2 +- .../PageBeanIssueTypeToContextMapping.java | 186 +++++ .../v2/model/PageBeanNotificationScheme.java | 2 +- .../jiracloud/v2/model/PageBeanProject.java | 2 +- .../v2/model/PageBeanProjectDetails.java | 186 +++++ .../jiracloud/v2/model/PageBeanScreen.java | 2 +- .../v2/model/PageBeanScreenScheme.java | 2 +- .../v2/model/PageBeanScreenWithTab.java | 186 +++++ .../jiracloud/v2/model/PageBeanString.java | 2 +- .../jiracloud/v2/model/PageBeanUser.java | 2 +- .../v2/model/PageBeanUserDetails.java | 2 +- .../jiracloud/v2/model/PageBeanUserKey.java | 2 +- .../jiracloud/v2/model/PageBeanVersion.java | 2 +- .../jiracloud/v2/model/PageBeanWebhook.java | 2 +- .../jiracloud/v2/model/PageBeanWorkflow.java | 2 +- .../v2/model/PageBeanWorkflowScheme.java | 2 +- .../PageBeanWorkflowTransitionRules.java | 2 +- .../jiracloud/v2/model/PageOfChangelogs.java | 2 +- .../jiracloud/v2/model/PageOfComments.java | 2 +- .../jiracloud/v2/model/PageOfDashboards.java | 2 +- .../jiracloud/v2/model/PageOfWorklogs.java | 2 +- .../PagedListUserDetailsApplicationUser.java | 2 +- .../v2/model/PaginatedResponseComment.java | 186 +++++ .../jiracloud/v2/model/ParsedJqlQueries.java | 2 +- .../jiracloud/v2/model/ParsedJqlQuery.java | 2 +- .../jiracloud/v2/model/PermissionGrant.java | 10 +- .../jiracloud/v2/model/PermissionGrants.java | 2 +- .../jiracloud/v2/model/PermissionHolder.java | 6 +- .../jiracloud/v2/model/PermissionScheme.java | 6 +- .../jiracloud/v2/model/PermissionSchemes.java | 2 +- .../jiracloud/v2/model/Permissions.java | 2 +- .../v2/model/PermissionsKeysBean.java | 2 +- .../jiracloud/v2/model/PermittedProjects.java | 2 +- .../jiracloud/v2/model/Priority.java | 2 +- .../jiracloud/v2/model/Project.java | 31 +- .../jiracloud/v2/model/ProjectAvatars.java | 2 +- .../jiracloud/v2/model/ProjectCategory.java | 6 +- .../jiracloud/v2/model/ProjectComponent.java | 414 ++++++++++++ .../jiracloud/v2/model/ProjectDetails.java | 244 +++++++ .../v2/model/ProjectEmailAddress.java | 2 +- .../v2/model/ProjectIdentifierBean.java | 2 +- .../v2/model/ProjectIdentifiers.java | 2 +- .../jiracloud/v2/model/ProjectIds.java | 114 ++++ .../jiracloud/v2/model/ProjectInsight.java | 2 +- .../v2/model/ProjectIssueCreateMetadata.java | 2 +- .../v2/model/ProjectIssueSecurityLevels.java | 2 +- .../v2/model/ProjectIssueTypeHierarchy.java | 2 +- .../v2/model/ProjectIssueTypeMapping.java | 130 ++++ .../v2/model/ProjectIssueTypeMappings.java | 115 ++++ .../ProjectIssueTypesHierarchyLevel.java | 6 +- .../v2/model/ProjectLandingPageInfo.java | 198 ++++++ .../v2/model/ProjectPermissions.java | 2 +- .../jiracloud/v2/model/ProjectRole.java | 32 +- .../v2/model/ProjectRoleActorsUpdateBean.java | 2 +- .../v2/model/ProjectRoleDetails.java | 230 +++++++ .../jiracloud/v2/model/ProjectRoleGroup.java | 2 +- .../jiracloud/v2/model/ProjectRoleUser.java | 2 +- .../jiracloud/v2/model/ProjectScopeBean.java | 2 +- .../jiracloud/v2/model/ProjectType.java | 2 +- .../jiracloud/v2/model/PropertyKey.java | 2 +- .../jiracloud/v2/model/PropertyKeys.java | 2 +- .../v2/model/PublishDraftWorkflowScheme.java | 118 ++++ .../v2/model/PublishedWorkflowId.java | 29 +- .../jiracloud/v2/model/RegisteredWebhook.java | 2 +- .../jiracloud/v2/model/RemoteIssueLink.java | 2 +- .../v2/model/RemoteIssueLinkIdentifies.java | 2 +- .../v2/model/RemoteIssueLinkRequest.java | 4 +- .../jiracloud/v2/model/RemoteObject.java | 2 +- .../model/RemoveOptionFromIssuesResult.java | 2 +- .../jiracloud/v2/model/Resolution.java | 2 +- .../v2/model/RestrictedPermission.java | 2 +- .../jiracloud/v2/model/RichText.java | 53 +- .../jiracloud/v2/model/RoleActor.java | 2 +- .../jiracloud/v2/model/RuleConfiguration.java | 52 +- .../restclient/jiracloud/v2/model/Scope.java | 8 +- .../restclient/jiracloud/v2/model/Screen.java | 2 +- .../jiracloud/v2/model/ScreenDetails.java | 2 +- .../jiracloud/v2/model/ScreenID.java | 2 +- .../jiracloud/v2/model/ScreenScheme.java | 30 +- .../v2/model/ScreenSchemeDetails.java | 4 +- .../jiracloud/v2/model/ScreenSchemeId.java | 2 +- .../jiracloud/v2/model/ScreenTypes.java | 2 +- .../jiracloud/v2/model/ScreenWithTab.java | 174 +++++ .../jiracloud/v2/model/ScreenableField.java | 2 +- .../jiracloud/v2/model/ScreenableTab.java | 2 +- .../v2/model/SearchAutoCompleteFilter.java | 140 ++++ .../jiracloud/v2/model/SearchRequestBean.java | 2 +- .../jiracloud/v2/model/SearchResults.java | 2 +- .../jiracloud/v2/model/SecurityLevel.java | 2 +- .../jiracloud/v2/model/SecurityScheme.java | 2 +- .../jiracloud/v2/model/SecuritySchemes.java | 2 +- .../jiracloud/v2/model/ServerInformation.java | 2 +- .../jiracloud/v2/model/SharePermission.java | 38 +- .../v2/model/SharePermissionInputBean.java | 60 +- .../model/SimpleApplicationPropertyBean.java | 2 +- .../v2/model/SimpleErrorCollection.java | 2 +- .../jiracloud/v2/model/SimpleLink.java | 2 +- .../SimpleListWrapperApplicationRole.java | 2 +- .../v2/model/SimpleListWrapperGroupName.java | 2 +- .../restclient/jiracloud/v2/model/Status.java | 2 +- .../jiracloud/v2/model/StatusCategory.java | 2 +- .../jiracloud/v2/model/StatusDetails.java | 2 +- .../jiracloud/v2/model/StatusMapping.java | 153 +++++ .../jiracloud/v2/model/SuggestedIssue.java | 2 +- .../jiracloud/v2/model/SystemAvatars.java | 2 +- .../v2/model/TaskProgressBeanObject.java | 2 +- ...gressBeanRemoveOptionFromIssuesResult.java | 2 +- .../v2/model/TimeTrackingConfiguration.java | 2 +- .../v2/model/TimeTrackingDetails.java | 2 +- .../v2/model/TimeTrackingProvider.java | 2 +- .../jiracloud/v2/model/Transition.java | 2 +- .../jiracloud/v2/model/Transitions.java | 2 +- .../v2/model/UnrestrictedUserEmail.java | 2 +- .../v2/model/UpdateCustomFieldDetails.java | 210 ++++++ .../v2/model/UpdateDefaultScreenScheme.java | 107 +++ .../v2/model/UpdateProjectDetails.java | 395 +++++++++++ .../v2/model/UpdateScreenDetails.java | 2 +- .../v2/model/UpdateScreenSchemeDetails.java | 2 +- .../jiracloud/v2/model/UpdateScreenTypes.java | 2 +- .../v2/model/UpdateUserToGroupBean.java | 6 +- .../v2/model/UpdatedProjectCategory.java | 2 +- .../restclient/jiracloud/v2/model/User.java | 2 +- .../jiracloud/v2/model/UserBean.java | 2 +- .../v2/model/UserBeanAvatarUrls.java | 78 +-- .../jiracloud/v2/model/UserDetails.java | 2 +- .../jiracloud/v2/model/UserKey.java | 2 +- .../jiracloud/v2/model/UserList.java | 2 +- .../jiracloud/v2/model/UserMigrationBean.java | 2 +- .../jiracloud/v2/model/UserPermission.java | 2 +- .../jiracloud/v2/model/UserPickerUser.java | 10 +- .../jiracloud/v2/model/ValueOperand.java | 2 +- .../jiracloud/v2/model/Version.java | 2 +- .../v2/model/VersionIssueCounts.java | 2 +- .../v2/model/VersionIssuesStatus.java | 2 +- .../jiracloud/v2/model/VersionMoveBean.java | 2 +- .../model/VersionUnresolvedIssuesCount.java | 2 +- .../v2/model/VersionUsageInCustomField.java | 2 +- .../jiracloud/v2/model/Visibility.java | 2 +- .../restclient/jiracloud/v2/model/Votes.java | 2 +- .../jiracloud/v2/model/Watchers.java | 2 +- .../jiracloud/v2/model/Webhook.java | 73 +- .../jiracloud/v2/model/WebhookDetails.java | 75 ++- .../v2/model/WebhookRegistrationDetails.java | 6 +- .../v2/model/WebhooksExpirationDate.java | 2 +- .../jiracloud/v2/model/Workflow.java | 31 +- .../v2/model/WorkflowCompoundCondition.java | 195 ++++++ .../jiracloud/v2/model/WorkflowIDs.java | 130 ++++ .../jiracloud/v2/model/WorkflowId.java | 2 +- .../jiracloud/v2/model/WorkflowRules.java | 44 +- .../v2/model/WorkflowRulesSearch.java | 161 +++++ .../v2/model/WorkflowRulesSearchDetails.java | 173 +++++ .../jiracloud/v2/model/WorkflowScheme.java | 2 +- .../v2/model/WorkflowSchemeAssociations.java | 4 +- .../WorkflowSchemeProjectAssociation.java | 6 +- .../v2/model/WorkflowSimpleCondition.java | 153 +++++ .../jiracloud/v2/model/WorkflowStatus.java | 26 +- .../v2/model/WorkflowTransition.java | 2 +- .../v2/model/WorkflowTransitionProperty.java | 2 +- .../v2/model/WorkflowTransitionRule.java | 6 +- .../v2/model/WorkflowTransitionRules.java | 19 +- .../model/WorkflowTransitionRulesDetails.java | 138 ++++ .../model/WorkflowTransitionRulesUpdate.java | 7 +- ...flowTransitionRulesUpdateErrorDetails.java | 9 +- .../WorkflowTransitionRulesUpdateErrors.java | 2 +- .../WorkflowsWithTransitionRulesDetails.java | 115 ++++ .../jiracloud/v2/model/Worklog.java | 2 +- .../v2/model/WorklogIdsRequestBean.java | 2 +- .../jiracloud/v3/api/AppMigrationApi.java | 157 +++++ .../jiracloud/v3/api/AppPropertiesApi.java | 2 +- .../jiracloud/v3/api/ApplicationRolesApi.java | 2 +- .../jiracloud/v3/api/AuditRecordsApi.java | 6 +- .../jiracloud/v3/api/AvatarsApi.java | 4 +- .../jiracloud/v3/api/DashboardsApi.java | 4 +- .../jiracloud/v3/api/DynamicModulesApi.java | 2 +- .../jiracloud/v3/api/FilterSharingApi.java | 2 +- .../jiracloud/v3/api/FiltersApi.java | 2 +- .../v3/api/GroupAndUserPickerApi.java | 2 +- .../jiracloud/v3/api/GroupsApi.java | 28 +- .../v3/api/InstanceInformationApi.java | 78 +++ .../jiracloud/v3/api/IssueAttachmentsApi.java | 4 +- .../v3/api/IssueCommentPropertiesApi.java | 2 +- .../jiracloud/v3/api/IssueCommentsApi.java | 8 +- .../IssueCustomFieldConfigurationAppsApi.java | 138 ++++ .../v3/api/IssueCustomFieldContextsApi.java | 473 ++++++++++++- .../v3/api/IssueCustomFieldOptionsApi.java | 110 ++- .../api/IssueCustomFieldOptionsAppsApi.java | 5 +- .../v3/api/IssueCustomFieldValuesAppsApi.java | 87 +++ .../v3/api/IssueFieldConfigurationsApi.java | 12 +- .../jiracloud/v3/api/IssueFieldsApi.java | 50 +- .../jiracloud/v3/api/IssueLinkTypesApi.java | 2 +- .../jiracloud/v3/api/IssueLinksApi.java | 2 +- .../v3/api/IssueNavigatorSettingsApi.java | 2 +- .../v3/api/IssueNotificationSchemesApi.java | 2 +- .../jiracloud/v3/api/IssuePrioritiesApi.java | 2 +- .../jiracloud/v3/api/IssuePropertiesApi.java | 4 +- .../jiracloud/v3/api/IssueRemoteLinksApi.java | 7 +- .../jiracloud/v3/api/IssueResolutionsApi.java | 2 +- .../jiracloud/v3/api/IssueSearchApi.java | 2 +- .../v3/api/IssueSecurityLevelApi.java | 2 +- .../v3/api/IssueSecuritySchemesApi.java | 2 +- .../v3/api/IssueTypePropertiesApi.java | 2 +- .../jiracloud/v3/api/IssueTypeSchemesApi.java | 2 +- .../v3/api/IssueTypeScreenSchemesApi.java | 151 ++++- .../jiracloud/v3/api/IssueTypesApi.java | 36 +- .../jiracloud/v3/api/IssueVotesApi.java | 2 +- .../jiracloud/v3/api/IssueWatchersApi.java | 4 +- .../v3/api/IssueWorklogPropertiesApi.java | 2 +- .../jiracloud/v3/api/IssueWorklogsApi.java | 6 +- .../jiracloud/v3/api/IssuesApi.java | 54 +- .../jiracloud/v3/api/JiraExpressionsApi.java | 4 +- .../jiracloud/v3/api/JiraSettingsApi.java | 4 +- .../restclient/jiracloud/v3/api/JqlApi.java | 38 +- .../jiracloud/v3/api/LabelsApi.java | 2 +- .../jiracloud/v3/api/MyselfApi.java | 2 +- .../v3/api/PermissionSchemesApi.java | 10 +- .../jiracloud/v3/api/PermissionsApi.java | 4 +- .../jiracloud/v3/api/ProjectAvatarsApi.java | 2 +- .../v3/api/ProjectCategoriesApi.java | 2 +- .../v3/api/ProjectComponentsApi.java | 40 +- .../jiracloud/v3/api/ProjectEmailApi.java | 2 +- .../api/ProjectKeyAndNameValidationApi.java | 2 +- .../v3/api/ProjectPermissionSchemesApi.java | 2 +- .../v3/api/ProjectPropertiesApi.java | 2 +- .../v3/api/ProjectRoleActorsApi.java | 2 +- .../jiracloud/v3/api/ProjectRolesApi.java | 9 +- .../jiracloud/v3/api/ProjectTypesApi.java | 2 +- .../jiracloud/v3/api/ProjectVersionsApi.java | 2 +- .../jiracloud/v3/api/ProjectsApi.java | 85 ++- .../jiracloud/v3/api/ScreenSchemesApi.java | 2 +- .../jiracloud/v3/api/ScreenTabFieldsApi.java | 2 +- .../jiracloud/v3/api/ScreenTabsApi.java | 2 +- .../jiracloud/v3/api/ScreensApi.java | 15 +- .../jiracloud/v3/api/ServerInfoApi.java | 2 +- .../restclient/jiracloud/v3/api/TasksApi.java | 2 +- .../jiracloud/v3/api/TimeTrackingApi.java | 2 +- .../jiracloud/v3/api/UserPropertiesApi.java | 2 +- .../jiracloud/v3/api/UserSearchApi.java | 12 +- .../restclient/jiracloud/v3/api/UsersApi.java | 23 +- .../jiracloud/v3/api/WebhooksApi.java | 12 +- .../v3/api/WorkflowSchemeDraftsApi.java | 39 +- .../WorkflowSchemeProjectAssociationsApi.java | 8 +- .../jiracloud/v3/api/WorkflowSchemesApi.java | 2 +- .../v3/api/WorkflowStatusCategoriesApi.java | 2 +- .../jiracloud/v3/api/WorkflowStatusesApi.java | 2 +- .../api/WorkflowTransitionPropertiesApi.java | 6 +- .../v3/api/WorkflowTransitionRulesApi.java | 50 +- .../jiracloud/v3/api/WorkflowsApi.java | 67 +- .../jiracloud/v3/model/ActorInputBean.java | 2 +- .../jiracloud/v3/model/ActorsMap.java | 2 +- .../jiracloud/v3/model/AddFieldBean.java | 2 +- .../jiracloud/v3/model/AddGroupBean.java | 2 +- .../jiracloud/v3/model/Application.java | 2 +- .../v3/model/ApplicationProperty.java | 2 +- .../jiracloud/v3/model/ApplicationRole.java | 2 +- .../v3/model/AssociatedItemBean.java | 2 +- .../jiracloud/v3/model/Attachment.java | 2 +- .../jiracloud/v3/model/AttachmentArchive.java | 186 +++++ .../v3/model/AttachmentArchiveEntry.java | 2 +- .../v3/model/AttachmentArchiveImpl.java | 2 +- .../model/AttachmentArchiveItemReadable.java | 2 +- .../AttachmentArchiveMetadataReadable.java | 2 +- .../v3/model/AttachmentMetadata.java | 2 +- .../v3/model/AttachmentSettings.java | 2 +- .../jiracloud/v3/model/AuditRecordBean.java | 2 +- .../jiracloud/v3/model/AuditRecords.java | 2 +- .../v3/model/AutoCompleteSuggestion.java | 2 +- .../v3/model/AutoCompleteSuggestions.java | 2 +- .../restclient/jiracloud/v3/model/Avatar.java | 2 +- .../jiracloud/v3/model/AvatarUrlsBean.java | 2 +- .../jiracloud/v3/model/Avatars.java | 2 +- .../BulkCustomFieldOptionCreateRequest.java | 118 ++++ .../BulkCustomFieldOptionUpdateRequest.java | 118 ++++ .../model/BulkIssuePropertyUpdateRequest.java | 31 +- .../v3/model/BulkOperationErrorResult.java | 2 +- .../v3/model/BulkPermissionGrants.java | 2 +- .../v3/model/BulkPermissionsRequestBean.java | 2 +- .../v3/model/BulkProjectPermissionGrants.java | 2 +- .../v3/model/BulkProjectPermissions.java | 2 +- .../jiracloud/v3/model/ChangeDetails.java | 2 +- .../jiracloud/v3/model/ChangedValueBean.java | 2 +- .../jiracloud/v3/model/ChangedWorklog.java | 2 +- .../jiracloud/v3/model/ChangedWorklogs.java | 2 +- .../jiracloud/v3/model/Changelog.java | 2 +- .../jiracloud/v3/model/ColumnItem.java | 2 +- .../jiracloud/v3/model/Comment.java | 2 +- .../v3/model/ComponentIssuesCount.java | 2 +- .../v3/model/ComponentWithIssueCount.java | 188 +++--- .../jiracloud/v3/model/CompoundClause.java | 2 +- .../v3/model/ConnectCustomFieldValue.java | 312 +++++++++ .../v3/model/ConnectCustomFieldValues.java | 118 ++++ .../jiracloud/v3/model/ConnectModules.java | 2 +- .../model/ConnectWorkflowTransitionRule.java | 4 +- .../model/ContainerForRegisteredWebhooks.java | 2 +- .../v3/model/ContainerForWebhookIDs.java | 2 +- ...ContainerOfWorkflowSchemeAssociations.java | 2 +- .../jiracloud/v3/model/Context.java | 2 +- .../model/ContextForProjectAndIssueType.java | 153 +++++ .../v3/model/ContextualConfiguration.java | 153 +++++ .../v3/model/ConvertedJQLQueries.java | 2 +- .../v3/model/CreateCustomFieldContext.java | 208 ++++++ .../v3/model/CreateProjectDetails.java | 637 ++++++++++++++++++ .../v3/model/CreateUpdateRoleRequestBean.java | 2 +- .../v3/model/CreateWorkflowCondition.java | 231 +++++++ .../v3/model/CreateWorkflowDetails.java | 190 ++++++ .../v3/model/CreateWorkflowStatusDetails.java | 107 +++ .../CreateWorkflowTransitionDetails.java | 270 ++++++++ .../model/CreateWorkflowTransitionRule.java | 141 ++++ .../CreateWorkflowTransitionRulesDetails.java | 173 +++++ .../jiracloud/v3/model/CreatedIssue.java | 2 +- .../jiracloud/v3/model/CreatedIssues.java | 2 +- .../v3/model/CustomFieldConfigurations.java | 115 ++++ .../v3/model/CustomFieldContext.java | 199 ++++++ ...eldContextDefaultValueCascadingOption.java | 176 +++++ ...ieldContextDefaultValueMultipleOption.java | 160 +++++ ...mFieldContextDefaultValueSingleOption.java | 153 +++++ .../CustomFieldContextDefaultValueUpdate.java | 117 ++++ .../v3/model/CustomFieldContextOption.java | 2 +- .../CustomFieldContextProjectMapping.java | 126 ++++ .../CustomFieldContextUpdateDetails.java | 130 ++++ .../CustomFieldCreatedContextOptionsList.java | 118 ++++ .../model/CustomFieldDefinitionJsonBean.java | 93 +-- .../jiracloud/v3/model/CustomFieldOption.java | 2 +- .../v3/model/CustomFieldOptionCreate.java | 153 +++++ .../v3/model/CustomFieldOptionUpdate.java | 153 +++++ .../v3/model/CustomFieldReplacement.java | 2 +- .../CustomFieldUpdatedContextOptionsList.java | 118 ++++ .../v3/model/CustomFieldValueUpdate.java | 137 ++++ .../model/CustomFieldValueUpdateRequest.java | 118 ++++ .../jiracloud/v3/model/Dashboard.java | 38 +- .../jiracloud/v3/model/DashboardDetails.java | 38 +- .../jiracloud/v3/model/DefaultShareScope.java | 2 +- .../jiracloud/v3/model/DefaultWorkflow.java | 2 +- .../v3/model/DeleteAndReplaceVersionBean.java | 2 +- .../v3/model/DeprecatedWorkflow.java | 2 +- .../jiracloud/v3/model/EntityProperty.java | 2 +- .../v3/model/EntityPropertyDetails.java | 153 +++++ .../jiracloud/v3/model/ErrorCollection.java | 2 +- .../jiracloud/v3/model/ErrorMessage.java | 2 +- .../jiracloud/v3/model/EventNotification.java | 2 +- .../jiracloud/v3/model/FailedWebhook.java | 2 +- .../jiracloud/v3/model/FailedWebhooks.java | 2 +- .../restclient/jiracloud/v3/model/Field.java | 29 +- .../v3/model/FieldChangedClause.java | 2 +- .../v3/model/FieldConfiguration.java | 2 +- .../FieldConfigurationIssueTypeItem.java | 2 +- .../v3/model/FieldConfigurationItem.java | 2 +- .../v3/model/FieldConfigurationScheme.java | 2 +- ...ConfigurationSchemeProjectAssociation.java | 2 +- .../FieldConfigurationSchemeProjects.java | 2 +- .../jiracloud/v3/model/FieldDetails.java | 2 +- .../jiracloud/v3/model/FieldLastUsed.java | 2 +- .../jiracloud/v3/model/FieldMetadata.java | 4 +- .../v3/model/FieldReferenceData.java | 6 +- .../v3/model/FieldUpdateOperation.java | 5 +- .../jiracloud/v3/model/FieldValueClause.java | 2 +- .../jiracloud/v3/model/FieldWasClause.java | 2 +- .../restclient/jiracloud/v3/model/Fields.java | 2 +- .../restclient/jiracloud/v3/model/Filter.java | 2 +- .../jiracloud/v3/model/FilterDetails.java | 2 +- .../v3/model/FilterSubscription.java | 2 +- .../v3/model/FilterSubscriptionsList.java | 2 +- .../jiracloud/v3/model/FoundGroup.java | 2 +- .../jiracloud/v3/model/FoundGroups.java | 2 +- .../jiracloud/v3/model/FoundUsers.java | 2 +- .../v3/model/FoundUsersAndGroups.java | 2 +- .../jiracloud/v3/model/FunctionOperand.java | 7 +- .../v3/model/FunctionReferenceData.java | 2 +- .../jiracloud/v3/model/GlobalScopeBean.java | 2 +- .../restclient/jiracloud/v3/model/Group.java | 2 +- .../jiracloud/v3/model/GroupDetails.java | 2 +- .../jiracloud/v3/model/GroupLabel.java | 2 +- .../jiracloud/v3/model/GroupName.java | 2 +- .../jiracloud/v3/model/HealthCheckResult.java | 2 +- .../jiracloud/v3/model/Hierarchy.java | 54 +- .../jiracloud/v3/model/HierarchyLevel.java | 117 +++- .../jiracloud/v3/model/HistoryMetadata.java | 2 +- .../v3/model/HistoryMetadataParticipant.java | 2 +- .../restclient/jiracloud/v3/model/Icon.java | 2 +- .../jiracloud/v3/model/IconBean.java | 2 +- .../restclient/jiracloud/v3/model/IdBean.java | 2 +- .../jiracloud/v3/model/IdOrKeyBean.java | 2 +- .../jiracloud/v3/model/IncludedFields.java | 68 +- .../jiracloud/v3/model/IssueBean.java | 5 +- .../jiracloud/v3/model/IssueChangelogIds.java | 114 ++++ .../v3/model/IssueCommentListRequestBean.java | 2 +- .../v3/model/IssueCreateMetadata.java | 2 +- .../v3/model/IssueEntityProperties.java | 2 +- .../jiracloud/v3/model/IssueFieldOption.java | 2 +- .../model/IssueFieldOptionConfiguration.java | 2 +- .../v3/model/IssueFieldOptionCreateBean.java | 2 +- .../v3/model/IssueFieldOptionScopeBean.java | 2 +- .../IssueFilterForBulkPropertyDelete.java | 2 +- .../model/IssueFilterForBulkPropertySet.java | 2 +- .../jiracloud/v3/model/IssueLink.java | 8 +- .../jiracloud/v3/model/IssueLinkType.java | 2 +- .../jiracloud/v3/model/IssueLinkTypes.java | 2 +- .../jiracloud/v3/model/IssueMatches.java | 2 +- .../v3/model/IssueMatchesForJQL.java | 2 +- .../v3/model/IssuePickerSuggestions.java | 2 +- .../IssuePickerSuggestionsIssueType.java | 2 +- .../v3/model/IssueSecurityLevelMember.java | 6 +- .../jiracloud/v3/model/IssueTransition.java | 27 +- .../v3/model/IssueTypeCreateBean.java | 35 +- .../jiracloud/v3/model/IssueTypeDetails.java | 18 +- .../jiracloud/v3/model/IssueTypeIDs.java | 14 +- .../jiracloud/v3/model/IssueTypeInfo.java | 2 +- .../model/IssueTypeIssueCreateMetadata.java | 18 +- .../jiracloud/v3/model/IssueTypeScheme.java | 2 +- .../v3/model/IssueTypeSchemeDetails.java | 2 +- .../jiracloud/v3/model/IssueTypeSchemeID.java | 2 +- .../v3/model/IssueTypeSchemeMapping.java | 2 +- .../IssueTypeSchemeProjectAssociation.java | 2 +- .../v3/model/IssueTypeSchemeProjects.java | 4 +- .../model/IssueTypeSchemeUpdateDetails.java | 2 +- .../v3/model/IssueTypeScreenScheme.java | 2 +- .../model/IssueTypeScreenSchemeDetails.java | 2 +- .../v3/model/IssueTypeScreenSchemeId.java | 2 +- .../v3/model/IssueTypeScreenSchemeItem.java | 6 +- .../model/IssueTypeScreenSchemeMapping.java | 2 +- .../IssueTypeScreenSchemeMappingDetails.java | 115 ++++ ...sueTypeScreenSchemeProjectAssociation.java | 2 +- .../IssueTypeScreenSchemeUpdateDetails.java | 2 +- .../model/IssueTypeScreenSchemesProjects.java | 4 +- .../v3/model/IssueTypeToContextMapping.java | 153 +++++ .../v3/model/IssueTypeUpdateBean.java | 2 +- .../v3/model/IssueTypeWithStatus.java | 2 +- .../v3/model/IssueTypeWorkflowMapping.java | 2 +- .../v3/model/IssueTypesWorkflowMapping.java | 2 +- .../v3/model/IssueUpdateDetails.java | 2 +- .../v3/model/IssueUpdateMetadata.java | 6 +- .../v3/model/IssuesAndJQLQueries.java | 2 +- .../v3/model/IssuesJqlMetaDataBean.java | 2 +- .../jiracloud/v3/model/IssuesMetaBean.java | 2 +- .../jiracloud/v3/model/IssuesUpdateBean.java | 2 +- .../JQLPersonalDataMigrationRequest.java | 2 +- .../v3/model/JQLQueryWithUnknownUsers.java | 2 +- .../jiracloud/v3/model/JQLReferenceData.java | 2 +- .../jiracloud/v3/model/JexpIssues.java | 2 +- .../jiracloud/v3/model/JexpJqlIssues.java | 2 +- .../v3/model/JiraExpressionAnalysis.java | 2 +- .../v3/model/JiraExpressionComplexity.java | 2 +- .../model/JiraExpressionEvalContextBean.java | 2 +- .../model/JiraExpressionEvalRequestBean.java | 2 +- .../JiraExpressionEvaluationMetaDataBean.java | 2 +- .../v3/model/JiraExpressionForAnalysis.java | 2 +- .../v3/model/JiraExpressionResult.java | 2 +- .../model/JiraExpressionValidationError.java | 4 +- .../v3/model/JiraExpressionsAnalysis.java | 2 +- .../model/JiraExpressionsComplexityBean.java | 10 +- .../JiraExpressionsComplexityValueBean.java | 2 +- .../jiracloud/v3/model/JqlQueriesToParse.java | 2 +- .../jiracloud/v3/model/JqlQuery.java | 2 +- .../v3/model/JqlQueryClauseOperand.java | 12 +- .../v3/model/JqlQueryClauseTimePredicate.java | 2 +- .../jiracloud/v3/model/JqlQueryField.java | 2 +- .../v3/model/JqlQueryFieldEntityProperty.java | 2 +- .../v3/model/JqlQueryOrderByClause.java | 2 +- .../model/JqlQueryOrderByClauseElement.java | 4 +- .../v3/model/JqlQueryUnitaryOperand.java | 7 +- .../jiracloud/v3/model/JsonNode.java | 456 ++++++------- .../jiracloud/v3/model/JsonTypeBean.java | 2 +- .../jiracloud/v3/model/KeywordOperand.java | 2 +- .../jiracloud/v3/model/License.java | 101 +++ .../v3/model/LicensedApplication.java | 149 ++++ .../jiracloud/v3/model/LinkGroup.java | 2 +- .../v3/model/LinkIssueRequestJsonBean.java | 8 +- .../jiracloud/v3/model/LinkedIssue.java | 2 +- .../jiracloud/v3/model/ListOperand.java | 7 +- .../restclient/jiracloud/v3/model/Locale.java | 2 +- .../v3/model/ModelConfiguration.java | 2 +- .../jiracloud/v3/model/MoveFieldBean.java | 2 +- .../jiracloud/v3/model/NestedResponse.java | 2 +- .../jiracloud/v3/model/NewUserDetails.java | 262 +++++++ .../jiracloud/v3/model/Notification.java | 2 +- .../jiracloud/v3/model/NotificationEvent.java | 2 +- .../v3/model/NotificationRecipients.java | 2 +- .../NotificationRecipientsRestrictions.java | 2 +- .../v3/model/NotificationScheme.java | 2 +- .../v3/model/NotificationSchemeEvent.java | 2 +- .../jiracloud/v3/model/OperationMessage.java | 2 +- .../jiracloud/v3/model/Operations.java | 2 +- .../v3/model/OrderOfCustomFieldOptions.java | 2 +- .../jiracloud/v3/model/OrderOfIssueTypes.java | 2 +- .../jiracloud/v3/model/PageBeanChangelog.java | 2 +- .../jiracloud/v3/model/PageBeanComment.java | 2 +- .../PageBeanComponentWithIssueCount.java | 2 +- .../jiracloud/v3/model/PageBeanContext.java | 2 +- ...PageBeanContextForProjectAndIssueType.java | 186 +++++ .../PageBeanContextualConfiguration.java | 186 +++++ .../v3/model/PageBeanCustomFieldContext.java | 186 +++++ ...ageBeanCustomFieldContextDefaultValue.java | 185 +++++ .../PageBeanCustomFieldContextOption.java | 2 +- ...eBeanCustomFieldContextProjectMapping.java | 186 +++++ .../jiracloud/v3/model/PageBeanDashboard.java | 2 +- .../jiracloud/v3/model/PageBeanField.java | 2 +- .../v3/model/PageBeanFieldConfiguration.java | 2 +- ...geBeanFieldConfigurationIssueTypeItem.java | 2 +- .../model/PageBeanFieldConfigurationItem.java | 2 +- .../PageBeanFieldConfigurationScheme.java | 2 +- ...eBeanFieldConfigurationSchemeProjects.java | 2 +- .../v3/model/PageBeanFilterDetails.java | 2 +- .../v3/model/PageBeanGroupDetails.java | 2 +- .../v3/model/PageBeanIssueFieldOption.java | 2 +- .../PageBeanIssueSecurityLevelMember.java | 2 +- .../v3/model/PageBeanIssueTypeScheme.java | 2 +- .../model/PageBeanIssueTypeSchemeMapping.java | 2 +- .../PageBeanIssueTypeSchemeProjects.java | 2 +- .../model/PageBeanIssueTypeScreenScheme.java | 2 +- .../PageBeanIssueTypeScreenSchemeItem.java | 2 +- ...ageBeanIssueTypeScreenSchemesProjects.java | 2 +- .../PageBeanIssueTypeToContextMapping.java | 186 +++++ .../v3/model/PageBeanNotificationScheme.java | 2 +- .../jiracloud/v3/model/PageBeanProject.java | 2 +- .../v3/model/PageBeanProjectDetails.java | 186 +++++ .../jiracloud/v3/model/PageBeanScreen.java | 2 +- .../v3/model/PageBeanScreenScheme.java | 2 +- .../v3/model/PageBeanScreenWithTab.java | 186 +++++ .../jiracloud/v3/model/PageBeanString.java | 2 +- .../jiracloud/v3/model/PageBeanUser.java | 2 +- .../v3/model/PageBeanUserDetails.java | 2 +- .../jiracloud/v3/model/PageBeanUserKey.java | 2 +- .../jiracloud/v3/model/PageBeanVersion.java | 2 +- .../jiracloud/v3/model/PageBeanWebhook.java | 2 +- .../jiracloud/v3/model/PageBeanWorkflow.java | 2 +- .../v3/model/PageBeanWorkflowScheme.java | 2 +- .../PageBeanWorkflowTransitionRules.java | 2 +- .../jiracloud/v3/model/PageOfChangelogs.java | 2 +- .../jiracloud/v3/model/PageOfComments.java | 2 +- .../jiracloud/v3/model/PageOfDashboards.java | 2 +- .../jiracloud/v3/model/PageOfWorklogs.java | 2 +- .../PagedListUserDetailsApplicationUser.java | 2 +- .../v3/model/PaginatedResponseComment.java | 186 +++++ .../jiracloud/v3/model/ParsedJqlQueries.java | 2 +- .../jiracloud/v3/model/ParsedJqlQuery.java | 2 +- .../jiracloud/v3/model/PermissionGrant.java | 10 +- .../jiracloud/v3/model/PermissionGrants.java | 2 +- .../jiracloud/v3/model/PermissionHolder.java | 6 +- .../jiracloud/v3/model/PermissionScheme.java | 6 +- .../jiracloud/v3/model/PermissionSchemes.java | 2 +- .../jiracloud/v3/model/Permissions.java | 2 +- .../v3/model/PermissionsKeysBean.java | 2 +- .../jiracloud/v3/model/PermittedProjects.java | 2 +- .../jiracloud/v3/model/Priority.java | 2 +- .../jiracloud/v3/model/Project.java | 31 +- .../jiracloud/v3/model/ProjectAvatars.java | 2 +- .../jiracloud/v3/model/ProjectCategory.java | 6 +- .../jiracloud/v3/model/ProjectComponent.java | 414 ++++++++++++ .../jiracloud/v3/model/ProjectDetails.java | 244 +++++++ .../v3/model/ProjectEmailAddress.java | 2 +- .../v3/model/ProjectIdentifierBean.java | 2 +- .../v3/model/ProjectIdentifiers.java | 2 +- .../jiracloud/v3/model/ProjectIds.java | 114 ++++ .../jiracloud/v3/model/ProjectInsight.java | 2 +- .../v3/model/ProjectIssueCreateMetadata.java | 2 +- .../v3/model/ProjectIssueSecurityLevels.java | 2 +- .../v3/model/ProjectIssueTypeHierarchy.java | 2 +- .../v3/model/ProjectIssueTypeMapping.java | 130 ++++ .../v3/model/ProjectIssueTypeMappings.java | 115 ++++ .../ProjectIssueTypesHierarchyLevel.java | 6 +- .../v3/model/ProjectLandingPageInfo.java | 198 ++++++ .../v3/model/ProjectPermissions.java | 2 +- .../jiracloud/v3/model/ProjectRole.java | 32 +- .../v3/model/ProjectRoleActorsUpdateBean.java | 2 +- .../v3/model/ProjectRoleDetails.java | 230 +++++++ .../jiracloud/v3/model/ProjectRoleGroup.java | 2 +- .../jiracloud/v3/model/ProjectRoleUser.java | 2 +- .../jiracloud/v3/model/ProjectScopeBean.java | 2 +- .../jiracloud/v3/model/ProjectType.java | 2 +- .../jiracloud/v3/model/PropertyKey.java | 2 +- .../jiracloud/v3/model/PropertyKeys.java | 2 +- .../v3/model/PublishDraftWorkflowScheme.java | 118 ++++ .../v3/model/PublishedWorkflowId.java | 29 +- .../jiracloud/v3/model/RegisteredWebhook.java | 2 +- .../jiracloud/v3/model/RemoteIssueLink.java | 2 +- .../v3/model/RemoteIssueLinkIdentifies.java | 2 +- .../v3/model/RemoteIssueLinkRequest.java | 4 +- .../jiracloud/v3/model/RemoteObject.java | 2 +- .../model/RemoveOptionFromIssuesResult.java | 2 +- .../jiracloud/v3/model/Resolution.java | 2 +- .../v3/model/RestrictedPermission.java | 2 +- .../jiracloud/v3/model/RichText.java | 27 +- .../jiracloud/v3/model/RoleActor.java | 2 +- .../jiracloud/v3/model/RuleConfiguration.java | 52 +- .../restclient/jiracloud/v3/model/Scope.java | 8 +- .../restclient/jiracloud/v3/model/Screen.java | 2 +- .../jiracloud/v3/model/ScreenDetails.java | 2 +- .../jiracloud/v3/model/ScreenID.java | 2 +- .../jiracloud/v3/model/ScreenScheme.java | 30 +- .../v3/model/ScreenSchemeDetails.java | 4 +- .../jiracloud/v3/model/ScreenSchemeId.java | 2 +- .../jiracloud/v3/model/ScreenTypes.java | 2 +- .../jiracloud/v3/model/ScreenWithTab.java | 174 +++++ .../jiracloud/v3/model/ScreenableField.java | 2 +- .../jiracloud/v3/model/ScreenableTab.java | 2 +- .../v3/model/SearchAutoCompleteFilter.java | 140 ++++ .../jiracloud/v3/model/SearchRequestBean.java | 2 +- .../jiracloud/v3/model/SearchResults.java | 2 +- .../jiracloud/v3/model/SecurityLevel.java | 2 +- .../jiracloud/v3/model/SecurityScheme.java | 2 +- .../jiracloud/v3/model/SecuritySchemes.java | 2 +- .../jiracloud/v3/model/ServerInformation.java | 2 +- .../jiracloud/v3/model/SharePermission.java | 38 +- .../v3/model/SharePermissionInputBean.java | 60 +- .../model/SimpleApplicationPropertyBean.java | 2 +- .../v3/model/SimpleErrorCollection.java | 2 +- .../jiracloud/v3/model/SimpleLink.java | 2 +- .../SimpleListWrapperApplicationRole.java | 2 +- .../v3/model/SimpleListWrapperGroupName.java | 2 +- .../restclient/jiracloud/v3/model/Status.java | 2 +- .../jiracloud/v3/model/StatusCategory.java | 2 +- .../jiracloud/v3/model/StatusDetails.java | 2 +- .../jiracloud/v3/model/StatusMapping.java | 153 +++++ .../jiracloud/v3/model/SuggestedIssue.java | 2 +- .../jiracloud/v3/model/SystemAvatars.java | 2 +- .../v3/model/TaskProgressBeanObject.java | 2 +- ...gressBeanRemoveOptionFromIssuesResult.java | 2 +- .../v3/model/TimeTrackingConfiguration.java | 2 +- .../v3/model/TimeTrackingDetails.java | 2 +- .../v3/model/TimeTrackingProvider.java | 2 +- .../jiracloud/v3/model/Transition.java | 2 +- .../jiracloud/v3/model/Transitions.java | 2 +- .../v3/model/UnrestrictedUserEmail.java | 2 +- .../v3/model/UpdateCustomFieldDetails.java | 210 ++++++ .../v3/model/UpdateDefaultScreenScheme.java | 107 +++ .../v3/model/UpdateProjectDetails.java | 395 +++++++++++ .../v3/model/UpdateScreenDetails.java | 2 +- .../v3/model/UpdateScreenSchemeDetails.java | 2 +- .../jiracloud/v3/model/UpdateScreenTypes.java | 2 +- .../v3/model/UpdateUserToGroupBean.java | 6 +- .../v3/model/UpdatedProjectCategory.java | 2 +- .../restclient/jiracloud/v3/model/User.java | 2 +- .../jiracloud/v3/model/UserBean.java | 2 +- .../v3/model/UserBeanAvatarUrls.java | 52 +- .../jiracloud/v3/model/UserDetails.java | 2 +- .../jiracloud/v3/model/UserKey.java | 2 +- .../jiracloud/v3/model/UserList.java | 2 +- .../jiracloud/v3/model/UserMigrationBean.java | 2 +- .../jiracloud/v3/model/UserPermission.java | 2 +- .../jiracloud/v3/model/UserPickerUser.java | 10 +- .../jiracloud/v3/model/ValueOperand.java | 2 +- .../jiracloud/v3/model/Version.java | 2 +- .../v3/model/VersionIssueCounts.java | 2 +- .../v3/model/VersionIssuesStatus.java | 2 +- .../jiracloud/v3/model/VersionMoveBean.java | 2 +- .../model/VersionUnresolvedIssuesCount.java | 2 +- .../v3/model/VersionUsageInCustomField.java | 2 +- .../jiracloud/v3/model/Visibility.java | 2 +- .../restclient/jiracloud/v3/model/Votes.java | 2 +- .../jiracloud/v3/model/Watchers.java | 2 +- .../jiracloud/v3/model/Webhook.java | 73 +- .../jiracloud/v3/model/WebhookDetails.java | 75 ++- .../v3/model/WebhookRegistrationDetails.java | 6 +- .../v3/model/WebhooksExpirationDate.java | 2 +- .../jiracloud/v3/model/Workflow.java | 31 +- .../v3/model/WorkflowCompoundCondition.java | 195 ++++++ .../jiracloud/v3/model/WorkflowIDs.java | 130 ++++ .../jiracloud/v3/model/WorkflowId.java | 2 +- .../jiracloud/v3/model/WorkflowRules.java | 44 +- .../v3/model/WorkflowRulesSearch.java | 161 +++++ .../v3/model/WorkflowRulesSearchDetails.java | 173 +++++ .../jiracloud/v3/model/WorkflowScheme.java | 2 +- .../v3/model/WorkflowSchemeAssociations.java | 4 +- .../WorkflowSchemeProjectAssociation.java | 6 +- .../v3/model/WorkflowSimpleCondition.java | 153 +++++ .../jiracloud/v3/model/WorkflowStatus.java | 26 +- .../v3/model/WorkflowTransition.java | 2 +- .../v3/model/WorkflowTransitionProperty.java | 2 +- .../v3/model/WorkflowTransitionRule.java | 6 +- .../v3/model/WorkflowTransitionRules.java | 19 +- .../model/WorkflowTransitionRulesDetails.java | 138 ++++ .../model/WorkflowTransitionRulesUpdate.java | 7 +- ...flowTransitionRulesUpdateErrorDetails.java | 9 +- .../WorkflowTransitionRulesUpdateErrors.java | 2 +- .../WorkflowsWithTransitionRulesDetails.java | 115 ++++ .../jiracloud/v3/model/Worklog.java | 2 +- .../v3/model/WorklogIdsRequestBean.java | 2 +- .../META-INF/jira-cloud-v2.openapi.json | 2 +- .../META-INF/jira-cloud-v3.openapi.json | 2 +- 1022 files changed, 29810 insertions(+), 2660 deletions(-) create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AppMigrationApi.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/InstanceInformationApi.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldConfigurationAppsApi.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldValuesAppsApi.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchive.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkCustomFieldOptionCreateRequest.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkCustomFieldOptionUpdateRequest.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectCustomFieldValue.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectCustomFieldValues.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContextForProjectAndIssueType.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContextualConfiguration.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateCustomFieldContext.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateProjectDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowCondition.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowStatusDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionRule.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionRulesDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldConfigurations.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContext.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueCascadingOption.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueMultipleOption.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueSingleOption.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueUpdate.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextProjectMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextUpdateDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldCreatedContextOptionsList.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOptionCreate.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOptionUpdate.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldUpdatedContextOptionsList.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldValueUpdate.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldValueUpdateRequest.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EntityPropertyDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueChangelogIds.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeMappingDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeToContextMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/License.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LicensedApplication.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NewUserDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContextForProjectAndIssueType.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContextualConfiguration.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContext.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextDefaultValue.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextProjectMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeToContextMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanProjectDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreenWithTab.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PaginatedResponseComment.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectComponent.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIds.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeMappings.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectLandingPageInfo.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PublishDraftWorkflowScheme.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenWithTab.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchAutoCompleteFilter.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateCustomFieldDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateDefaultScreenScheme.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateProjectDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowCompoundCondition.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowIDs.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRulesSearch.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRulesSearchDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSimpleCondition.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowsWithTransitionRulesDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AppMigrationApi.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/InstanceInformationApi.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldConfigurationAppsApi.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldValuesAppsApi.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchive.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkCustomFieldOptionCreateRequest.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkCustomFieldOptionUpdateRequest.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectCustomFieldValue.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectCustomFieldValues.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContextForProjectAndIssueType.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContextualConfiguration.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateCustomFieldContext.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateProjectDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowCondition.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowStatusDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionRule.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionRulesDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldConfigurations.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContext.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueCascadingOption.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueMultipleOption.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueSingleOption.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueUpdate.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextProjectMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextUpdateDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldCreatedContextOptionsList.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOptionCreate.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOptionUpdate.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldUpdatedContextOptionsList.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldValueUpdate.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldValueUpdateRequest.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EntityPropertyDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueChangelogIds.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeMappingDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeToContextMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/License.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LicensedApplication.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NewUserDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContextForProjectAndIssueType.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContextualConfiguration.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContext.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextDefaultValue.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextProjectMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeToContextMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanProjectDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreenWithTab.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PaginatedResponseComment.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectComponent.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIds.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeMappings.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectLandingPageInfo.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PublishDraftWorkflowScheme.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenWithTab.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchAutoCompleteFilter.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusMapping.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateCustomFieldDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateDefaultScreenScheme.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateProjectDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowCompoundCondition.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowIDs.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRulesSearch.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRulesSearchDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSimpleCondition.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesDetails.java create mode 100644 src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowsWithTransitionRulesDetails.java diff --git a/pom.xml b/pom.xml index afa64c0..dd57be3 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ org.everit.atlassian org.everit.atlassian.restclient.jiracloud - 3.0.3-202010281413 + 4.0.0-202109031402 bundle @@ -86,8 +86,10 @@ * - org.everit.atlassian.restclient.jiracloud.v2.*;version="3.0.0", - org.everit.atlassian.restclient.jiracloud.v3.*;version="3.0.0", + org.everit.atlassian.restclient.jiracloud.v2.model;version="4.0.0", + org.everit.atlassian.restclient.jiracloud.v2.api;version="4.0.0", + org.everit.atlassian.restclient.jiracloud.v3.model;version="4.0.0", + org.everit.atlassian.restclient.jiracloud.v3.api;version="4.0.0", org.everit.atlassian.restclient.jiracloud.util;version="1.0.1" diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AppMigrationApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AppMigrationApi.java new file mode 100644 index 0000000..0f8368b --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AppMigrationApi.java @@ -0,0 +1,157 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.everit.atlassian.restclient.jiracloud.v2.api; + +import java.util.Optional; + +import io.reactivex.Single; +import io.reactivex.Completable; + +import org.everit.http.client.HttpMethod; + +import org.everit.http.restclient.RestClient; +import org.everit.http.restclient.RestClientUtil; +import org.everit.http.restclient.RestRequest; +import org.everit.http.restclient.RestRequestEnhancer; +import org.everit.http.restclient.TypeReference; + +import org.everit.atlassian.restclient.jiracloud.v2.model.ConnectCustomFieldValues; +import org.everit.atlassian.restclient.jiracloud.v2.model.EntityPropertyDetails; +import java.util.UUID; +import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowRulesSearch; +import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowRulesSearchDetails; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AppMigrationApi { + + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_appIssueFieldValueUpdateResourceUpdateIssueFieldsPut = new TypeReference() {}; + + private static final TypeReference returnType_migrationResourceWorkflowRuleSearchPost = new TypeReference() {}; + + private final RestClient restClient; + + public AppMigrationApi(RestClient restClient) { + this.restClient = restClient; + } + + /** + * Bulk update custom field value + * Updates the value of a custom field added by Connect apps on one or more issues. The values of up to 200 custom fields can be updated. **[Permissions](#permissions) required:** Only Connect apps can make this request. + * @param atlassianTransferId The ID of the transfer. (required) + * @param atlassianAccountId The Atlassian account ID of the impersonated user. This user must be a member of the site admin group. (required) + * @param connectCustomFieldValues (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single appIssueFieldValueUpdateResourceUpdateIssueFieldsPut( + String atlassianTransferId, String atlassianAccountId, ConnectCustomFieldValues connectCustomFieldValues, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/atlassian-connect/1/migration/field"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + headers.put("Atlassian-Transfer-Id", atlassianTransferId); + headers.put("Atlassian-Account-Id", atlassianAccountId); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(connectCustomFieldValues)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_appIssueFieldValueUpdateResourceUpdateIssueFieldsPut); + } + + /** + * Bulk update entity properties + * Updates the values of multiple entity properties for an object. This operation is for use by Connect apps during app migration. + * @param atlassianTransferId The app migration transfer ID. (required) + * @param atlassianAccountId The Atlassian account ID of the impersonated user. This user must be a member of the site admin group. (required) + * @param entityType The type indicating the object that contains the entity properties. (required) + * @param entityPropertyDetails (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Completable + */ + public Completable migrationResourceUpdateEntityPropertiesValuePut( + String atlassianTransferId, String atlassianAccountId, String entityType, List entityPropertyDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/atlassian-connect/1/migration/properties/{entityType}"); + + Map pathParams = new HashMap<>(); + pathParams.put("entityType", String.valueOf(entityType)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + headers.put("Atlassian-Transfer-Id", atlassianTransferId); + headers.put("Atlassian-Account-Id", atlassianAccountId); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(entityPropertyDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer); + } + + /** + * Get workflow transition rule configurations + * Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect app. + * @param atlassianTransferId The app migration transfer ID. (required) + * @param workflowRulesSearch (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<WorkflowRulesSearchDetails> + */ + public Single migrationResourceWorkflowRuleSearchPost( + String atlassianTransferId, WorkflowRulesSearch workflowRulesSearch, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/atlassian-connect/1/migration/workflow/rule/search"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + headers.put("Atlassian-Transfer-Id", atlassianTransferId); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(workflowRulesSearch)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_migrationResourceWorkflowRuleSearchPost); + } + +} diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AppPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AppPropertiesApi.java index 0ba3ef5..255ec20 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AppPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AppPropertiesApi.java @@ -41,7 +41,7 @@ public class AppPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addonPropertiesResourceGetAddonPropertiesGet = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ApplicationRolesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ApplicationRolesApi.java index b95f4f1..9653c6c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ApplicationRolesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ApplicationRolesApi.java @@ -39,7 +39,7 @@ public class ApplicationRolesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getAllApplicationRoles = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AuditRecordsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AuditRecordsApi.java index a197b7c..8287b23 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AuditRecordsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AuditRecordsApi.java @@ -40,7 +40,7 @@ public class AuditRecordsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAuditRecords = new TypeReference() {}; @@ -52,10 +52,10 @@ public AuditRecordsApi(RestClient restClient) { /** * Get audit records - * Returns a list of audit records. The list can be filtered to include items: * containing a string in at least one field. For example, providing *up* will return all audit records where one or more fields contains words such as *update*. * created on or after a date and time. * created or or before a date and time. * created during a time period. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Returns a list of audit records. The list can be filtered to include items: * where each item in `filter` has at least one match in any of these fields: * `summary` * `category` * `eventSource` * `objectItem.name` If the object is a user, account ID is available to filter. * `objectItem.parentName` * `objectItem.typeName` * `changedValues.changedFrom` * `changedValues.changedTo` * `remoteAddress` For example, if `filter` contains *man ed*, an audit record containing `summary\": \"User added to group\"` and `\"category\": \"group management\"` is returned. * created on or after a date and time. * created or or before a date and time. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param offset The number of records to skip before returning the first result. (optional, default to 0) * @param limit The maximum number of results to return. (optional, default to 1000) - * @param filter The query string. (optional) + * @param filter The strings to match with audit field content, space separated. (optional) * @param from The date and time on or after which returned audit records must have been created. If `to` is provided `from` must be before `to` or no audit records are returned. (optional) * @param to The date and time on or before which returned audit results must have been created. If `from` is provided `to` must be after `from` or no audit records are returned. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AvatarsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AvatarsApi.java index e6755ae..ca0e54e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AvatarsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/AvatarsApi.java @@ -41,7 +41,7 @@ public class AvatarsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAllSystemAvatars = new TypeReference() {}; @@ -117,7 +117,7 @@ public Single getAllSystemAvatars( /** * Get avatars - * Returns the system and custom avatars for a project or issue type. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. + * Returns the system and custom avatars for a project or issue type. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * for custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to. * for custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in. * for system avatars, none. * @param type The avatar type. (required) * @param entityId The ID of the item the avatar is associated with. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/DashboardsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/DashboardsApi.java index 9b6848e..59577d8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/DashboardsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/DashboardsApi.java @@ -45,7 +45,7 @@ public class DashboardsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_copyDashboard = new TypeReference() {}; @@ -330,7 +330,7 @@ public Single getDashboardItemPropertyKeys( * @param orderBy [Order](#ordering) the results by a field: * `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use. * `favourite_count` Sorts by dashboard popularity. * `id` Sorts by dashboard ID. * `is_favourite` Sorts by whether the dashboard is marked as a favorite. * `name` Sorts by dashboard name. * `owner` Sorts by dashboard owner name. (optional, default to name) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) - * @param expand Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include: * `description` Returns the description of the dashboard. * `owner` Returns the owner of the dashboard. * `viewUrl` Returns the URL that is used to view the dashboard. * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite. * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite. * `sharePermissions` Returns details of the share permissions defined for the dashboard. (optional) + * @param expand Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include: * `description` Returns the description of the dashboard. * `owner` Returns the owner of the dashboard. * `viewUrl` Returns the URL that is used to view the dashboard. * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite. * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite. * `sharePermissions` Returns details of the share permissions defined for the dashboard. * `editPermissions` Returns details of the edit permissions defined for the dashboard. * `isWritable` Returns whether the current user has permission to edit the dashboard. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanDashboard> */ diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/DynamicModulesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/DynamicModulesApi.java index 9bb82c8..10bb112 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/DynamicModulesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/DynamicModulesApi.java @@ -40,7 +40,7 @@ public class DynamicModulesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_dynamicModulesResourceGetModulesGet = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/FilterSharingApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/FilterSharingApi.java index b6a6f84..354792e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/FilterSharingApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/FilterSharingApi.java @@ -41,7 +41,7 @@ public class FilterSharingApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_addSharePermission = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/FiltersApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/FiltersApi.java index 3487ec0..3e9adcb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/FiltersApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/FiltersApi.java @@ -42,7 +42,7 @@ public class FiltersApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createFilter = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/GroupAndUserPickerApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/GroupAndUserPickerApi.java index ff0ad6a..ef48e23 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/GroupAndUserPickerApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/GroupAndUserPickerApi.java @@ -39,7 +39,7 @@ public class GroupAndUserPickerApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_findUsersAndGroups = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/GroupsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/GroupsApi.java index 300f29c..976dfa8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/GroupsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/GroupsApi.java @@ -28,12 +28,10 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; -import org.everit.atlassian.restclient.jiracloud.v2.model.AddGroupBean; import org.everit.atlassian.restclient.jiracloud.v2.model.FoundGroups; import org.everit.atlassian.restclient.jiracloud.v2.model.Group; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanGroupDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanUserDetails; -import org.everit.atlassian.restclient.jiracloud.v2.model.UpdateUserToGroupBean; import java.util.ArrayList; import java.util.Collection; @@ -44,7 +42,7 @@ public class GroupsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addUserToGroup = new TypeReference() {}; @@ -73,7 +71,7 @@ public GroupsApi(RestClient restClient) { * @return Single<Group> */ public Single addUserToGroup( - String groupname, UpdateUserToGroupBean requestBody, Optional restRequestEnhancer) { + String groupname, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -97,15 +95,16 @@ public Single addUserToGroup( /** * Bulk get groups - * Returns a [paginated](#pagination) list of the groups specified by one or more group IDs. **[Permissions](#permissions) required:** Permission to access Jira. - * @param groupId The ID of a group. To specify multiple groups, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`. (required) + * Returns a [paginated](#pagination) list of groups. **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) - * @param maxResults The maximum number of items to return per page. (optional, default to 10) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param groupId The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`. (optional, default to new ArrayList<>()) + * @param groupName The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example, `groupName=administrators&groupName=jira-software-users`. (optional, default to new ArrayList<>()) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanGroupDetails> */ public Single bulkGetGroups( - List groupId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + Optional startAt, Optional maxResults, Optional> groupId, Optional> groupName, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -122,7 +121,12 @@ public Single bulkGetGroups( if (maxResults.isPresent()) { queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); } - queryParams.put("groupId", RestClientUtil.objectCollectionToStringCollection(groupId)); + if (groupId.isPresent()) { + queryParams.put("groupId", RestClientUtil.objectCollectionToStringCollection(groupId.get())); + } + if (groupName.isPresent()) { + queryParams.put("groupName", RestClientUtil.objectCollectionToStringCollection(groupName.get())); + } requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); @@ -139,7 +143,7 @@ public Single bulkGetGroups( * @return Single<Group> */ public Single createGroup( - AddGroupBean requestBody, Optional restRequestEnhancer) { + Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -167,7 +171,7 @@ public Single createGroup( * @param query The string to find in group names. (optional) * @param exclude A group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`. (optional, default to new ArrayList<>()) * @param maxResults The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`. (optional) - * @param userName This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param userName This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<FoundGroups> */ @@ -317,7 +321,7 @@ public Completable removeGroup( * Removes a user from a group. **[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)). * @param groupname The name of the group. (required) * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (required) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable */ diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/InstanceInformationApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/InstanceInformationApi.java new file mode 100644 index 0000000..4da6d50 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/InstanceInformationApi.java @@ -0,0 +1,78 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.everit.atlassian.restclient.jiracloud.v2.api; + +import java.util.Optional; + +import io.reactivex.Single; +import io.reactivex.Completable; + +import org.everit.http.client.HttpMethod; + +import org.everit.http.restclient.RestClient; +import org.everit.http.restclient.RestClientUtil; +import org.everit.http.restclient.RestRequest; +import org.everit.http.restclient.RestRequestEnhancer; +import org.everit.http.restclient.TypeReference; + +import org.everit.atlassian.restclient.jiracloud.v2.model.License; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class InstanceInformationApi { + + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_getLicense = new TypeReference() {}; + + private final RestClient restClient; + + public InstanceInformationApi(RestClient restClient) { + this.restClient = restClient; + } + + /** + * Get license + * Returns licensing information about the Jira instance. **[Permissions](#permissions) required:** None. + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<License> + */ + public Single getLicense(Optional restRequestEnhancer) + { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/instance/license"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getLicense); + } + +} diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueAttachmentsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueAttachmentsApi.java index 7f0e613..7f50587 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueAttachmentsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueAttachmentsApi.java @@ -43,7 +43,7 @@ public class IssueAttachmentsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_addAttachment = new TypeReference>() {}; @@ -63,7 +63,7 @@ public IssueAttachmentsApi(RestClient restClient) { /** * Add attachment - * Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)). Note that: * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information. * The name of the multipart/form-data parameter that contains the attachments must be `file`. The following example uploads a file called *myfile.txt* to the issue *TEST-123*: `curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: no-check\" -F \"file=@myfile.txt\" https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments` Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. + * Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)). Note that: * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information. * The name of the multipart/form-data parameter that contains the attachments must be `file`. The following examples upload a file called *myfile.txt* to the issue *TEST-123*: #### curl #### curl --location --request POST 'https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments' -u 'email@example.com:' -H 'X-Atlassian-Token: no-check' --form 'file=@\"myfile.txt\"' #### Node.js #### // This code sample uses the 'node-fetch' and 'form-data' libraries: // https://www.npmjs.com/package/node-fetch // https://www.npmjs.com/package/form-data const fetch = require('node-fetch'); const FormData = require('form-data'); const fs = require('fs'); const filePath = 'myfile.txt'; const form = new FormData(); const stats = fs.statSync(filePath); const fileSizeInBytes = stats.size; const fileStream = fs.createReadStream(filePath); form.append('file', fileStream, {knownLength: fileSizeInBytes}); fetch('https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments', { method: 'POST', body: form, headers: { 'Authorization': `Basic ${Buffer.from( 'email@example.com:' ).toString('base64')}`, 'Accept': 'application/json', 'X-Atlassian-Token': 'no-check' } }) .then(response => { console.log( `Response: ${response.status} ${response.statusText}` ); return response.text(); }) .then(text => console.log(text)) .catch(err => console.error(err)); #### Java #### // This code sample uses the 'Unirest' library: // http://unirest.io/java.html HttpResponse response = Unirest.post(\"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\") .basicAuth(\"email@example.com\", \"\") .header(\"Accept\", \"application/json\") .header(\"X-Atlassian-Token\", \"no-check\") .field(\"file\", new File(\"myfile.txt\")) .asJson(); System.out.println(response.getBody()); #### Python #### # This code sample uses the 'requests' library: # http://docs.python-requests.org import requests from requests.auth import HTTPBasicAuth import json url = \"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\" auth = HTTPBasicAuth(\"email@example.com\", \"\") headers = { \"Accept\": \"application/json\", \"X-Atlassian-Token\": \"no-check\" } response = requests.request( \"POST\", url, headers = headers, auth = auth, files = { \"file\": (\"myfile.txt\", open(\"myfile.txt\",\"rb\"), \"application-type\") } ) print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(\",\", \": \"))) #### PHP #### // This code sample uses the 'Unirest' library: // http://unirest.io/php.html Unirest\\Request::auth('email@example.com', ''); $headers = array( 'Accept' => 'application/json', 'X-Atlassian-Token' => 'no-check' ); $parameters = array( 'file' => File::add('myfile.txt') ); $response = Unirest\\Request::post( 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments', $headers, $parameters ); var_dump($response) #### Forge #### // This sample uses Atlassian Forge and the `form-data` library. // https://developer.atlassian.com/platform/forge/ // https://www.npmjs.com/package/form-data import api from \"@forge/api\"; import FormData from \"form-data\"; const form = new FormData(); form.append('file', fileStream, {knownLength: fileSizeInBytes}); const response = await api.asApp().requestJira('/rest/api/2/issue/{issueIdOrKey}/attachments', { method: 'POST', body: form, headers: { 'Accept': 'application/json', 'X-Atlassian-Token': 'no-check' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json()); Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * @param issueIdOrKey The ID or key of the issue that attachments are added to. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<List<Attachment>> diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCommentPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCommentPropertiesApi.java index bc60cc6..81fb9a6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCommentPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCommentPropertiesApi.java @@ -40,7 +40,7 @@ public class IssueCommentPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getCommentProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCommentsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCommentsApi.java index d3f7376..15fa3dc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCommentsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCommentsApi.java @@ -42,7 +42,7 @@ public class IssueCommentsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addComment = new TypeReference() {}; @@ -70,7 +70,7 @@ public IssueCommentsApi(RestClient restClient) { * @return Single<Comment> */ public Single addComment( - String issueIdOrKey, Comment requestBody, Optional expand, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -205,7 +205,7 @@ public Single getComments( /** * Get comments by IDs - * Returns a [paginated](#pagination) list of just the comments for a list of comments specified by comment IDs. This operation can be accessed anonymously. **[Permissions](#permissions) required:** Comments are returned where the user: * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to. + * Returns a [paginated](#pagination) list of comments specified by a list of comment IDs. This operation can be accessed anonymously. **[Permissions](#permissions) required:** Comments are returned where the user: * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to. * @param issueCommentListRequestBean The list of comment IDs. (required) * @param expand Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include: * `renderedBody` Returns the comment body rendered in HTML. * `properties` Returns the comment's properties. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -247,7 +247,7 @@ public Single getCommentsByIds( * @return Single<Comment> */ public Single updateComment( - String issueIdOrKey, String id, Comment requestBody, Optional expand, Optional restRequestEnhancer) { + String issueIdOrKey, String id, Map requestBody, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldConfigurationAppsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldConfigurationAppsApi.java new file mode 100644 index 0000000..b219877 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldConfigurationAppsApi.java @@ -0,0 +1,138 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.everit.atlassian.restclient.jiracloud.v2.api; + +import java.util.Optional; + +import io.reactivex.Single; +import io.reactivex.Completable; + +import org.everit.http.client.HttpMethod; + +import org.everit.http.restclient.RestClient; +import org.everit.http.restclient.RestClientUtil; +import org.everit.http.restclient.RestRequest; +import org.everit.http.restclient.RestRequestEnhancer; +import org.everit.http.restclient.TypeReference; + +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldConfigurations; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanContextualConfiguration; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class IssueCustomFieldConfigurationAppsApi { + + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_getCustomFieldConfiguration = new TypeReference() {}; + + private static final TypeReference returnType_updateCustomFieldConfiguration = new TypeReference() {}; + + private final RestClient restClient; + + public IssueCustomFieldConfigurationAppsApi(RestClient restClient) { + this.restClient = restClient; + } + + /** + * Get custom field configurations + * Returns a [paginated](#pagination) list of configurations for a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/). The result can be filtered by one of these criteria: * `contextId`. * `issueId`. * `projectKeyOrId` and `issueTypeId`. Otherwise, all configurations are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field. + * @param fieldIdOrKey The ID or key of the custom field, for example `customfield_10000`. (required) + * @param contextId The list of context IDs. To include multiple contexts, separate IDs with an ampersand: `contextId=10000&contextId=10001`. Can't be provided with `issueId`, `projectKeyOrId`, or `issueTypeId`. (optional, default to new ArrayList<>()) + * @param issueId The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided with `contextIds`, `projectKeyOrId`, or `issueTypeId`. (optional) + * @param projectKeyOrId The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with `contextIds` or `issueId`. (optional) + * @param issueTypeId The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with `contextIds` or `issueId`. (optional) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 100) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanContextualConfiguration> + */ + public Single getCustomFieldConfiguration( + String fieldIdOrKey, Optional> contextId, Optional issueId, Optional projectKeyOrId, Optional issueTypeId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/app/field/{fieldIdOrKey}/context/configuration"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldIdOrKey", String.valueOf(fieldIdOrKey)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (issueId.isPresent()) { + queryParams.put("issueId", Collections.singleton(String.valueOf(issueId.get()))); + } + if (projectKeyOrId.isPresent()) { + queryParams.put("projectKeyOrId", Collections.singleton(String.valueOf(projectKeyOrId.get()))); + } + if (issueTypeId.isPresent()) { + queryParams.put("issueTypeId", Collections.singleton(String.valueOf(issueTypeId.get()))); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getCustomFieldConfiguration); + } + + /** + * Update custom field configurations + * Update the configuration for contexts of a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field. + * @param fieldIdOrKey The ID or key of the custom field, for example `customfield_10000`. (required) + * @param customFieldConfigurations (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateCustomFieldConfiguration( + String fieldIdOrKey, CustomFieldConfigurations customFieldConfigurations, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/app/field/{fieldIdOrKey}/context/configuration"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldIdOrKey", String.valueOf(fieldIdOrKey)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(customFieldConfigurations)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldConfiguration); + } + +} diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldContextsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldContextsApi.java index ff4fd48..82e2235 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldContextsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldContextsApi.java @@ -28,6 +28,17 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; +import org.everit.atlassian.restclient.jiracloud.v2.model.CreateCustomFieldContext; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldContextDefaultValueUpdate; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldContextUpdateDetails; +import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeIDs; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanContextForProjectAndIssueType; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanCustomFieldContext; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanCustomFieldContextDefaultValue; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanCustomFieldContextProjectMapping; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanIssueTypeToContextMapping; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectIds; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectIssueTypeMappings; import java.util.ArrayList; import java.util.Collection; @@ -38,19 +49,140 @@ public class IssueCustomFieldContextsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_addIssueTypesToContext = new TypeReference() {}; + + private static final TypeReference returnType_assignProjectsToCustomFieldContext = new TypeReference() {}; + + private static final TypeReference returnType_createCustomFieldContext = new TypeReference() {}; private static final TypeReference returnType_deleteCustomFieldContext = new TypeReference() {}; + private static final TypeReference returnType_getContextsForField = new TypeReference() {}; + + private static final TypeReference returnType_getCustomFieldContextsForProjectsAndIssueTypes = new TypeReference() {}; + + private static final TypeReference returnType_getDefaultValues = new TypeReference() {}; + + private static final TypeReference returnType_getIssueTypeMappingsForContexts = new TypeReference() {}; + + private static final TypeReference returnType_getProjectContextMapping = new TypeReference() {}; + + private static final TypeReference returnType_removeCustomFieldContextFromProjects = new TypeReference() {}; + + private static final TypeReference returnType_removeIssueTypesFromContext = new TypeReference() {}; + + private static final TypeReference returnType_setDefaultValues = new TypeReference() {}; + + private static final TypeReference returnType_updateCustomFieldContext = new TypeReference() {}; + private final RestClient restClient; public IssueCustomFieldContextsApi(RestClient restClient) { this.restClient = restClient; } + /** + * Add issue types to context + * Adds issue types to a custom field context, appending the issue types to the issue types list. A custom field context without any issue types applies to all issue types. Adding issue types to such a custom field context would result in it applying to only the listed issue types. If any of the issue types exists in the custom field context, the operation fails and no issue types are added. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param issueTypeIDs (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single addIssueTypesToContext( + String fieldId, Long contextId, IssueTypeIDs issueTypeIDs, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/{contextId}/issuetype"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueTypeIDs)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_addIssueTypesToContext); + } + + /** + * Assign custom field context to projects + * Assigns a custom field context to projects. If any project in the request is assigned to any context of the custom field, the operation fails. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param projectIds (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single assignProjectsToCustomFieldContext( + String fieldId, Long contextId, ProjectIds projectIds, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/{contextId}/project"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(projectIds)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_assignProjectsToCustomFieldContext); + } + + /** + * Create custom field context + * Creates a custom field context. If `projectIds` is empty, a global context is created. A global context is one that applies to all project. If `issueTypeIds` is empty, the context applies to all issue types. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param createCustomFieldContext (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<CreateCustomFieldContext> + */ + public Single createCustomFieldContext( + String fieldId, CreateCustomFieldContext createCustomFieldContext, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(createCustomFieldContext)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createCustomFieldContext); + } + /** * Delete custom field context - * Deletes [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html). Only custom field contexts used in classic projects can be deleted. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Deletes a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param fieldId The ID of the custom field. (required) * @param contextId The ID of the context. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -78,4 +210,341 @@ public Single deleteCustomFieldContext( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_deleteCustomFieldContext); } + /** + * Get custom field contexts + * Returns a [paginated](#pagination) list of [ contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a custom field. Contexts can be returned as follows: * With no other parameters set, all contexts. * By defining `id` only, all contexts from the list of IDs. * By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types (true) or those that apply to only a subset of issue types (false) * By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global contexts) (true) or those that apply to only a subset of projects (false). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param isAnyIssueType Whether to return contexts that apply to all issue types. (optional) + * @param isGlobalContext Whether to return contexts that apply to all projects. (optional) + * @param contextId The list of context IDs. To include multiple contexts, separate IDs with ampersand: `contextId=10000&contextId=10001`. (optional, default to new ArrayList<>()) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanCustomFieldContext> + */ + public Single getContextsForField( + String fieldId, Optional isAnyIssueType, Optional isGlobalContext, Optional> contextId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (isAnyIssueType.isPresent()) { + queryParams.put("isAnyIssueType", Collections.singleton(String.valueOf(isAnyIssueType.get()))); + } + if (isGlobalContext.isPresent()) { + queryParams.put("isGlobalContext", Collections.singleton(String.valueOf(isGlobalContext.get()))); + } + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getContextsForField); + } + + /** + * Get custom field contexts for projects and issue types + * Returns a [paginated](#pagination) list of project and issue type mappings and, for each mapping, the ID of a [custom field context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type. If there is no custom field context assigned to the project then, if present, the custom field context that applies to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is not found, the returned custom field context ID is `null`. Duplicate project and issue type mappings cannot be provided in the request. The order of the returned values is the same as provided in the request. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param projectIssueTypeMappings The list of project and issue type mappings. (required) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanContextForProjectAndIssueType> + */ + public Single getCustomFieldContextsForProjectsAndIssueTypes( + String fieldId, ProjectIssueTypeMappings projectIssueTypeMappings, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/mapping"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(projectIssueTypeMappings)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getCustomFieldContextsForProjectsAndIssueTypes); + } + + /** + * Get custom field contexts default values + * Returns a [paginated](#pagination) list of defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no defaults are set for a context, nothing is returned. The returned object depends on type of the custom field: * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons. * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes. * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field, for example `customfield\\_10000`. (required) + * @param contextId The IDs of the contexts. (optional, default to new ArrayList<>()) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanCustomFieldContextDefaultValue> + */ + public Single getDefaultValues( + String fieldId, Optional> contextId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/defaultValue"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getDefaultValues); + } + + /** + * Get issue types for custom field context + * Returns a [paginated](#pagination) list of context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts. Mappings are ordered first by context ID and then by issue type ID. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. To include multiple contexts, provide an ampersand-separated list. For example, `contextId=10001&contextId=10002`. (optional, default to new ArrayList<>()) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanIssueTypeToContextMapping> + */ + public Single getIssueTypeMappingsForContexts( + String fieldId, Optional> contextId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/issuetypemapping"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getIssueTypeMappingsForContexts); + } + + /** + * Get project mappings for custom field context + * Returns a [paginated](#pagination) list of context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings are returned. Invalid IDs are ignored. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field, for example `customfield\\_10000`. (required) + * @param contextId The list of context IDs. To include multiple context, separate IDs with ampersand: `contextId=10000&contextId=10001`. (optional, default to new ArrayList<>()) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanCustomFieldContextProjectMapping> + */ + public Single getProjectContextMapping( + String fieldId, Optional> contextId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/projectmapping"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getProjectContextMapping); + } + + /** + * Remove custom field context from projects + * Removes a custom field context from projects. A custom field context without any projects applies to all projects. Removing all projects from a custom field context would result in it applying to all projects. If any project in the request is not assigned to the context, or the operation would result in two global contexts for the field, the operation fails. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param projectIds (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single removeCustomFieldContextFromProjects( + String fieldId, Long contextId, ProjectIds projectIds, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/{contextId}/project/remove"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(projectIds)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_removeCustomFieldContextFromProjects); + } + + /** + * Remove issue types from context + * Removes issue types from a custom field context. A custom field context without any issue types applies to all issue types. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param issueTypeIDs (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single removeIssueTypesFromContext( + String fieldId, Long contextId, IssueTypeIDs issueTypeIDs, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/{contextId}/issuetype/remove"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueTypeIDs)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_removeIssueTypesFromContext); + } + + /** + * Set custom field contexts default values + * Sets default for contexts of a custom field. Default are defined using these objects: * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons. * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes. * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists. Only one type of default object can be included in a request. To remove a default for a context, set the default parameter to `null`. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param customFieldContextDefaultValueUpdate (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single setDefaultValues( + String fieldId, CustomFieldContextDefaultValueUpdate customFieldContextDefaultValueUpdate, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/defaultValue"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(customFieldContextDefaultValueUpdate)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_setDefaultValues); + } + + /** + * Update custom field context + * Updates a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param customFieldContextUpdateDetails (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateCustomFieldContext( + String fieldId, Long contextId, CustomFieldContextUpdateDetails customFieldContextUpdateDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}/context/{contextId}"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(customFieldContextUpdateDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldContext); + } + } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldOptionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldOptionsApi.java index 55edaf2..9535399 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldOptionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldOptionsApi.java @@ -28,13 +28,13 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; -import org.everit.atlassian.restclient.jiracloud.v2.model.BulkCreateCustomFieldOptionRequest; +import org.everit.atlassian.restclient.jiracloud.v2.model.BulkCustomFieldOptionCreateRequest; +import org.everit.atlassian.restclient.jiracloud.v2.model.BulkCustomFieldOptionUpdateRequest; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldCreatedContextOptionsList; import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldOption; -import org.everit.atlassian.restclient.jiracloud.v2.model.ErrorCollection; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldUpdatedContextOptionsList; import org.everit.atlassian.restclient.jiracloud.v2.model.OrderOfCustomFieldOptions; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanCustomFieldContextOption; -import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanCustomFieldOptionDetails; -import org.everit.atlassian.restclient.jiracloud.v2.model.UpdateCustomFieldOption; import java.util.ArrayList; import java.util.Collection; @@ -45,19 +45,17 @@ public class IssueCustomFieldOptionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; - private static final TypeReference returnType_createCustomFieldOptions = new TypeReference() {}; + private static final TypeReference returnType_createCustomFieldOption = new TypeReference() {}; private static final TypeReference returnType_getCustomFieldOption = new TypeReference() {}; private static final TypeReference returnType_getOptionsForContext = new TypeReference() {}; - private static final TypeReference returnType_getOptionsForField = new TypeReference() {}; - private static final TypeReference returnType_reorderCustomFieldOptions = new TypeReference() {}; - private static final TypeReference returnType_updateCustomFieldOptions = new TypeReference() {}; + private static final TypeReference returnType_updateCustomFieldOption = new TypeReference() {}; private final RestClient restClient; @@ -66,23 +64,25 @@ public IssueCustomFieldOptionsApi(RestClient restClient) { } /** - * Create custom field options - * Creates options and, where the custom select field is of the type *Select List (cascading)*, cascading options for a custom select field. The options are added to the global context of the field. Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*. (required) - * @param bulkCreateCustomFieldOptionRequest (required) + * Create custom field options (context) + * Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a custom select field. The options are added to a context of the field. The maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000 options. This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.** **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param bulkCustomFieldOptionCreateRequest (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Object> + * @return Single<CustomFieldCreatedContextOptionsList> */ - public Single createCustomFieldOptions( - Long fieldId, BulkCreateCustomFieldOptionRequest bulkCreateCustomFieldOptionRequest, Optional restRequestEnhancer) { + public Single createCustomFieldOption( + String fieldId, Long contextId, BulkCustomFieldOptionCreateRequest bulkCustomFieldOptionCreateRequest, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) .basePath(DEFAULT_BASE_PATH) - .path("/rest/api/2/customField/{fieldId}/option"); + .path("/rest/api/2/field/{fieldId}/context/{contextId}/option"); Map pathParams = new HashMap<>(); pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); requestBuilder.pathParams(pathParams); Map> queryParams = new HashMap<>(); @@ -91,15 +91,15 @@ public Single createCustomFieldOptions( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(bulkCreateCustomFieldOptionRequest)); + requestBuilder.requestBody(Optional.of(bulkCustomFieldOptionCreateRequest)); - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createCustomFieldOptions); + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createCustomFieldOption); } /** - * Delete custom field option (context) + * Delete custom field options (context) * Deletes a custom field option. Options with cascading options cannot be deleted without deleting the cascading options first. This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.** **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*. (required) + * @param fieldId The ID of the custom field. (required) * @param contextId The ID of the context from which an option should be deleted. (required) * @param optionId The ID of the option to delete. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -157,14 +157,14 @@ public Single getCustomFieldOption( } /** - * Get options for field (context) + * Get custom field options (context) * Returns a [paginated](#pagination) list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira. This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.** **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*. (required) + * @param fieldId The ID of the custom field. (required) * @param contextId The ID of the context. (required) * @param optionId The ID of the option. (optional) * @param onlyOptions Whether only options are returned. (optional, default to false) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) - * @param maxResults The maximum number of items to return per page. (optional, default to 1000) + * @param maxResults The maximum number of items to return per page. (optional, default to 100) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanCustomFieldContextOption> */ @@ -203,45 +203,9 @@ public Single getOptionsForContext( } /** - * Get options for field - * Returns a [paginated](#pagination) list of options and, where the custom select field is of the type *Select List (cascading)*, cascading options for custom select fields. Cascading options are included in the item count when determining pagination. Only options from the global context are returned. Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*. (required) - * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) - * @param maxResults The maximum number of items to return per page. (optional, default to 1000) - * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<PageBeanCustomFieldOptionDetails> - */ - public Single getOptionsForField( - Long fieldId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { - - RestRequest.Builder requestBuilder = RestRequest.builder() - .method(HttpMethod.GET) - .basePath(DEFAULT_BASE_PATH) - .path("/rest/api/2/customField/{fieldId}/option"); - - Map pathParams = new HashMap<>(); - pathParams.put("fieldId", String.valueOf(fieldId)); - requestBuilder.pathParams(pathParams); - - Map> queryParams = new HashMap<>(); - if (startAt.isPresent()) { - queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); - } - if (maxResults.isPresent()) { - queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); - } - requestBuilder.queryParams(queryParams); - - Map headers = new HashMap<>(); - requestBuilder.headers(headers); - - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getOptionsForField); - } - - /** - * Reorder options (context) + * Reorder custom field options (context) * Changes the order of custom field options or cascading options in a context. This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.** **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*. (required) + * @param fieldId The ID of the custom field. (required) * @param contextId The ID of the context. (required) * @param orderOfCustomFieldOptions (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -272,23 +236,25 @@ public Single reorderCustomFieldOptions( } /** - * Update custom field options - * Updates the options on a custom select field. Where an updated option is in use on an issue, the value on the issue is also updated. Options that are not found are ignored. A maximum of 1000 options, including sub-options of *Select List (cascading)* fields, can be updated per request. The options are updated on the global context of the field. Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*. (required) - * @param updateCustomFieldOption (required) + * Update custom field options (context) + * Updates the options of a custom field. If any of the options are not found, no options are updated. Options where the values in the request match the current values aren't updated and aren't reported in the response. Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param bulkCustomFieldOptionUpdateRequest (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Object> + * @return Single<CustomFieldUpdatedContextOptionsList> */ - public Single updateCustomFieldOptions( - Long fieldId, UpdateCustomFieldOption updateCustomFieldOption, Optional restRequestEnhancer) { + public Single updateCustomFieldOption( + String fieldId, Long contextId, BulkCustomFieldOptionUpdateRequest bulkCustomFieldOptionUpdateRequest, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) .basePath(DEFAULT_BASE_PATH) - .path("/rest/api/2/customField/{fieldId}/option"); + .path("/rest/api/2/field/{fieldId}/context/{contextId}/option"); Map pathParams = new HashMap<>(); pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); requestBuilder.pathParams(pathParams); Map> queryParams = new HashMap<>(); @@ -297,9 +263,9 @@ public Single updateCustomFieldOptions( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(updateCustomFieldOption)); + requestBuilder.requestBody(Optional.of(bulkCustomFieldOptionUpdateRequest)); - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldOptions); + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldOption); } } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldOptionsAppsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldOptionsAppsApi.java index 8adca0a..4e9a68a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldOptionsAppsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldOptionsAppsApi.java @@ -29,7 +29,6 @@ import org.everit.http.restclient.TypeReference; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueFieldOption; -import org.everit.atlassian.restclient.jiracloud.v2.model.IssueFieldOptionCreateBean; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanIssueFieldOption; import org.everit.atlassian.restclient.jiracloud.v2.model.TaskProgressBeanRemoveOptionFromIssuesResult; @@ -42,7 +41,7 @@ public class IssueCustomFieldOptionsAppsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createIssueFieldOption = new TypeReference() {}; @@ -73,7 +72,7 @@ public IssueCustomFieldOptionsAppsApi(RestClient restClient) { * @return Single<IssueFieldOption> */ public Single createIssueFieldOption( - String fieldKey, IssueFieldOptionCreateBean requestBody, Optional restRequestEnhancer) { + String fieldKey, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldValuesAppsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldValuesAppsApi.java new file mode 100644 index 0000000..91d2ac6 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueCustomFieldValuesAppsApi.java @@ -0,0 +1,87 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.everit.atlassian.restclient.jiracloud.v2.api; + +import java.util.Optional; + +import io.reactivex.Single; +import io.reactivex.Completable; + +import org.everit.http.client.HttpMethod; + +import org.everit.http.restclient.RestClient; +import org.everit.http.restclient.RestClientUtil; +import org.everit.http.restclient.RestRequest; +import org.everit.http.restclient.RestRequestEnhancer; +import org.everit.http.restclient.TypeReference; + +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldValueUpdateRequest; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class IssueCustomFieldValuesAppsApi { + + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_updateCustomFieldValue = new TypeReference() {}; + + private final RestClient restClient; + + public IssueCustomFieldValuesAppsApi(RestClient restClient) { + this.restClient = restClient; + } + + /** + * Update custom field value + * Updates the value of a custom field on one or more issues. Custom fields can only be updated by the Forge app that created them. **[Permissions](#permissions) required:** Only the app that created the custom field can update its values with this operation. + * @param fieldIdOrKey The ID or key of the custom field. For example, `customfield_10010`. (required) + * @param customFieldValueUpdateRequest (required) + * @param generateChangelog Whether to generate a changelog for this update. Default: true. (optional, default to true) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateCustomFieldValue( + String fieldIdOrKey, CustomFieldValueUpdateRequest customFieldValueUpdateRequest, Optional generateChangelog, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/app/field/{fieldIdOrKey}/value"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldIdOrKey", String.valueOf(fieldIdOrKey)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (generateChangelog.isPresent()) { + queryParams.put("generateChangelog", Collections.singleton(String.valueOf(generateChangelog.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(customFieldValueUpdateRequest)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldValue); + } + +} diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueFieldConfigurationsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueFieldConfigurationsApi.java index a8fceac..35055ad 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueFieldConfigurationsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueFieldConfigurationsApi.java @@ -44,7 +44,7 @@ public class IssueFieldConfigurationsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_assignFieldConfigurationSchemeToProject = new TypeReference() {}; @@ -133,16 +133,17 @@ public Single getAllFieldConfigurationSchemes( /** * Get all field configurations - * Returns a [paginated](#pagination) list of all field configurations. Only field configurations used in classic projects are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Returns a [paginated](#pagination) list of field configurations. The list can be for all field configurations or a subset determined by any combination of these criteria: * a list of field configuration item IDs. * whether the field configuration is a default. * whether the field configuration name or description contains a query string. Only field configurations used in classic projects are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) * @param id The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. (optional, default to new ArrayList<>()) - * @param isDefault If *true* returns the default field configuration only. (optional, default to false) + * @param isDefault If *true* returns default field configurations only. (optional, default to false) + * @param query The query string used to match against field configuration names and descriptions. (optional, default to "") * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanFieldConfiguration> */ public Single getAllFieldConfigurations( - Optional startAt, Optional maxResults, Optional> id, Optional isDefault, Optional restRequestEnhancer) { + Optional startAt, Optional maxResults, Optional> id, Optional isDefault, Optional query, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -165,6 +166,9 @@ public Single getAllFieldConfigurations( if (isDefault.isPresent()) { queryParams.put("isDefault", Collections.singleton(String.valueOf(isDefault.get()))); } + if (query.isPresent()) { + queryParams.put("query", Collections.singleton(String.valueOf(query.get()))); + } requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueFieldsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueFieldsApi.java index 7bd2d27..9850d3c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueFieldsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueFieldsApi.java @@ -33,6 +33,7 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.FieldDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanContext; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanField; +import org.everit.atlassian.restclient.jiracloud.v2.model.UpdateCustomFieldDetails; import java.util.ArrayList; import java.util.Collection; @@ -43,16 +44,18 @@ public class IssueFieldsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createCustomField = new TypeReference() {}; - private static final TypeReference returnType_getContextsForField = new TypeReference() {}; + private static final TypeReference returnType_getContextsForFieldDeprecated = new TypeReference() {}; private static final TypeReference> returnType_getFields = new TypeReference>() {}; private static final TypeReference returnType_getFieldsPaginated = new TypeReference() {}; + private static final TypeReference returnType_updateCustomField = new TypeReference() {}; + private final RestClient restClient; public IssueFieldsApi(RestClient restClient) { @@ -90,14 +93,16 @@ public Single createCustomField( /** * Get contexts for a field - * Returns a [paginated](#pagination) list of the contexts a field is used in. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Returns a [paginated](#pagination) list of the contexts a field is used in. Deprecated, use [ Get custom field contexts](#api-rest-api-2-field-fieldId-context-get). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param fieldId The ID of the field to return contexts for. (required) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 20) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanContext> + * @deprecated */ - public Single getContextsForField( + @Deprecated + public Single getContextsForFieldDeprecated( String fieldId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() @@ -121,7 +126,7 @@ public Single getContextsForField( Map headers = new HashMap<>(); requestBuilder.headers(headers); - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getContextsForField); + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getContextsForFieldDeprecated); } /** @@ -156,10 +161,10 @@ public Single> getFields(Optional restRe * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) * @param type The type of fields to search. (optional, default to new ArrayList<>()) - * @param id The IDs of the custom fields to return or, where`query is specified, filter. IDs should be provided in the format customfield_XXXXX.` (optional, default to new ArrayList<>()) + * @param id The IDs of the custom fields to return or, where `query` is specified, filter. (optional, default to new ArrayList<>()) * @param query String used to perform a case-insensitive partial match with field names or descriptions. (optional) * @param orderBy [Order](#ordering) the results by a field: * `contextsCount` Sorts by the number of contexts related to a field. * `lastUsed` Sorts by the date when the value of the field last changed. * `name` Sorts by the field name. * `screensCount` Sorts by the number of screens related to a field. (optional) - * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * `key` Returns the key for each field. * `lastUsed` Returns the date when the value of the field last changed. * `screensCount` Returns the number of screens related to a field. * `contextsCount` Returns the number of contexts related to a field. * `isLocked` Returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og). (optional) + * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * `key` Returns the key for each field. * `lastUsed` Returns the date when the value of the field last changed. * `screensCount` Returns the number of screens related to a field. * `contextsCount` Returns the number of contexts related to a field. * `isLocked` Returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og). * `searcherKey` Returns the searcher key for each custom field. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanField> */ @@ -204,4 +209,35 @@ public Single getFieldsPaginated( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getFieldsPaginated); } + /** + * Update custom field + * Updates a custom field. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param updateCustomFieldDetails The custom field update details. (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateCustomField( + String fieldId, UpdateCustomFieldDetails updateCustomFieldDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/field/{fieldId}"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(updateCustomFieldDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomField); + } + } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueLinkTypesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueLinkTypesApi.java index 3d5fb19..d7f43d3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueLinkTypesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueLinkTypesApi.java @@ -40,7 +40,7 @@ public class IssueLinkTypesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createIssueLinkType = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueLinksApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueLinksApi.java index 515f140..5dcb144 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueLinksApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueLinksApi.java @@ -40,7 +40,7 @@ public class IssueLinksApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueLink = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueNavigatorSettingsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueNavigatorSettingsApi.java index a3a9fee..a43a8d7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueNavigatorSettingsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueNavigatorSettingsApi.java @@ -39,7 +39,7 @@ public class IssueNavigatorSettingsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getIssueNavigatorDefaultColumns = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueNotificationSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueNotificationSchemesApi.java index 6882404..f81908d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueNotificationSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueNotificationSchemesApi.java @@ -40,7 +40,7 @@ public class IssueNotificationSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getNotificationScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuePrioritiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuePrioritiesApi.java index 912d97d..7f4cb82 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuePrioritiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuePrioritiesApi.java @@ -39,7 +39,7 @@ public class IssuePrioritiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getPriorities = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuePropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuePropertiesApi.java index b2f9d21..ff2b8e1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuePropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuePropertiesApi.java @@ -44,7 +44,7 @@ public class IssuePropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueProperty = new TypeReference() {}; @@ -91,7 +91,7 @@ public Completable bulkDeleteIssueProperty( /** * Bulk set issue property - * Sets a property value on multiple issues. The issues to be updated can be specified by a filter. The filter identifies issues eligible for update using these criteria: * `entityIds` Only issues from this list are eligible. * `currentValue` Only issues with the property set to this value are eligible. * `hasProperty`: * If *true*, only issues with the property are eligible. * If *false*, only issues without the property are eligible. If more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible. If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value). The filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible. This operation is: * transactional, either all eligible issues are updated or, when errors occur, none are updated. * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue. + * Sets a property value on multiple issues. The value set can be a constant or determined by a [Jira expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable with constant complexity when applied to a set of issues. Expressions must also comply with the [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to all Jira expressions. The issues to be updated can be specified by a filter. The filter identifies issues eligible for update using these criteria: * `entityIds` Only issues from this list are eligible. * `currentValue` Only issues with the property set to this value are eligible. * `hasProperty`: * If *true*, only issues with the property are eligible. * If *false*, only issues without the property are eligible. If more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible. If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value). The filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible. This operation is: * transactional, either all eligible issues are updated or, when errors occur, none are updated. * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue. * @param propertyKey The key of the property. The maximum length is 255 characters. (required) * @param bulkIssuePropertyUpdateRequest (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueRemoteLinksApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueRemoteLinksApi.java index 2e173ee..9da7f42 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueRemoteLinksApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueRemoteLinksApi.java @@ -30,7 +30,6 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.RemoteIssueLink; import org.everit.atlassian.restclient.jiracloud.v2.model.RemoteIssueLinkIdentifies; -import org.everit.atlassian.restclient.jiracloud.v2.model.RemoteIssueLinkRequest; import java.util.ArrayList; import java.util.Collection; @@ -41,7 +40,7 @@ public class IssueRemoteLinksApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createOrUpdateRemoteIssueLink = new TypeReference() {}; @@ -66,7 +65,7 @@ public IssueRemoteLinksApi(RestClient restClient) { * @return Single<RemoteIssueLinkIdentifies> */ public Single createOrUpdateRemoteIssueLink( - String issueIdOrKey, RemoteIssueLinkRequest requestBody, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -220,7 +219,7 @@ public Single getRemoteIssueLinks( * @return Single<Object> */ public Single updateRemoteIssueLink( - String issueIdOrKey, String linkId, RemoteIssueLinkRequest requestBody, Optional restRequestEnhancer) { + String issueIdOrKey, String linkId, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueResolutionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueResolutionsApi.java index 6724481..3bf80c5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueResolutionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueResolutionsApi.java @@ -39,7 +39,7 @@ public class IssueResolutionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getResolution = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSearchApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSearchApi.java index 0bb5cf5..35559d7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSearchApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSearchApi.java @@ -43,7 +43,7 @@ public class IssueSearchApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssuePickerResource = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSecurityLevelApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSecurityLevelApi.java index 51d8a86..13bf8e0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSecurityLevelApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSecurityLevelApi.java @@ -40,7 +40,7 @@ public class IssueSecurityLevelApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueSecurityLevel = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSecuritySchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSecuritySchemesApi.java index d53f8a5..b4b3729 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSecuritySchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueSecuritySchemesApi.java @@ -40,7 +40,7 @@ public class IssueSecuritySchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueSecurityScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypePropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypePropertiesApi.java index ac30da1..0d11136 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypePropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypePropertiesApi.java @@ -40,7 +40,7 @@ public class IssueTypePropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueTypeProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypeSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypeSchemesApi.java index 17dc941..26a487e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypeSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypeSchemesApi.java @@ -47,7 +47,7 @@ public class IssueTypeSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addIssueTypesToIssueTypeScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypeScreenSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypeScreenSchemesApi.java index b4cf16f..16685b8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypeScreenSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypeScreenSchemesApi.java @@ -28,13 +28,17 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; +import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeIDs; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeScreenSchemeDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeScreenSchemeId; +import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeScreenSchemeMappingDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeScreenSchemeProjectAssociation; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeScreenSchemeUpdateDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanIssueTypeScreenScheme; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanIssueTypeScreenSchemeItem; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanIssueTypeScreenSchemesProjects; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanProjectDetails; +import org.everit.atlassian.restclient.jiracloud.v2.model.UpdateDefaultScreenScheme; import java.util.ArrayList; import java.util.Collection; @@ -45,7 +49,9 @@ public class IssueTypeScreenSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_appendMappingsForIssueTypeScreenScheme = new TypeReference() {}; private static final TypeReference returnType_assignIssueTypeScreenSchemeToProject = new TypeReference() {}; @@ -59,6 +65,12 @@ public class IssueTypeScreenSchemesApi { private static final TypeReference returnType_getIssueTypeScreenSchemes = new TypeReference() {}; + private static final TypeReference returnType_getProjectsForIssueTypeScreenScheme = new TypeReference() {}; + + private static final TypeReference returnType_removeMappingsFromIssueTypeScreenScheme = new TypeReference() {}; + + private static final TypeReference returnType_updateDefaultScreenScheme = new TypeReference() {}; + private static final TypeReference returnType_updateIssueTypeScreenScheme = new TypeReference() {}; private final RestClient restClient; @@ -67,6 +79,37 @@ public IssueTypeScreenSchemesApi(RestClient restClient) { this.restClient = restClient; } + /** + * Append mappings to issue type screen scheme + * Appends issue type to screen scheme mappings to an issue type screen scheme. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required) + * @param issueTypeScreenSchemeMappingDetails (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single appendMappingsForIssueTypeScreenScheme( + String issueTypeScreenSchemeId, IssueTypeScreenSchemeMappingDetails issueTypeScreenSchemeMappingDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueTypeScreenSchemeId", String.valueOf(issueTypeScreenSchemeId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueTypeScreenSchemeMappingDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_appendMappingsForIssueTypeScreenScheme); + } + /** * Assign issue type screen scheme to project * Assigns an issue type screen scheme to a project. Issue type screen schemes can only be assigned to classic projects. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). @@ -194,14 +237,14 @@ public Single getIssueTypeScreenSchemeMapping /** * Get issue type screen schemes for projects * Returns a [paginated](#pagination) list of issue type screen schemes and, for each issue type screen scheme, a list of the projects that use it. Only issue type screen schemes used in classic projects are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param projectId The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`. (required) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) - * @param projectId The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`. (optional, default to new ArrayList<>()) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanIssueTypeScreenSchemesProjects> */ public Single getIssueTypeScreenSchemeProjectAssociations( - Optional startAt, Optional maxResults, Optional> projectId, Optional restRequestEnhancer) { + List projectId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -218,9 +261,7 @@ public Single getIssueTypeScreenSchemePr if (maxResults.isPresent()) { queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); } - if (projectId.isPresent()) { - queryParams.put("projectId", RestClientUtil.objectCollectionToStringCollection(projectId.get())); - } + queryParams.put("projectId", RestClientUtil.objectCollectionToStringCollection(projectId)); requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); @@ -267,6 +308,104 @@ public Single getIssueTypeScreenSchemes( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getIssueTypeScreenSchemes); } + /** + * Get issue type screen scheme projects + * Returns a [paginated](#pagination) list of projects associated with an issue type screen scheme. Only company-managed projects associated with an issue type screen scheme are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanProjectDetails> + */ + public Single getProjectsForIssueTypeScreenScheme( + Long issueTypeScreenSchemeId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/project"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueTypeScreenSchemeId", String.valueOf(issueTypeScreenSchemeId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getProjectsForIssueTypeScreenScheme); + } + + /** + * Remove mappings from issue type screen scheme + * Removes issue type to screen scheme mappings from an issue type screen scheme. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required) + * @param issueTypeIDs (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single removeMappingsFromIssueTypeScreenScheme( + String issueTypeScreenSchemeId, IssueTypeIDs issueTypeIDs, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/remove"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueTypeScreenSchemeId", String.valueOf(issueTypeScreenSchemeId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueTypeIDs)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_removeMappingsFromIssueTypeScreenScheme); + } + + /** + * Update issue type screen scheme default screen scheme + * Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all unmapped issue types. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required) + * @param updateDefaultScreenScheme (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateDefaultScreenScheme( + String issueTypeScreenSchemeId, UpdateDefaultScreenScheme updateDefaultScreenScheme, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/default"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueTypeScreenSchemeId", String.valueOf(issueTypeScreenSchemeId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(updateDefaultScreenScheme)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateDefaultScreenScheme); + } + /** * Update issue type screen scheme * Updates an issue type screen scheme. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypesApi.java index dde2f5c..f91cb52 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueTypesApi.java @@ -42,7 +42,7 @@ public class IssueTypesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createIssueType = new TypeReference() {}; @@ -54,6 +54,8 @@ public class IssueTypesApi { private static final TypeReference returnType_getIssueType = new TypeReference() {}; + private static final TypeReference> returnType_getIssueTypesForProject = new TypeReference>() {}; + private static final TypeReference returnType_updateIssueType = new TypeReference() {}; private final RestClient restClient; @@ -246,6 +248,38 @@ public Single getIssueType( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getIssueType); } + /** + * Get issue types for project + * Returns issue types for a project. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param projectId The ID of the project. (required) + * @param level The level of the issue type to filter by. Use: * `-1` for Subtask. * `0` for Base. * `1` for Epic. (optional) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<List<IssueTypeDetails>> + */ + public Single> getIssueTypesForProject( + Long projectId, Optional level, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/issuetype/project"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + queryParams.put("projectId", Collections.singleton(String.valueOf(projectId))); + if (level.isPresent()) { + queryParams.put("level", Collections.singleton(String.valueOf(level.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getIssueTypesForProject); + } + /** * Update issue type * Updates the issue type. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueVotesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueVotesApi.java index 30b532a..6bfa47d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueVotesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueVotesApi.java @@ -39,7 +39,7 @@ public class IssueVotesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addVote = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWatchersApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWatchersApi.java index d256a9b..edc6550 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWatchersApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWatchersApi.java @@ -39,7 +39,7 @@ public class IssueWatchersApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addWatcher = new TypeReference() {}; @@ -114,7 +114,7 @@ public Single getIssueWatchers( * Delete watcher * Deletes a user as a watcher of an issue. This operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * To remove users other than themselves from the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * @param issueIdOrKey The ID or key of the issue. (required) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWorklogPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWorklogPropertiesApi.java index da2e370..a294477 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWorklogPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWorklogPropertiesApi.java @@ -40,7 +40,7 @@ public class IssueWorklogPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getWorklogProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWorklogsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWorklogsApi.java index 053fc1c..51e3005 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWorklogsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssueWorklogsApi.java @@ -42,7 +42,7 @@ public class IssueWorklogsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addWorklog = new TypeReference() {}; @@ -79,7 +79,7 @@ public IssueWorklogsApi(RestClient restClient) { * @return Single<Worklog> */ public Single addWorklog( - String issueIdOrKey, Worklog requestBody, Optional notifyUsers, Optional adjustEstimate, Optional newEstimate, Optional reduceBy, Optional expand, Optional overrideEditableFlag, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional notifyUsers, Optional adjustEstimate, Optional newEstimate, Optional reduceBy, Optional expand, Optional overrideEditableFlag, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -359,7 +359,7 @@ public Single> getWorklogsForIds( * @return Single<Worklog> */ public Single updateWorklog( - String issueIdOrKey, String id, Worklog requestBody, Optional notifyUsers, Optional adjustEstimate, Optional newEstimate, Optional expand, Optional overrideEditableFlag, Optional restRequestEnhancer) { + String issueIdOrKey, String id, Map requestBody, Optional notifyUsers, Optional adjustEstimate, Optional newEstimate, Optional expand, Optional overrideEditableFlag, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuesApi.java index 58ca368..f7ab2e3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/IssuesApi.java @@ -32,12 +32,11 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.CreatedIssues; import org.everit.atlassian.restclient.jiracloud.v2.model.ErrorCollection; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueBean; +import org.everit.atlassian.restclient.jiracloud.v2.model.IssueChangelogIds; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueCreateMetadata; -import org.everit.atlassian.restclient.jiracloud.v2.model.IssueUpdateDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueUpdateMetadata; -import org.everit.atlassian.restclient.jiracloud.v2.model.IssuesUpdateBean; -import org.everit.atlassian.restclient.jiracloud.v2.model.Notification; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanChangelog; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageOfChangelogs; import org.everit.atlassian.restclient.jiracloud.v2.model.Transitions; import org.everit.atlassian.restclient.jiracloud.v2.model.User; @@ -50,7 +49,7 @@ public class IssuesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_assignIssue = new TypeReference() {}; @@ -64,6 +63,8 @@ public class IssuesApi { private static final TypeReference returnType_getChangeLogs = new TypeReference() {}; + private static final TypeReference returnType_getChangeLogsByIds = new TypeReference() {}; + private static final TypeReference returnType_getCreateIssueMeta = new TypeReference() {}; private static final TypeReference returnType_getEditIssueMeta = new TypeReference() {}; @@ -115,12 +116,12 @@ public Single assignIssue( * Create issue * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set. The content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are the same fields that appear on the issue's create screen. Creating a subtask differs from creating an issue as follows: * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types). * `parent` must contain the ID or key of the parent issue. **[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created. * @param requestBody (required) - * @param updateHistory Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. (optional, default to false) + * @param updateHistory Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. When provided, the issue type and request type are added to the user's history for a project. These values are then used to provide defaults on the issue create screen. (optional, default to false) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<CreatedIssue> */ public Single createIssue( - IssueUpdateDetails requestBody, Optional updateHistory, Optional restRequestEnhancer) { + Map requestBody, Optional updateHistory, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -152,7 +153,7 @@ public Single createIssue( * @return Single<CreatedIssues> */ public Single createIssues( - IssuesUpdateBean requestBody, Optional restRequestEnhancer) { + Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -214,7 +215,7 @@ public Completable deleteIssue( * @return Single<Object> */ public Single doTransition( - String issueIdOrKey, IssueUpdateDetails requestBody, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -248,7 +249,7 @@ public Single doTransition( * @return Single<Object> */ public Single editIssue( - String issueIdOrKey, IssueUpdateDetails requestBody, Optional notifyUsers, Optional overrideScreenSecurity, Optional overrideEditableFlag, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional notifyUsers, Optional overrideScreenSecurity, Optional overrideEditableFlag, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) @@ -280,7 +281,7 @@ public Single editIssue( } /** - * Get change logs + * Get changelogs * Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * @param issueIdOrKey The ID or key of the issue. (required) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0) @@ -315,6 +316,37 @@ public Single getChangeLogs( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getChangeLogs); } + /** + * Get changelogs by IDs + * Returns changelogs for an issue specified by a list of changelog IDs. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. + * @param issueIdOrKey The ID or key of the issue. (required) + * @param issueChangelogIds (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageOfChangelogs> + */ + public Single getChangeLogsByIds( + String issueIdOrKey, IssueChangelogIds issueChangelogIds, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/issue/{issueIdOrKey}/changelog/list"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueIdOrKey", String.valueOf(issueIdOrKey)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueChangelogIds)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getChangeLogsByIds); + } + /** * Get create issue metadata * Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in [ Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post). The request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects. @@ -502,7 +534,7 @@ public Single getTransitions( * @return Single<Object> */ public Single notify( - String issueIdOrKey, Notification requestBody, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JiraExpressionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JiraExpressionsApi.java index 95c299c..5a3ac90 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JiraExpressionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JiraExpressionsApi.java @@ -43,7 +43,7 @@ public class JiraExpressionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_analyseExpression = new TypeReference() {}; @@ -90,7 +90,7 @@ public Single analyseExpression( /** * Evaluate Jira expression - * Evaluates a Jira expression and returns its value. This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details. #### Context variables #### The following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions. * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous. * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The Connect app that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)). * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object. * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object. * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object. * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object. * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object. * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object. * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object. This operation can be accessed anonymously. **[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`). + * Evaluates a Jira expression and returns its value. This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details. #### Context variables #### The following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions. * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous. * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)). * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object. * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object. * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object. * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object. * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object. * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object. * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object. This operation can be accessed anonymously. **[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`). * @param jiraExpressionEvalRequestBean The Jira expression and the evaluation context. (required) * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JiraSettingsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JiraSettingsApi.java index d90455e..7b1f905 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JiraSettingsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JiraSettingsApi.java @@ -41,7 +41,7 @@ public class JiraSettingsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getAdvancedSettings = new TypeReference>() {}; @@ -149,7 +149,7 @@ public Single getConfiguration(Optional /** * Set application property - * Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values. #### Advanced settings #### The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM). | Key | Description | Default value | | -- | -- | -- | | `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | | `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | | `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | | `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | | `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | | `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` | | `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | | `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | | `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | #### Look and feel #### The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg). | Key | Description | Default value | | -- | -- | -- | | `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | | `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | | `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | | `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | | `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | | `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | | `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | | `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | | `jira.lf.top.adg3.bgcolour` | The background color of the sidebar. | `#0747A6` | | `jira.lf.top.adg3.textcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | | `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | | `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | | `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | | `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | #### Other settings #### | Key | Description | Default value | | -- | -- | -- | | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | *Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values. #### Advanced settings #### The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM). | Key | Description | Default value | | -- | -- | -- | | `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | | `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | | `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | | `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | | `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | | `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` | | `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | | `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | | `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | #### Look and feel #### The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg). | Key | Description | Default value | | -- | -- | -- | | `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | | `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | | `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | | `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | | `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | | `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | | `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | | `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | | `jira.lf.navigation.bgcolour` | The background color of the sidebar. | `#0747A6` | | `jira.lf.navigation.highlightcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | | `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | | `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | | `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | | `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | #### Other settings #### | Key | Description | Default value | | -- | -- | -- | | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | *Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param id The key of the application property to update. (required) * @param simpleApplicationPropertyBean (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JqlApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JqlApi.java index 10d8a3a..ccdffe6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JqlApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/JqlApi.java @@ -35,6 +35,7 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.JQLReferenceData; import org.everit.atlassian.restclient.jiracloud.v2.model.JqlQueriesToParse; import org.everit.atlassian.restclient.jiracloud.v2.model.ParsedJqlQueries; +import org.everit.atlassian.restclient.jiracloud.v2.model.SearchAutoCompleteFilter; import java.util.ArrayList; import java.util.Collection; @@ -45,10 +46,12 @@ public class JqlApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAutoComplete = new TypeReference() {}; + private static final TypeReference returnType_getAutoCompletePost = new TypeReference() {}; + private static final TypeReference returnType_getFieldAutoCompleteForQueryString = new TypeReference() {}; private static final TypeReference returnType_migrateQueries = new TypeReference() {}; @@ -62,8 +65,8 @@ public JqlApi(RestClient restClient) { } /** - * Get field reference data - * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. + * Get field reference data (GET) + * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder. To filter visible field details by project or collapse non-unique fields by field type then [Get field reference data (POST)](#api-rest-api-2-jql-autocompletedata-post) can be used. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<JQLReferenceData> */ @@ -87,6 +90,35 @@ public Single getAutoComplete(Optional re return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getAutoComplete); } + /** + * Get field reference data (POST) + * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder. This operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored. System fields are always returned. It can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across all fields with the same name and of the same field type. For example, the collapsed field `Component - Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched simultaneously. **[Permissions](#permissions) required:** None. + * @param searchAutoCompleteFilter (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<JQLReferenceData> + */ + public Single getAutoCompletePost( + SearchAutoCompleteFilter searchAutoCompleteFilter, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/jql/autocompletedata"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(searchAutoCompleteFilter)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getAutoCompletePost); + } + /** * Get field auto complete suggestions * Returns the JQL search auto complete suggestions for a field. Suggestions can be obtained by providing: * `fieldName` to get a list of all values for the field. * `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`. * `fieldName` and `predicateName` to get a list of all predicate values for the field. * `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in `predicateValue`. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/LabelsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/LabelsApi.java index 008ed28..c8b5840 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/LabelsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/LabelsApi.java @@ -39,7 +39,7 @@ public class LabelsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAllLabels = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/MyselfApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/MyselfApi.java index 07b0568..318fffe 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/MyselfApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/MyselfApi.java @@ -40,7 +40,7 @@ public class MyselfApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_deleteLocale = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/PermissionSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/PermissionSchemesApi.java index 33fdcc8..5578e4d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/PermissionSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/PermissionSchemesApi.java @@ -42,7 +42,7 @@ public class PermissionSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createPermissionGrant = new TypeReference() {}; @@ -108,7 +108,7 @@ public Single createPermissionGrant( * @return Single<PermissionScheme> */ public Single createPermissionScheme( - PermissionScheme requestBody, Optional expand, Optional restRequestEnhancer) { + Map requestBody, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -162,7 +162,7 @@ public Completable deletePermissionScheme( /** * Delete permission scheme grant - * Deletes a permission grant from a permission scheme. See [About permission schemes and grants](#about-permission-schemes) for more details. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Deletes a permission grant from a permission scheme. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param schemeId The ID of the permission scheme to delete the permission grant from. (required) * @param permissionId The ID of the permission grant to delete. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -320,7 +320,7 @@ public Single getPermissionSchemeGrants( /** * Update permission scheme - * Updates a permission scheme. Below are some important things to note when using this resource: * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants. * If you want to update only the name and description, then do not send a permissions list in the request. * Sending an empty list will remove all permission grants from the permission scheme. If you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-2-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-2-permissionscheme-schemeId-permission-permissionId-delete). See [About permission schemes and grants](#about-permission-schemes) for more details. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Updates a permission scheme. Below are some important things to note when using this resource: * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants. * If you want to update only the name and description, then do not send a permissions list in the request. * Sending an empty list will remove all permission grants from the permission scheme. If you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-2-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-2-permissionscheme-schemeId-permission-permissionId-delete). See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param schemeId The ID of the permission scheme to update. (required) * @param requestBody (required) * @param expand Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include: * `all` Returns all expandable information. * `field` Returns information about the custom field granted the permission. * `group` Returns information about the group that is granted the permission. * `permissions` Returns all permission grants for each permission scheme. * `projectRole` Returns information about the project role granted the permission. * `user` Returns information about the user who is granted the permission. (optional) @@ -328,7 +328,7 @@ public Single getPermissionSchemeGrants( * @return Single<PermissionScheme> */ public Single updatePermissionScheme( - Long schemeId, PermissionScheme requestBody, Optional expand, Optional restRequestEnhancer) { + Long schemeId, Map requestBody, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/PermissionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/PermissionsApi.java index e84dfae..ce01aab 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/PermissionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/PermissionsApi.java @@ -44,7 +44,7 @@ public class PermissionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAllPermissions = new TypeReference() {}; @@ -88,7 +88,7 @@ public Single getAllPermissions(Optional restR /** * Get bulk permissions - * Returns: * for a list of global permissions, the global permissions granted to a user. * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate. If no account ID is provided, the operation returns details for the logged in user. Note that: * Invalid project and issue IDs are ignored. * A maximum of 1000 projects and 1000 issues can be checked. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. + * Returns: * for a list of global permissions, the global permissions granted to a user. * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate. If no account ID is provided, the operation returns details for the logged in user. Note that: * Invalid project and issue IDs are ignored. * A maximum of 1000 projects and 1000 issues can be checked. * Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and `projectPermissions.issues` are ignored. * Empty strings in `projectPermissions.permissions` are ignored. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made using AP.request() in a browser. * @param bulkPermissionsRequestBean Details of the permissions to check. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<BulkPermissionGrants> diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectApi.java index 23e7932..3f956b5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectApi.java @@ -565,6 +565,76 @@ public Single searchProjects( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_searchProjects); } + /** + * Get projects paginated + *

Returns projects visible to the user.

This operation can be accessed anonymously.

Permissions required: Projects are returned only where the user has Browse Projects project permission for the project.

+ * @param startAt

The index of the first item to return in a page of results (page offset).

(optional, default to 0l) + * @param maxResults

The maximum number of items to return per page. The maximum is 50.

(optional, default to 50) + * @param orderBy

Order the results by a field. If the orderBy field is not set, then projects are listed in ascending order by project key:

  • category Sorts projects in order by project category. A complete list of category IDs is found using the Get all project categories operation.
  • key Sorts projects in order by project key.
  • name Sorts projects in alphabetical order by project name.
  • owner Sorts projects in order by the project lead.
(optional, default to key) + * @param query

Filter the results using a literal string. Projects with a matching key or name are returned (case insensitive).

(optional) + * @param typeKey

Orders results by the project type. This parameter accepts multiple values separated by a comma. Valid values are business, service_desk, and software.

(optional) + * @param categoryId

The ID of the project's category. A complete list of category IDs is found using the Get all project categories operation.

(optional) + * @param searchBy (optional, default to "key, name") + * @param action

Filter results by projects for which the user can:

  • view the project, meaning that they have one of the following permissions:

  • browse the project, meaning that they have the Browse projects project permission for the project.

  • edit the project, meaning that they have one of the following permissions:

    • Administer projects project permission for the project.
    • site administration (that is, member of the site-admin group).
(optional, default to view) + * @param expand

Use expand to include additional information in the response. This parameter accepts multiple values separated by a comma:

  • description Returns the project description.
  • projectKeys Returns all project keys associated with a project.
  • lead Returns information about the the project lead.
  • issueTypes Returns all issue types associated with the project.
  • url Returns the URL associated with the project.
(optional) + * @param id

Filter results by project ids.

+ * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanProject> + */ + public Single searchProjects( + Optional startAt, Optional maxResults, Optional orderBy, + Optional query, Optional typeKey, Optional categoryId, + Optional searchBy, Optional action, Optional expand, + Optional> id, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(ProjectApi.DEFAULT_BASE_PATH) + .path("/rest/api/2/project/search"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + if (orderBy.isPresent()) { + queryParams.put("orderBy", Collections.singleton(String.valueOf(orderBy.get()))); + } + if (query.isPresent()) { + queryParams.put("query", Collections.singleton(String.valueOf(query.get()))); + } + if (typeKey.isPresent()) { + queryParams.put("typeKey", Collections.singleton(String.valueOf(typeKey.get()))); + } + if (categoryId.isPresent()) { + queryParams.put("categoryId", Collections.singleton(String.valueOf(categoryId.get()))); + } + if (searchBy.isPresent()) { + queryParams.put("searchBy", Collections.singleton(String.valueOf(searchBy.get()))); + } + if (action.isPresent()) { + queryParams.put("action", Collections.singleton(String.valueOf(action.get()))); + } + if (expand.isPresent()) { + queryParams.put("expand", Collections.singleton(String.valueOf(expand.get()))); + } + if (id.isPresent()) { + queryParams.put("id", id.get()); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return this.restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, + ProjectApi.returnType_searchProjects); + } + /** * Update project *

Updates the project details of a project.

All parameters are optional in the body of the request.

Permissions required: Administer Jira global permission.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectAvatarsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectAvatarsApi.java index e99d28d..33ed41d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectAvatarsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectAvatarsApi.java @@ -40,7 +40,7 @@ public class ProjectAvatarsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createProjectAvatar = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectCategoriesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectCategoriesApi.java index 6c85b75..f90dba5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectCategoriesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectCategoriesApi.java @@ -40,7 +40,7 @@ public class ProjectCategoriesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createProjectCategory = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectComponentsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectComponentsApi.java index cac1fbe..ecc8132 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectComponentsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectComponentsApi.java @@ -28,9 +28,9 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; -import org.everit.atlassian.restclient.jiracloud.v2.model.Component; import org.everit.atlassian.restclient.jiracloud.v2.model.ComponentIssuesCount; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanComponentWithIssueCount; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectComponent; import java.util.ArrayList; import java.util.Collection; @@ -41,19 +41,19 @@ public class ProjectComponentsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; - private static final TypeReference returnType_createComponent = new TypeReference() {}; + private static final TypeReference returnType_createComponent = new TypeReference() {}; - private static final TypeReference returnType_getComponent = new TypeReference() {}; + private static final TypeReference returnType_getComponent = new TypeReference() {}; private static final TypeReference returnType_getComponentRelatedIssues = new TypeReference() {}; - private static final TypeReference> returnType_getProjectComponents = new TypeReference>() {}; + private static final TypeReference> returnType_getProjectComponents = new TypeReference>() {}; private static final TypeReference returnType_getProjectComponentsPaginated = new TypeReference() {}; - private static final TypeReference returnType_updateComponent = new TypeReference() {}; + private static final TypeReference returnType_updateComponent = new TypeReference() {}; private final RestClient restClient; @@ -64,12 +64,12 @@ public ProjectComponentsApi(RestClient restClient) { /** * Create component * Creates a component. Use components to provide containers for issues within a project. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the component is created or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param component (required) + * @param projectComponent (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Component> + * @return Single<ProjectComponent> */ - public Single createComponent( - Component component, Optional restRequestEnhancer) { + public Single createComponent( + ProjectComponent projectComponent, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -85,7 +85,7 @@ public Single createComponent( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(component)); + requestBuilder.requestBody(Optional.of(projectComponent)); return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createComponent); } @@ -127,9 +127,9 @@ public Completable deleteComponent( * Returns a component. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component. * @param id The ID of the component. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Component> + * @return Single<ProjectComponent> */ - public Single getComponent( + public Single getComponent( String id, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() @@ -183,9 +183,9 @@ public Single getComponentRelatedIssues( * Returns all components in a project. See the [Get project components paginated](#api-rest-api-2-project-projectIdOrKey-component-get) resource if you want to get a full list of components with pagination. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * @param projectIdOrKey The project ID or project key (case sensitive). (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<List<Component>> + * @return Single<List<ProjectComponent>> */ - public Single> getProjectComponents( + public Single> getProjectComponents( String projectIdOrKey, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() @@ -254,12 +254,12 @@ public Single getProjectComponentsPaginated( * Update component * Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string (\"\") the component lead is removed. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param id The ID of the component. (required) - * @param component (required) + * @param projectComponent (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Component> + * @return Single<ProjectComponent> */ - public Single updateComponent( - String id, Component component, Optional restRequestEnhancer) { + public Single updateComponent( + String id, ProjectComponent projectComponent, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) @@ -276,7 +276,7 @@ public Single updateComponent( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(component)); + requestBuilder.requestBody(Optional.of(projectComponent)); return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateComponent); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectEmailApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectEmailApi.java index 4bf88f7..f7298d6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectEmailApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectEmailApi.java @@ -39,7 +39,7 @@ public class ProjectEmailApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getProjectEmail = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectKeyAndNameValidationApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectKeyAndNameValidationApi.java index 62fcaef..6c229fa 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectKeyAndNameValidationApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectKeyAndNameValidationApi.java @@ -39,7 +39,7 @@ public class ProjectKeyAndNameValidationApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getValidProjectKey = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectPermissionSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectPermissionSchemesApi.java index 524d2ec..0b53a17 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectPermissionSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectPermissionSchemesApi.java @@ -42,7 +42,7 @@ public class ProjectPermissionSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_assignPermissionScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectPropertiesApi.java index 574a0c8..7a13d33 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectPropertiesApi.java @@ -40,7 +40,7 @@ public class ProjectPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getProjectProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectRoleActorsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectRoleActorsApi.java index 03b505c..5bebd60 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectRoleActorsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectRoleActorsApi.java @@ -42,7 +42,7 @@ public class ProjectRoleActorsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addActorUsers = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectRolesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectRolesApi.java index 7b107f3..67c6428 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectRolesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectRolesApi.java @@ -30,6 +30,7 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.CreateUpdateRoleRequestBean; import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectRole; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectRoleDetails; import java.net.URI; import java.util.ArrayList; @@ -41,7 +42,7 @@ public class ProjectRolesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createProjectRole = new TypeReference() {}; @@ -53,7 +54,7 @@ public class ProjectRolesApi { private static final TypeReference returnType_getProjectRoleById = new TypeReference() {}; - private static final TypeReference> returnType_getProjectRoleDetails = new TypeReference>() {}; + private static final TypeReference> returnType_getProjectRoleDetails = new TypeReference>() {}; private static final TypeReference> returnType_getProjectRoles = new TypeReference>() {}; @@ -248,9 +249,9 @@ public Single getProjectRoleById( * @param currentMember Whether the roles should be filtered to include only those the user is assigned to. (optional, default to false) * @param excludeConnectAddons (optional, default to false) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<List<ProjectRole>> + * @return Single<List<ProjectRoleDetails>> */ - public Single> getProjectRoleDetails( + public Single> getProjectRoleDetails( String projectIdOrKey, Optional currentMember, Optional excludeConnectAddons, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectTypesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectTypesApi.java index 0df3b26..7818a4f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectTypesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectTypesApi.java @@ -39,7 +39,7 @@ public class ProjectTypesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAccessibleProjectTypeByKey = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectVersionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectVersionsApi.java index a0e17d9..b9ba53a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectVersionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectVersionsApi.java @@ -44,7 +44,7 @@ public class ProjectVersionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createVersion = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectsApi.java index d47a845..e3b800d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectsApi.java @@ -28,14 +28,15 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; +import org.everit.atlassian.restclient.jiracloud.v2.model.CreateProjectDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeWithStatus; import org.everit.atlassian.restclient.jiracloud.v2.model.NotificationScheme; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanProject; import org.everit.atlassian.restclient.jiracloud.v2.model.Project; import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectIdentifiers; -import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectInputBean; import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectIssueTypeHierarchy; import org.everit.atlassian.restclient.jiracloud.v2.model.TaskProgressBeanObject; +import org.everit.atlassian.restclient.jiracloud.v2.model.UpdateProjectDetails; import java.util.ArrayList; import java.util.Collection; @@ -46,7 +47,7 @@ public class ProjectsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_archiveProject = new TypeReference() {}; @@ -62,6 +63,8 @@ public class ProjectsApi { private static final TypeReference returnType_getProject = new TypeReference() {}; + private static final TypeReference> returnType_getRecent = new TypeReference>() {}; + private static final TypeReference returnType_restore = new TypeReference() {}; private static final TypeReference returnType_searchProjects = new TypeReference() {}; @@ -78,7 +81,7 @@ public ProjectsApi(RestClient restClient) { /** * Archive project - * Archives a project. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param projectIdOrKey The project ID or project key (case sensitive). (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<Object> @@ -106,13 +109,13 @@ public Single archiveProject( /** * Create project - * Creates a project based on a project type template, as shown in the following table: | Project Type Key | Project Template Key | |--|--| | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-desk`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk` | | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | The project types are available according to the installed Jira features as follows: * Jira Core, the default, enables `business` projects. * Jira Service Desk enables `service_desk` projects. * Jira Software enables `software` projects. To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add JIRA Software or JIRA Service Desk into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param projectInputBean The JSON representation of the project being created. (required) + * Creates a project based on a project type template, as shown in the following table: | Project Type Key | Project Template Key | |--|--| | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-desk`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk` | | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | The project types are available according to the installed Jira features as follows: * Jira Core, the default, enables `business` projects. * Jira Service Management enables `service_desk` projects. * Jira Software enables `software` projects. To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param createProjectDetails The JSON representation of the project being created. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<ProjectIdentifiers> */ public Single createProject( - ProjectInputBean projectInputBean, Optional restRequestEnhancer) { + CreateProjectDetails createProjectDetails, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -128,16 +131,16 @@ public Single createProject( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(projectInputBean)); + requestBuilder.requestBody(Optional.of(createProjectDetails)); return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createProject); } /** * Delete project - * Deletes a project. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Deletes a project. You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param projectIdOrKey The project ID or project key (case sensitive). (required) - * @param enableUndo EXPERIMENTAL. Whether this project is placed in the Jira recycle bin where it will be available for restoration. (optional, default to false) + * @param enableUndo Whether this project is placed in the Jira recycle bin where it will be available for restoration. (optional, default to false) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable */ @@ -267,7 +270,9 @@ public Single> getAllStatuses( * @param projectId The ID of the project. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<ProjectIssueTypeHierarchy> + * @deprecated */ + @Deprecated public Single getHierarchy( Long projectId, Optional restRequestEnhancer) { @@ -357,6 +362,40 @@ public Single getProject( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getProject); } + /** + * Get recent projects + * Returns a list of up to 20 projects recently viewed by the user that are still visible to the user. This operation can be accessed anonymously. **[Permissions](#permissions) required:** Projects are returned only where the user has one of: * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include: * `description` Returns the project description. * `projectKeys` Returns all project keys associated with a project. * `lead` Returns information about the project lead. * `issueTypes` Returns all issue types associated with the project. * `url` Returns the URL associated with the project. * `permissions` Returns the permissions associated with the project. * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project. * `*` Returns the project with all available expand options. (optional) + * @param properties EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list. Invalid property names are ignored. (optional, default to new ArrayList<>()) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<List<Project>> + */ + public Single> getRecent( + Optional expand, Optional> properties, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/project/recent"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (expand.isPresent()) { + queryParams.put("expand", Collections.singleton(String.valueOf(expand.get()))); + } + if (properties.isPresent()) { + queryParams.put("properties", RestClientUtil.objectCollectionToStringCollection(properties.get())); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getRecent); + } + /** * Restore deleted project * Restores a project from the Jira recycle bin. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). @@ -391,18 +430,21 @@ public Single restore( * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) * @param orderBy [Order](#ordering) the results by a field. * `category` Sorts by project category. A complete list of category IDs is found using [Get all project categories](#api-rest-api-2-projectCategory-get). * `issueCount` Sorts by the total number of issues in each project. * `key` Sorts by project key. * `lastIssueUpdatedTime` Sorts by the last issue update time. * `name` Sorts by project name. * `owner` Sorts by project lead. * `archivedDate` EXPERIMENTAL. Sorts by project archived date. * `deletedDate` EXPERIMENTAL. Sorts by project deleted date. (optional, default to key) + * @param id The project IDs to filter the results by. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. Up to 50 project IDs can be provided. (optional, default to new ArrayList<>()) + * @param keys The project keys to filter the results by. To include multiple keys, provide an ampersand-separated list. For example, `keys=PA&keys=PB`. Up to 50 project keys can be provided. (optional, default to new ArrayList<>()) * @param query Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case insensitive). (optional) * @param typeKey Orders results by the [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`. (optional) * @param categoryId The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation. (optional) - * @param searchBy (optional, default to "key, name") * @param action Filter results by projects for which the user can: * `view` the project, meaning that they have one of the following permissions: * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * `browse` the project, meaning that they have the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * `edit` the project, meaning that they have one of the following permissions: * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). (optional, default to view) * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include: * `description` Returns the project description. * `projectKeys` Returns all project keys associated with a project. * `lead` Returns information about the project lead. * `issueTypes` Returns all issue types associated with the project. * `url` Returns the URL associated with the project. * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project. (optional) * @param status EXPERIMENTAL. Filter results by project status: * `live` Search live projects. * `archived` Search archived projects. * `deleted` Search deleted projects, those in the recycle bin. (optional, default to new ArrayList<>()) + * @param properties EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list. (optional, default to new ArrayList<>()) + * @param propertyQuery EXPERIMENTAL. A query string used to search properties. The query string cannot be specified using a JSON object. For example, to search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `[thepropertykey].something.nested=1`. Note that the propertyQuery key is enclosed in square brackets to enable searching where the propertyQuery key includes dot (.) or equals (=) characters. Note that `thepropertykey` is only returned when included in `properties`. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanProject> */ public Single searchProjects( - Optional startAt, Optional maxResults, Optional orderBy, Optional query, Optional typeKey, Optional categoryId, Optional searchBy, Optional action, Optional expand, Optional> status, Optional restRequestEnhancer) { + Optional startAt, Optional maxResults, Optional orderBy, Optional> id, Optional> keys, Optional query, Optional typeKey, Optional categoryId, Optional action, Optional expand, Optional> status, Optional> properties, Optional propertyQuery, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -422,6 +464,12 @@ public Single searchProjects( if (orderBy.isPresent()) { queryParams.put("orderBy", Collections.singleton(String.valueOf(orderBy.get()))); } + if (id.isPresent()) { + queryParams.put("id", RestClientUtil.objectCollectionToStringCollection(id.get())); + } + if (keys.isPresent()) { + queryParams.put("keys", RestClientUtil.objectCollectionToStringCollection(keys.get())); + } if (query.isPresent()) { queryParams.put("query", Collections.singleton(String.valueOf(query.get()))); } @@ -431,9 +479,6 @@ public Single searchProjects( if (categoryId.isPresent()) { queryParams.put("categoryId", Collections.singleton(String.valueOf(categoryId.get()))); } - if (searchBy.isPresent()) { - queryParams.put("searchBy", Collections.singleton(String.valueOf(searchBy.get()))); - } if (action.isPresent()) { queryParams.put("action", Collections.singleton(String.valueOf(action.get()))); } @@ -443,6 +488,12 @@ public Single searchProjects( if (status.isPresent()) { queryParams.put("status", RestClientUtil.objectCollectionToStringCollection(status.get())); } + if (properties.isPresent()) { + queryParams.put("properties", RestClientUtil.objectCollectionToStringCollection(properties.get())); + } + if (propertyQuery.isPresent()) { + queryParams.put("propertyQuery", Collections.singleton(String.valueOf(propertyQuery.get()))); + } requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); @@ -455,13 +506,13 @@ public Single searchProjects( * Update project * Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project. All parameters are optional in the body of the request. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param projectIdOrKey The project ID or project key (case sensitive). (required) - * @param projectInputBean The project details to be updated. (required) + * @param updateProjectDetails The project details to be updated. (required) * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include: * `description` The project description. * `issueTypes` The issue types associated with the project. * `lead` The project lead. * `projectKeys` All project keys associated with the project. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<Project> */ public Single updateProject( - String projectIdOrKey, ProjectInputBean projectInputBean, Optional expand, Optional restRequestEnhancer) { + String projectIdOrKey, UpdateProjectDetails updateProjectDetails, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) @@ -481,7 +532,7 @@ public Single updateProject( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(projectInputBean)); + requestBuilder.requestBody(Optional.of(updateProjectDetails)); return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateProject); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenSchemesApi.java index 288b005..1e81637 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenSchemesApi.java @@ -42,7 +42,7 @@ public class ScreenSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createScreenScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenTabFieldsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenTabFieldsApi.java index 14dcc69..b8c6331 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenTabFieldsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenTabFieldsApi.java @@ -41,7 +41,7 @@ public class ScreenTabFieldsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addScreenTabField = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenTabsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenTabsApi.java index fec9ecd..c2ddfcc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenTabsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreenTabsApi.java @@ -39,7 +39,7 @@ public class ScreenTabsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addScreenTab = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreensApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreensApi.java index 5521d06..6c08ae0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreensApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ScreensApi.java @@ -29,6 +29,7 @@ import org.everit.http.restclient.TypeReference; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanScreen; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanScreenWithTab; import org.everit.atlassian.restclient.jiracloud.v2.model.Screen; import org.everit.atlassian.restclient.jiracloud.v2.model.ScreenDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.ScreenableField; @@ -43,7 +44,7 @@ public class ScreensApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addFieldToDefaultScreen = new TypeReference() {}; @@ -53,7 +54,7 @@ public class ScreensApi { private static final TypeReference returnType_getScreens = new TypeReference() {}; - private static final TypeReference returnType_getScreensForField = new TypeReference() {}; + private static final TypeReference returnType_getScreensForField = new TypeReference() {}; private static final TypeReference returnType_updateScreen = new TypeReference() {}; @@ -220,11 +221,12 @@ public Single getScreens( * @param fieldId The ID of the field to return screens for. (required) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 100) + * @param expand Use [expand](#expansion) to include additional information about screens in the response. This parameter accepts `tab` which returns details about the screen tabs the field is used in. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<PageBeanScreen> + * @return Single<PageBeanScreenWithTab> */ - public Single getScreensForField( - String fieldId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + public Single getScreensForField( + String fieldId, Optional startAt, Optional maxResults, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -242,6 +244,9 @@ public Single getScreensForField( if (maxResults.isPresent()) { queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); } + if (expand.isPresent()) { + queryParams.put("expand", Collections.singleton(String.valueOf(expand.get()))); + } requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ServerInfoApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ServerInfoApi.java index d6c5435..7a82faa 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ServerInfoApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ServerInfoApi.java @@ -39,7 +39,7 @@ public class ServerInfoApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getServerInfo = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/TasksApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/TasksApi.java index 530e236..390a783 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/TasksApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/TasksApi.java @@ -39,7 +39,7 @@ public class TasksApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_cancelTask = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/TimeTrackingApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/TimeTrackingApi.java index ef2c641..12a1863 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/TimeTrackingApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/TimeTrackingApi.java @@ -40,7 +40,7 @@ public class TimeTrackingApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getAvailableTimeTrackingImplementations = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UserPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UserPropertiesApi.java index 4add183..754242f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UserPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UserPropertiesApi.java @@ -40,7 +40,7 @@ public class UserPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getUserProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UserSearchApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UserSearchApi.java index 98fdc8a..47238c4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UserSearchApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UserSearchApi.java @@ -42,7 +42,7 @@ public class UserSearchApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_findAssignableUsers = new TypeReference>() {}; @@ -71,7 +71,7 @@ public UserSearchApi(RestClient restClient) { * Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to: * a new issue, by providing the `projectKeyOrId`. * an updated issue, by providing the `issueKey`. * to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-rest-api-2-issue-issueIdOrKey-get). In all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition. This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code. **[Permissions](#permissions) required:** Permission to access Jira. * @param query A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `username` or `accountId` is specified. (optional) * @param sessionId The sessionId of this request. SessionId is the same until the assignee is set. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. (optional) * @param project The project ID or project key (case sensitive). Required, unless `issueKey` is specified. (optional) * @param issueKey The key of the issue. Required, unless `project` is specified. (optional) @@ -137,7 +137,7 @@ public Single> findAssignableUsers( * Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string. This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. * @param projectKeys A list of project keys (case sensitive). This parameter accepts a comma-separated list. (required) * @param query A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. (optional) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0) * @param maxResults The maximum number of items to return per page. (optional, default to 50) @@ -308,7 +308,7 @@ public Single findUsersByQuery( * @param query A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. (required) * @param maxResults The maximum number of items to return. The total number of matched users is returned in `total`. (optional, default to 50) * @param showAvatar Include the URI to the user's avatar. (optional, default to false) - * @param exclude This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional, default to new ArrayList<>()) + * @param exclude This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional, default to new ArrayList<>()) * @param excludeAccountIds A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`. Cannot be provided with `exclude`. (optional, default to new ArrayList<>()) * @param avatarSize (optional) * @param excludeConnectUsers (optional, default to false) @@ -359,7 +359,7 @@ public Single findUsersForPicker( * Returns a list of users who fulfill these criteria: * their user attributes match a search string. * they have a set of permissions for a project or issue. If no search string is provided, a list of all users with the permissions is returned. This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project. * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project. * @param permissions A comma separated list of permissions. Permissions can be specified as any: * permission returned by [Get all permissions](#api-rest-api-2-permissions-get). * custom project permission added by Connect apps. * (deprecated) one of the following: * ASSIGNABLE\\_USER * ASSIGN\\_ISSUE * ATTACHMENT\\_DELETE\\_ALL * ATTACHMENT\\_DELETE\\_OWN * BROWSE * CLOSE\\_ISSUE * COMMENT\\_DELETE\\_ALL * COMMENT\\_DELETE\\_OWN * COMMENT\\_EDIT\\_ALL * COMMENT\\_EDIT\\_OWN * COMMENT\\_ISSUE * CREATE\\_ATTACHMENT * CREATE\\_ISSUE * DELETE\\_ISSUE * EDIT\\_ISSUE * LINK\\_ISSUE * MANAGE\\_WATCHER\\_LIST * MODIFY\\_REPORTER * MOVE\\_ISSUE * PROJECT\\_ADMIN * RESOLVE\\_ISSUE * SCHEDULE\\_ISSUE * SET\\_ISSUE\\_SECURITY * TRANSITION\\_ISSUE * VIEW\\_VERSION\\_CONTROL * VIEW\\_VOTERS\\_AND\\_WATCHERS * VIEW\\_WORKFLOW\\_READONLY * WORKLOG\\_DELETE\\_ALL * WORKLOG\\_DELETE\\_OWN * WORKLOG\\_EDIT\\_ALL * WORKLOG\\_EDIT\\_OWN * WORK\\_ISSUE (required) * @param query A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. (optional) * @param issueKey The issue key for the issue. (optional) * @param projectKey The project key for the project (case sensitive). (optional) @@ -414,7 +414,7 @@ public Single> findUsersWithAllPermissions( * Find users with browse permission * Returns a list of users who fulfill these criteria: * their user attributes match a search string. * they have permission to browse issues. Use this resource to find users who can browse: * an issue, by providing the `issueKey`. * any issue in a project, by providing the `projectKey`. This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results. * @param query A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. (optional) * @param issueKey The issue key for the issue. Required, unless `projectKey` is specified. (optional) * @param projectKey The project key for the project (case sensitive). Required, unless `issueKey` is specified. (optional) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UsersApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UsersApi.java index dd8ae19..c469247 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UsersApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/UsersApi.java @@ -34,7 +34,6 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.UnrestrictedUserEmail; import org.everit.atlassian.restclient.jiracloud.v2.model.User; import org.everit.atlassian.restclient.jiracloud.v2.model.UserMigrationBean; -import org.everit.atlassian.restclient.jiracloud.v2.model.UserWriteBean; import java.util.ArrayList; import java.util.Collection; @@ -45,7 +44,7 @@ public class UsersApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_bulkGetUsers = new TypeReference() {}; @@ -163,13 +162,13 @@ public Single> bulkGetUsersMigration( /** * Create user - * Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated. The option is provided to set or generate a password for the user. When using the option to generate a password, by omitting `password` from the request, include `\"notification\": \"true\"` to ensure the user is sent an email advising them that their account is created. This email includes a link for the user to set their password. If the notification isn't sent for a generated password, the user will need to be sent a reset password request from Jira. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated. If the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have access to Jira, the operation returns a 400 status. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param requestBody Details about the user to be created. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<User> */ public Single createUser( - UserWriteBean requestBody, Optional restRequestEnhancer) { + Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -262,8 +261,8 @@ public Single> getAllUsersDefault( * Get user * Returns a user. **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details. (optional) - * @param key This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details. (optional) + * @param key This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details. (optional) * @param expand Use [expand](#expansion) to include additional information about users in the response. This parameter accepts a comma-separated list. Expand options include: * `groups` includes all groups and nested groups to which the user belongs. * `applicationRoles` includes details of all the applications to which the user has access. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<User> @@ -304,7 +303,7 @@ public Single getUser( * Get user default columns * Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId` is not passed in the request, the calling user's details are returned. **[Permissions](#permissions) required:** * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for any user. * Permission to access Jira, to get the calling user's column details. * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<List<ColumnItem>> */ @@ -394,8 +393,8 @@ public Single getUserEmailBulk( * Get user groups * Returns the groups to which a user belongs. **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (required) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) - * @param key This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param key This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<List<GroupName>> */ @@ -430,8 +429,8 @@ public Single> getUserGroups( * Delete user * Deletes a user. **[Permissions](#permissions) required:** Site administration (that is, membership of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)). * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (required) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) - * @param key This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param key This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable */ @@ -466,7 +465,7 @@ public Completable removeUser( * Reset user default columns * Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system default. If `accountId` is not passed, the calling user's default columns are reset. **[Permissions](#permissions) required:** * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user. * Permission to access Jira, to set the calling user's columns. * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable */ diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WebhooksApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WebhooksApi.java index 5b3f5d4..44dd1a8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WebhooksApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WebhooksApi.java @@ -45,7 +45,7 @@ public class WebhooksApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getDynamicWebhooksForApp = new TypeReference() {}; @@ -63,7 +63,7 @@ public WebhooksApi(RestClient restClient) { /** * Delete webhooks by ID - * Removes webhooks by ID. Only webhooks registered by the calling Connect app are removed. If webhooks created by other apps are specified, they are ignored. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps are specified, they are ignored. **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. * @param containerForWebhookIDs (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable @@ -92,7 +92,7 @@ public Completable deleteWebhookById( /** * Get dynamic webhooks for app - * Returns a [paginated](#pagination) list of the webhooks registered by the calling app. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Returns a [paginated](#pagination) list of the webhooks registered by the calling app. **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 100) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -126,7 +126,7 @@ public Single getDynamicWebhooksForApp( /** * Get failed webhooks - * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries. After 72 hours the failure may no longer be returned by this operation. The oldest failure is returned first. This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries. After 72 hours the failure may no longer be returned by this operation. The oldest failure is returned first. This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation. * @param maxResults The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page. (optional) * @param after The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -160,7 +160,7 @@ public Single getFailedWebhooks( /** * Extend webhook life - * Webhooks registered through the REST API expire after 30 days. Call this resource periodically to keep them alive. Unrecognized webhook IDs (nonexistent or belonging to other apps) are ignored. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Webhooks registered through the REST API expire after 30 days. Call this resource periodically to keep them alive. Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored. **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. * @param containerForWebhookIDs (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<WebhooksExpirationDate> @@ -189,7 +189,7 @@ public Single refreshWebhooks( /** * Register dynamic webhooks - * Registers webhooks. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Registers webhooks. **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. * @param webhookRegistrationDetails (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<ContainerForRegisteredWebhooks> diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemeDraftsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemeDraftsApi.java index 9058174..a40e137 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemeDraftsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemeDraftsApi.java @@ -31,6 +31,8 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.DefaultWorkflow; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeWorkflowMapping; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypesWorkflowMapping; +import org.everit.atlassian.restclient.jiracloud.v2.model.PublishDraftWorkflowScheme; +import org.everit.atlassian.restclient.jiracloud.v2.model.TaskProgressBeanObject; import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowScheme; import java.util.ArrayList; @@ -42,7 +44,7 @@ public class WorkflowSchemeDraftsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createWorkflowSchemeDraftFromParent = new TypeReference() {}; @@ -334,6 +336,41 @@ public Single getWorkflowSchemeDraftIssueType( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getWorkflowSchemeDraftIssueType); } + /** + * Publish draft workflow scheme + * Publishes a draft workflow scheme. Where the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues with the original workflow status to the new workflow status. This operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain updates. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param id The ID of the workflow scheme that the draft belongs to. (required) + * @param publishDraftWorkflowScheme Details of the status mappings. (required) + * @param validateOnly Whether the request only performs a validation. (optional, default to false) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Completable + */ + public Completable publishDraftWorkflowScheme( + Long id, PublishDraftWorkflowScheme publishDraftWorkflowScheme, Optional validateOnly, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/workflowscheme/{id}/draft/publish"); + + Map pathParams = new HashMap<>(); + pathParams.put("id", String.valueOf(id)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (validateOnly.isPresent()) { + queryParams.put("validateOnly", Collections.singleton(String.valueOf(validateOnly.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(publishDraftWorkflowScheme)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer); + } + /** * Set workflow for issue type in draft workflow scheme * Sets the workflow for an issue type in a workflow scheme's draft. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemeProjectAssociationsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemeProjectAssociationsApi.java index ed90978..e44de8d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemeProjectAssociationsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemeProjectAssociationsApi.java @@ -40,9 +40,9 @@ public class WorkflowSchemeProjectAssociationsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; - private static final TypeReference returnType_associateSchemeWithProject = new TypeReference() {}; + private static final TypeReference returnType_assignSchemeToProject = new TypeReference() {}; private static final TypeReference returnType_getWorkflowSchemeProjectAssociations = new TypeReference() {}; @@ -59,7 +59,7 @@ public WorkflowSchemeProjectAssociationsApi(RestClient restClient) { * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<Object> */ - public Single associateSchemeWithProject( + public Single assignSchemeToProject( WorkflowSchemeProjectAssociation workflowSchemeProjectAssociation, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() @@ -78,7 +78,7 @@ public Single associateSchemeWithProject( requestBuilder.requestBody(Optional.of(workflowSchemeProjectAssociation)); - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_associateSchemeWithProject); + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_assignSchemeToProject); } /** diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemesApi.java index 47c05a8..23f077f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowSchemesApi.java @@ -43,7 +43,7 @@ public class WorkflowSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createWorkflowScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowStatusCategoriesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowStatusCategoriesApi.java index d2fda7c..80236e5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowStatusCategoriesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowStatusCategoriesApi.java @@ -39,7 +39,7 @@ public class WorkflowStatusCategoriesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getStatusCategories = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowStatusesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowStatusesApi.java index 8dee316..289599b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowStatusesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowStatusesApi.java @@ -39,7 +39,7 @@ public class WorkflowStatusesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getStatus = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowTransitionPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowTransitionPropertiesApi.java index f77f692..2b3fb5e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowTransitionPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowTransitionPropertiesApi.java @@ -39,7 +39,7 @@ public class WorkflowTransitionPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createWorkflowTransitionProperty = new TypeReference() {}; @@ -65,7 +65,7 @@ public WorkflowTransitionPropertiesApi(RestClient restClient) { * @return Single<WorkflowTransitionProperty> */ public Single createWorkflowTransitionProperty( - Long transitionId, String key, String workflowName, WorkflowTransitionProperty requestBody, Optional workflowMode, Optional restRequestEnhancer) { + Long transitionId, String key, String workflowName, Map requestBody, Optional workflowMode, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -182,7 +182,7 @@ public Single getWorkflowTransitionProperties( * @return Single<WorkflowTransitionProperty> */ public Single updateWorkflowTransitionProperty( - Long transitionId, String key, String workflowName, WorkflowTransitionProperty requestBody, Optional workflowMode, Optional restRequestEnhancer) { + Long transitionId, String key, String workflowName, Map requestBody, Optional workflowMode, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowTransitionRulesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowTransitionRulesApi.java index 7744b89..e45a06d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowTransitionRulesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowTransitionRulesApi.java @@ -32,6 +32,7 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanWorkflowTransitionRules; import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowTransitionRulesUpdate; import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowTransitionRulesUpdateErrors; +import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowsWithTransitionRulesDetails; import java.util.ArrayList; import java.util.Collection; @@ -42,7 +43,9 @@ public class WorkflowTransitionRulesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_deleteWorkflowTransitionRuleConfigurations = new TypeReference() {}; private static final TypeReference returnType_getWorkflowTransitionRuleConfigurations = new TypeReference() {}; @@ -54,6 +57,35 @@ public WorkflowTransitionRulesApi(RestClient restClient) { this.restClient = restClient; } + /** + * Delete workflow transition rule configurations + * Deletes workflow transition rules from one or more workflows. These rule types are supported: * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/) * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/) Only rules created by the calling Connect app can be deleted. **[Permissions](#permissions) required:** Only Connect apps can use this operation. + * @param workflowsWithTransitionRulesDetails (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<WorkflowTransitionRulesUpdateErrors> + */ + public Single deleteWorkflowTransitionRuleConfigurations( + WorkflowsWithTransitionRulesDetails workflowsWithTransitionRulesDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/workflow/rule/config/delete"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(workflowsWithTransitionRulesDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_deleteWorkflowTransitionRuleConfigurations); + } + /** * Get workflow transition rule configurations * Returns a [paginated](#pagination) list of workflows with transition rules. The workflows can be filtered to return only those containing workflow transition rules: * of one or more transition rule types, such as [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/). * matching one or more transition rule keys. Only workflows containing transition rules created by the calling Connect app are returned. However, if a workflow is returned all transition rules that match the filters are returned for that workflow. Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be ignored. **[Permissions](#permissions) required:** Only Connect apps can use this operation. @@ -61,12 +93,15 @@ public WorkflowTransitionRulesApi(RestClient restClient) { * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 10) * @param keys The transition rule class keys, as defined in the Connect app descriptor, of the transition rules to return. (optional, default to new ArrayList<>()) + * @param workflowNames EXPERIMENTAL: The list of workflow names to filter by. (optional, default to new ArrayList<>()) + * @param withTags EXPERIMENTAL: The list of `tags` to filter by. (optional, default to new ArrayList<>()) + * @param draft EXPERIMENTAL: Whether draft or published workflows are returned. If not provided, both workflow types are returned. (optional) * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts `transition`, which, for each rule, returns information about the transition the rule is assigned to. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanWorkflowTransitionRules> */ public Single getWorkflowTransitionRuleConfigurations( - List types, Optional startAt, Optional maxResults, Optional> keys, Optional expand, Optional restRequestEnhancer) { + List types, Optional startAt, Optional maxResults, Optional> keys, Optional> workflowNames, Optional> withTags, Optional draft, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -87,6 +122,15 @@ public Single getWorkflowTransitionRuleConfigur if (keys.isPresent()) { queryParams.put("keys", RestClientUtil.objectCollectionToStringCollection(keys.get())); } + if (workflowNames.isPresent()) { + queryParams.put("workflowNames", RestClientUtil.objectCollectionToStringCollection(workflowNames.get())); + } + if (withTags.isPresent()) { + queryParams.put("withTags", RestClientUtil.objectCollectionToStringCollection(withTags.get())); + } + if (draft.isPresent()) { + queryParams.put("draft", Collections.singleton(String.valueOf(draft.get()))); + } if (expand.isPresent()) { queryParams.put("expand", Collections.singleton(String.valueOf(expand.get()))); } @@ -100,7 +144,7 @@ public Single getWorkflowTransitionRuleConfigur /** * Update workflow transition rule configurations - * Updates configuration of workflow transition rules. The following rule types are supported: * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/) * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/) Only rules created by the calling Connect app can be updated. **[Permissions](#permissions) required:** Only Connect apps can use this operation. + * Updates configuration of workflow transition rules. The following rule types are supported: * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/) * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/) Only rules created by the calling Connect app can be updated. To assist with app migration, this operation can be used to: * Disable a rule. * Add a `tag`. Use this to filter rules in the [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get). Rules are enabled if the `disabled` parameter is not provided. **[Permissions](#permissions) required:** Only Connect apps can use this operation. * @param workflowTransitionRulesUpdate (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<WorkflowTransitionRulesUpdateErrors> diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowsApi.java index 8297fc6..16c1b9e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/WorkflowsApi.java @@ -28,9 +28,11 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; +import org.everit.atlassian.restclient.jiracloud.v2.model.CreateWorkflowDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.DeprecatedWorkflow; import org.everit.atlassian.restclient.jiracloud.v2.model.ErrorCollection; import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanWorkflow; +import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowIDs; import java.util.ArrayList; import java.util.Collection; @@ -41,7 +43,9 @@ public class WorkflowsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_createWorkflow = new TypeReference() {}; private static final TypeReference> returnType_getAllWorkflows = new TypeReference>() {}; @@ -53,6 +57,63 @@ public WorkflowsApi(RestClient restClient) { this.restClient = restClient; } + /** + * Create workflow + * Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no transitional rules are specified the default system transition rules are used. #### Conditions #### Conditions enable workflow rules that govern whether a transition can execute. ##### Always false condition ##### A condition that always fails. { \"type\": \"AlwaysFalseCondition\" } ##### Block transition until approval ##### A condition that blocks issue transition if there is a pending approval. { \"type\": \"BlockInProgressApprovalCondition\" } ##### Compare number custom field condition ##### A condition that allows transition if a comparison between a number custom field and a value is true. { \"type\": \"CompareNumberCFCondition\", \"configuration\": { \"comparator\": \"=\", \"fieldId\": \"customfield_10029\", \"fieldValue\": 2 } } * `comparator` One of the supported comparator: `=`, `>` and `<`. * `fieldId` The custom numeric field ID. * `fieldValue` The value for comparison. ##### Hide from user condition ##### A condition that hides a transition from users. The transition can only be triggered from a workflow function or REST API operation. { \"type\": \"RemoteOnlyCondition\" } ##### Only assignee condition ##### A condition that allows only the assignee to execute a transition. { \"type\": \"AllowOnlyAssignee\" } ##### Only Bamboo notifications workflow condition ##### A condition that makes the transition available only to Bamboo build notifications. { \"type\": \"OnlyBambooNotificationsCondition\" } ##### Only reporter condition ##### A condition that allows only the reporter to execute a transition. { \"type\": \"AllowOnlyReporter\" } ##### Permission condition ##### A condition that allows only users with a permission to execute a transition. { \"type\": \"PermissionCondition\", \"configuration\": { \"permissionKey\": \"BROWSE_PROJECTS\" } } * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions. ##### Previous status condition ##### A condition that allows a transition based on whether an issue has or has not transitioned through a status. { \"type\": \"PreviousStatusCondition\", \"configuration\": { \"ignoreLoopTransitions\": true, \"includeCurrentStatus\": true, \"mostRecentStatusOnly\": true, \"reverseCondition\": true, \"previousStatus\": { \"id\": \"5\" } } } By default this condition allows the transition if the status, as defined by its ID in the `previousStatus` object, matches any previous issue status, unless: * `ignoreLoopTransitions` is `true`, then loop transitions (from and to the same status) are ignored. * `includeCurrentStatus` is `true`, then the current issue status is also checked. * `mostRecentStatusOnly` is `true`, then only the issue's preceding status (the one immediately before the current status) is checked. * `reverseCondition` is `true`, then the status must not be present. ##### Separation of duties condition ##### A condition that prevents a user to perform the transition, if the user has already performed a transition on the issue. { \"type\": \"SeparationOfDutiesCondition\", \"configuration\": { \"fromStatus\": { \"id\": \"5\" }, \"toStatus\": { \"id\": \"6\" } } } * `fromStatus` OPTIONAL. An object containing the ID of the source status of the transition that is blocked. If omitted any transition to `toStatus` is blocked. * `toStatus` An object containing the ID of the target status of the transition that is blocked. ##### Subtask blocking condition ##### A condition that blocks transition on a parent issue if any of its subtasks are in any of one or more statuses. { \"type\": \"SubTaskBlockingCondition\", \"configuration\": { \"statuses\": [ { \"id\": \"1\" }, { \"id\": \"3\" } ] } } * `statuses` A list of objects containing status IDs. ##### User is in any group condition ##### A condition that allows users belonging to any group from a list of groups to execute a transition. { \"type\": \"UserInAnyGroupCondition\", \"configuration\": { \"groups\": [ \"administrators\", \"atlassian-addons-admin\" ] } } * `groups` A list of group names. ##### User is in any project role condition ##### A condition that allows only users with at least one project roles from a list of project roles to execute a transition. { \"type\": \"InAnyProjectRoleCondition\", \"configuration\": { \"projectRoles\": [ { \"id\": \"10002\" }, { \"id\": \"10003\" }, { \"id\": \"10012\" }, { \"id\": \"10013\" } ] } } * `projectRoles` A list of objects containing project role IDs. ##### User is in custom field condition ##### A condition that allows only users listed in a given custom field to execute the transition. { \"type\": \"UserIsInCustomFieldCondition\", \"configuration\": { \"allowUserInField\": false, \"fieldId\": \"customfield_10010\" } } * `allowUserInField` If `true` only a user who is listed in `fieldId` can perform the transition, otherwise, only a user who is not listed in `fieldId` can perform the transition. * `fieldId` The ID of the field containing the list of users. ##### User is in group condition ##### A condition that allows users belonging to a group to execute a transition. { \"type\": \"UserInGroupCondition\", \"configuration\": { \"group\": \"administrators\", } } * `group` The name of the group. ##### User is in group custom field condition ##### A condition that allows users belonging to a group specified in a custom field to execute a transition. { \"type\": \"InGroupCFCondition\", \"configuration\": { \"fieldId\": \"customfield_10012\", } } * `fieldId` The ID of the field. ##### User is in project role condition ##### A condition that allows users with a project role to execute a transition. { \"type\": \"InProjectRoleCondition\", \"configuration\": { \"projectRole\": { \"id\": \"10002\" } } } * `projectRole` An object containing the ID of a project role. ##### Value field condition ##### A conditions that allows a transition to execute if the value of a field is equal to a constant value or simply set. { \"type\": \"ValueFieldCondition\", \"configuration\": { \"fieldId\": \"assignee\", \"fieldValue\": \"qm:6e1ecee6-8e64-4db6-8c85-916bb3275f51:54b56885-2bd2-4381-8239-78263442520f\", \"comparisonType\": \"NUMBER\", \"comparator\": \"=\" } } * `fieldId` The ID of a field used in the comparison. * `fieldValue` The expected value of the field. * `comparisonType` The type of the comparison. Allowed values: `STRING`, `NUMBER`, `DATE`, `DATE_WITHOUT_TIME`, or `OPTIONID`. * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`. **Notes:** * If you choose the comparison type `STRING`, only `=` and `!=` are valid options. * You may leave `fieldValue` empty when comparison type is `!=` to indicate that a value is required in the field. * For date fields without time format values as `yyyy-MM-dd`, and for those with time as `yyyy-MM-dd HH:mm`. For example, for July 16 2021 use `2021-07-16`, for 8:05 AM use `2021-07-16 08:05`, and for 4 PM: `2021-07-16 16:00`. #### Validators #### Validators check that any input made to the transition is valid before the transition is performed. ##### Date field validator ##### A validator that compares two dates. { \"type\": \"DateFieldValidator\", \"configuration\": { \"comparator\": \">\", \"date1\": \"updated\", \"date2\": \"created\", \"expression\": \"1d\", \"includeTime\": true } } * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, or `!=`. * `date1` The date field to validate. * `date2` The second date field. Required, if `expression` is not passed. * `expression` An expression specifying an offset. Required, if `date2` is not passed. Offsets are built with a number, with `-` as prefix for the past, and one of these time units: `d` for day, `w` for week, `m` for month, or `y` for year. For example, -2d means two days into the past and 1w means one week into the future. The `now` keyword enables a comparison with the current date. * `includeTime` If `true`, then the time part of the data is included for the comparison. If the field doesn't have a time part, 00:00:00 is used. ##### Windows date validator ##### A validator that checks that a date falls on or after a reference date and before or on the reference date plus a number of days. { \"type\": \"WindowsDateValidator\", \"configuration\": { \"date1\": \"customfield_10009\", \"date2\": \"created\", \"windowsDays\": 5 } } * `date1` The date field to validate. * `date2` The reference date. * `windowsDays` A positive integer indicating a number of days. ##### Field required validator ##### A validator that checks fields are not empty. By default, if a field is not included in the current context it's ignored and not validated. { \"type\": \"FieldRequiredValidator\", \"configuration\": { \"ignoreContext\": true, \"errorMessage\": \"Hey\", \"fieldIds\": [ \"versions\", \"customfield_10037\", \"customfield_10003\" ] } } * `ignoreContext` If `true`, then the context is ignored and all the fields are validated. * `errorMessage` OPTIONAL. The error message displayed when one or more fields are empty. A default error message is shown if an error message is not provided. * `fieldIds` The list of fields to validate. ##### Field changed validator ##### A validator that checks that a field value is changed. However, this validation can be ignored for users from a list of groups. { \"type\": \"FieldChangedValidator\", \"configuration\": { \"fieldId\": \"comment\", \"errorMessage\": \"Hey\", \"exemptedGroups\": [ \"administrators\", \"atlassian-addons-admin\" ] } } * `fieldId` The ID of a field. * `errorMessage` OPTIONAL. The error message displayed if the field is not changed. A default error message is shown if the error message is not provided. * `exemptedGroups` OPTIONAL. The list of groups. ##### Field has single value validator ##### A validator that checks that a multi-select field has only one value. Optionally, the validation can ignore values copied from subtasks. { \"type\": \"FieldHasSingleValueValidator\", \"configuration\": { \"fieldId\": \"attachment, \"excludeSubtasks\": true } } * `fieldId` The ID of a field. * `excludeSubtasks` If `true`, then values copied from subtasks are ignored. ##### Parent status validator ##### A validator that checks the status of the parent issue of a subtask. Ìf the issue is not a subtask, no validation is performed. { \"type\": \"ParentStatusValidator\", \"configuration\": { \"parentStatuses\": [ { \"id\":\"1\" }, { \"id\":\"2\" } ] } } * `parentStatus` The list of required parent issue statuses. ##### Permission validator ##### A validator that checks the user has a permission. { \"type\": \"PermissionValidator\", \"configuration\": { \"permissionKey\": \"ADMINISTER_PROJECTS\" } } * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions. ##### Previous status validator ##### A validator that checks if the issue has held a status. { \"type\": \"PreviousStatusValidator\", \"configuration\": { \"mostRecentStatusOnly\": false, \"previousStatus\": { \"id\": \"15\" } } } * `mostRecentStatusOnly` If `true`, then only the issue's preceding status (the one immediately before the current status) is checked. * `previousStatus` An object containing the ID of an issue status. ##### Regular expression validator ##### A validator that checks the content of a field against a regular expression. { \"type\": \"RegexpFieldValidator\", \"configuration\": { \"regExp\": \"[0-9]\", \"fieldId\": \"customfield_10029\" } } * `regExp`A regular expression. * `fieldId` The ID of a field. ##### User permission validator ##### A validator that checks if a user has a permission. Obsolete. You may encounter this validator when getting transition rules and can pass it when updating or creating rules, for example, when you want to duplicate the rules from a workflow on a new workflow. { \"type\": \"UserPermissionValidator\", \"configuration\": { \"permissionKey\": \"BROWSE_PROJECTS\", \"nullAllowed\": false, \"username\": \"TestUser\" } } * `permissionKey` The permission to be validated. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions. * `nullAllowed` If `true`, allows the transition when `username` is empty. * `username` The username to validate against the `permissionKey`. #### Post functions #### Post functions carry out any additional processing required after a Jira workflow transition is executed. ##### Fire issue event function ##### A post function that fires an event that is processed by the listeners. { \"type\": \"FireIssueEventFunction\", \"configuration\": { \"event\": { \"id\":\"1\" } } } **Note:** If provided, this post function overrides the default `FireIssueEventFunction`. Can be included once in a transition. * `event` An object containing the ID of the issue event. ##### Update issue status ##### A post function that sets issue status to the linked status of the destination workflow status. { \"type\": \"UpdateIssueStatusFunction\" } **Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once. ##### Create comment ##### A post function that adds a comment entered during the transition to an issue. { \"type\": \"CreateCommentFunction\" } **Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once. ##### Store issue ##### A post function that stores updates to an issue. { \"type\": \"IssueStoreFunction\" } **Note:** This post function can only be added to the initial transition and can only be added once. ##### Assign to current user function ##### A post function that assigns the issue to the current user if the current user has the `ASSIGNABLE_USER` permission. { \"type\": \"AssignToCurrentUserFunction\" } **Note:** This post function can be included once in a transition. ##### Assign to lead function ##### A post function that assigns the issue to the project or component lead developer. { \"type\": \"AssignToLeadFunction\" } **Note:** This post function can be included once in a transition. ##### Assign to reporter function ##### A post function that assigns the issue to the reporter. { \"type\": \"AssignToReporterFunction\" } **Note:** This post function can be included once in a transition. ##### Clear field value function ##### A post function that clears the value from a field. { \"type\": \"ClearFieldValuePostFunction\", \"configuration\": { \"fieldId\": \"assignee\" } } * `fieldId` The ID of the field. ##### Copy value from other field function ##### A post function that copies the value of one field to another, either within an issue or from parent to subtask. { \"type\": \"CopyValueFromOtherFieldPostFunction\", \"configuration\": { \"sourceFieldId\": \"assignee\", \"destinationFieldId\": \"creator\", \"copyType\": \"same\" } } * `sourceFieldId` The ID of the source field. * `destinationFieldId` The ID of the destination field. * `copyType` Use `same` to copy the value from a field inside the issue, or `parent` to copy the value from the parent issue. ##### Create Crucible review workflow function ##### A post function that creates a Crucible review for all unreviewed code for the issue. { \"type\": \"CreateCrucibleReviewWorkflowFunction\" } **Note:** This post function can be included once in a transition. ##### Set issue security level based on user's project role function ##### A post function that sets the issue's security level if the current user has a project role. { \"type\": \"SetIssueSecurityFromRoleFunction\", \"configuration\": { \"projectRole\": { \"id\":\"10002\" }, \"issueSecurityLevel\": { \"id\":\"10000\" } } } * `projectRole` An object containing the ID of the project role. * `issueSecurityLevel` OPTIONAL. The object containing the ID of the security level. If not passed, then the security level is set to `none`. ##### Trigger a webhook function ##### A post function that triggers a webhook. { \"type\": \"TriggerWebhookFunction\", \"configuration\": { \"webhook\": { \"id\": \"1\" } } } * `webhook` An object containing the ID of the webhook listener to trigger. ##### Update issue custom field function ##### A post function that updates the content of an issue custom field. { \"type\": \"UpdateIssueCustomFieldPostFunction\", \"configuration\": { \"mode\": \"append\", \"fieldId\": \"customfield_10003\", \"fieldValue\": \"yikes\" } } * `mode` Use `replace` to override the field content with `fieldValue` or `append` to add `fieldValue` to the end of the field content. * `fieldId` The ID of the field. * `fieldValue` The update content. ##### Update issue field function ##### A post function that updates a simple issue field. { \"type\": \"UpdateIssueFieldFunction\", \"configuration\": { \"fieldId\": \"assignee\", \"fieldValue\": \"5f0c277e70b8a90025a00776\", } } * `fieldId` The ID of the field. * `fieldValue` The update value. * If the `fieldId` is `assignee`, the `fieldValue` should be one of these values: * an account ID. * `automatic`. * a blank string, which sets the value to `unassigned`. * Can be used only for fields : `assignee`, `description`, `environment`, `priority`, `resolution`, `summary`, `time_original_estimate`, `time_estimate`, and `time_spent`. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param createWorkflowDetails The workflow details. (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<WorkflowIDs> + */ + public Single createWorkflow( + CreateWorkflowDetails createWorkflowDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/workflow"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(createWorkflowDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createWorkflow); + } + + /** + * Delete inactive workflow + * Deletes a workflow. The workflow cannot be deleted if it is: * an active workflow. * a system workflow. * associated with any workflow scheme. * associated with any draft workflow scheme. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param entityId The entity ID of the workflow. (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Completable + */ + public Completable deleteInactiveWorkflow( + String entityId, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.DELETE) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/2/workflow/{entityId}"); + + Map pathParams = new HashMap<>(); + pathParams.put("entityId", String.valueOf(entityId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer); + } + /** * Get all workflows * Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-2-workflow-search-get). If the `workflowName` parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). @@ -90,8 +151,8 @@ public Single> getAllWorkflows( * Returns a [paginated](#pagination) list of published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise, all published classic workflows are returned. This operation does not return next-gen workflows. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) - * @param workflowName The name of a workflow to return. (optional, default to new ArrayList<>()) - * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * `transitions` For each workflow, returns information about the transitions inside the workflow. * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested. * `statuses` For each workflow, returns information about the statuses inside the workflow. * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested. (optional) + * @param workflowName The name of a workflow to return. To include multiple workflows, provide an ampersand-separated list. For example, `workflowName=name1&workflowName=name2`. (optional, default to new ArrayList<>()) + * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * `transitions` For each workflow, returns information about the transitions inside the workflow. * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested. * `statuses` For each workflow, returns information about the statuses inside the workflow. * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested. * `default` For each workflow, returns information about whether this is the default workflow. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanWorkflow> */ diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ActorInputBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ActorInputBean.java index 4e2bc25..6929820 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ActorInputBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ActorInputBean.java @@ -41,7 +41,7 @@ /** * ActorInputBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ActorInputBean { @JsonProperty("user") private List user = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ActorsMap.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ActorsMap.java index aad70f7..a5ac827 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ActorsMap.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ActorsMap.java @@ -41,7 +41,7 @@ /** * ActorsMap */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ActorsMap { @JsonProperty("user") private List user = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AddFieldBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AddFieldBean.java index e1c25fe..967a86a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AddFieldBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AddFieldBean.java @@ -39,7 +39,7 @@ /** * AddFieldBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AddFieldBean { @JsonProperty("fieldId") private String fieldId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AddGroupBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AddGroupBean.java index 0646022..35d047d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AddGroupBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AddGroupBean.java @@ -41,7 +41,7 @@ /** * AddGroupBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AddGroupBean { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Application.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Application.java index 139e510..3ce7d32 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Application.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Application.java @@ -42,7 +42,7 @@ * The application the linked item is in. */ @ApiModel(description = "The application the linked item is in.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Application { @JsonProperty("type") private String type; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ApplicationProperty.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ApplicationProperty.java index 92c3fd0..9b413c8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ApplicationProperty.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ApplicationProperty.java @@ -42,7 +42,7 @@ * Details of an application property. */ @ApiModel(description = "Details of an application property.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ApplicationProperty { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ApplicationRole.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ApplicationRole.java index 3c2de8b..54ef705 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ApplicationRole.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ApplicationRole.java @@ -42,7 +42,7 @@ * Details of an application role. */ @ApiModel(description = "Details of an application role.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ApplicationRole { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AssociatedItemBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AssociatedItemBean.java index 2fb62a7..0bc123f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AssociatedItemBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AssociatedItemBean.java @@ -40,7 +40,7 @@ * Details of an item associated with the changed record. */ @ApiModel(description = "Details of an item associated with the changed record.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AssociatedItemBean { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Attachment.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Attachment.java index 14042a8..116e0db 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Attachment.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Attachment.java @@ -44,7 +44,7 @@ * Details about an attachment. */ @ApiModel(description = "Details about an attachment.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Attachment { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchive.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchive.java new file mode 100644 index 0000000..8df5bfb --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchive.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.AttachmentArchiveEntry; + +/** + * AttachmentArchive + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class AttachmentArchive { + @JsonProperty("moreAvailable") + private Boolean moreAvailable; + + @JsonProperty("totalNumberOfEntriesAvailable") + private Integer totalNumberOfEntriesAvailable; + + @JsonProperty("totalEntryCount") + private Integer totalEntryCount; + + @JsonProperty("entries") + private List entries = new ArrayList<>(); + + public AttachmentArchive moreAvailable(Boolean moreAvailable) { + this.moreAvailable = moreAvailable; + return this; + } + + /** + * Get moreAvailable + * @return moreAvailable + **/ + @ApiModelProperty(value = "") + public Boolean getMoreAvailable() { + return moreAvailable; + } + + public void setMoreAvailable(Boolean moreAvailable) { + this.moreAvailable = moreAvailable; + } + + public AttachmentArchive totalNumberOfEntriesAvailable(Integer totalNumberOfEntriesAvailable) { + this.totalNumberOfEntriesAvailable = totalNumberOfEntriesAvailable; + return this; + } + + /** + * Get totalNumberOfEntriesAvailable + * @return totalNumberOfEntriesAvailable + **/ + @ApiModelProperty(value = "") + public Integer getTotalNumberOfEntriesAvailable() { + return totalNumberOfEntriesAvailable; + } + + public void setTotalNumberOfEntriesAvailable(Integer totalNumberOfEntriesAvailable) { + this.totalNumberOfEntriesAvailable = totalNumberOfEntriesAvailable; + } + + public AttachmentArchive totalEntryCount(Integer totalEntryCount) { + this.totalEntryCount = totalEntryCount; + return this; + } + + /** + * Get totalEntryCount + * @return totalEntryCount + **/ + @ApiModelProperty(value = "") + public Integer getTotalEntryCount() { + return totalEntryCount; + } + + public void setTotalEntryCount(Integer totalEntryCount) { + this.totalEntryCount = totalEntryCount; + } + + public AttachmentArchive entries(List entries) { + this.entries = entries; + return this; + } + + public AttachmentArchive addEntriesItem(AttachmentArchiveEntry entriesItem) { + if (this.entries == null) { + this.entries = new ArrayList<>(); + } + this.entries.add(entriesItem); + return this; + } + + /** + * Get entries + * @return entries + **/ + @ApiModelProperty(value = "") + public List getEntries() { + return entries; + } + + public void setEntries(List entries) { + this.entries = entries; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AttachmentArchive attachmentArchive = (AttachmentArchive) o; + return Objects.equals(this.moreAvailable, attachmentArchive.moreAvailable) && + Objects.equals(this.totalNumberOfEntriesAvailable, attachmentArchive.totalNumberOfEntriesAvailable) && + Objects.equals(this.totalEntryCount, attachmentArchive.totalEntryCount) && + Objects.equals(this.entries, attachmentArchive.entries); + } + + @Override + public int hashCode() { + return Objects.hash(moreAvailable, totalNumberOfEntriesAvailable, totalEntryCount, entries); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AttachmentArchive {\n"); + + sb.append(" moreAvailable: ").append(toIndentedString(moreAvailable)).append("\n"); + sb.append(" totalNumberOfEntriesAvailable: ").append(toIndentedString(totalNumberOfEntriesAvailable)).append("\n"); + sb.append(" totalEntryCount: ").append(toIndentedString(totalEntryCount)).append("\n"); + sb.append(" entries: ").append(toIndentedString(entries)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveEntry.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveEntry.java index 01703a1..6e98868 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveEntry.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveEntry.java @@ -39,7 +39,7 @@ /** * AttachmentArchiveEntry */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AttachmentArchiveEntry { @JsonProperty("entryIndex") private Long entryIndex; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveImpl.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveImpl.java index fc50287..ff09626 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveImpl.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveImpl.java @@ -42,7 +42,7 @@ /** * AttachmentArchiveImpl */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AttachmentArchiveImpl { @JsonProperty("entries") private List entries = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveItemReadable.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveItemReadable.java index 2a31ed5..c47fab7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveItemReadable.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveItemReadable.java @@ -40,7 +40,7 @@ * Metadata for an item in an attachment archive. */ @ApiModel(description = "Metadata for an item in an attachment archive.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AttachmentArchiveItemReadable { @JsonProperty("path") private String path; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveMetadataReadable.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveMetadataReadable.java index 28ce8ba..a1f0607 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveMetadataReadable.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentArchiveMetadataReadable.java @@ -43,7 +43,7 @@ * Metadata for an archive (for example a zip) and its contents. */ @ApiModel(description = "Metadata for an archive (for example a zip) and its contents.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AttachmentArchiveMetadataReadable { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentMetadata.java index 5f56731..a9100cc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentMetadata.java @@ -46,7 +46,7 @@ * Metadata for an issue attachment. */ @ApiModel(description = "Metadata for an issue attachment.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AttachmentMetadata { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentSettings.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentSettings.java index 6ea2386..9deb0dd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentSettings.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AttachmentSettings.java @@ -40,7 +40,7 @@ * Details of the instance's attachment settings. */ @ApiModel(description = "Details of the instance's attachment settings.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AttachmentSettings { @JsonProperty("enabled") private Boolean enabled; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AuditRecordBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AuditRecordBean.java index e599d32..b3c9d70 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AuditRecordBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AuditRecordBean.java @@ -45,7 +45,7 @@ * An audit record. */ @ApiModel(description = "An audit record.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AuditRecordBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AuditRecords.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AuditRecords.java index 7f9dd99..0253cfd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AuditRecords.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AuditRecords.java @@ -43,7 +43,7 @@ * Container for a list of audit records. */ @ApiModel(description = "Container for a list of audit records.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AuditRecords { @JsonProperty("offset") private Integer offset; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AutoCompleteSuggestion.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AutoCompleteSuggestion.java index 9307671..6acbc7c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AutoCompleteSuggestion.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AutoCompleteSuggestion.java @@ -40,7 +40,7 @@ * A field auto-complete suggestion. */ @ApiModel(description = "A field auto-complete suggestion.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AutoCompleteSuggestion { @JsonProperty("value") private String value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AutoCompleteSuggestions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AutoCompleteSuggestions.java index e090845..823fe24 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AutoCompleteSuggestions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AutoCompleteSuggestions.java @@ -43,7 +43,7 @@ * The results from a JQL query. */ @ApiModel(description = "The results from a JQL query.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AutoCompleteSuggestions { @JsonProperty("results") private List results = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Avatar.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Avatar.java index 353af36..14743ba 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Avatar.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Avatar.java @@ -44,7 +44,7 @@ * Details of an avatar. */ @ApiModel(description = "Details of an avatar.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Avatar { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AvatarUrlsBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AvatarUrlsBean.java index 4706465..b52af0f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AvatarUrlsBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/AvatarUrlsBean.java @@ -40,7 +40,7 @@ /** * AvatarUrlsBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class AvatarUrlsBean { @JsonProperty("16x16") private URI _16x16; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Avatars.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Avatars.java index 9ddb1fe..bbf0295 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Avatars.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Avatars.java @@ -43,7 +43,7 @@ * Details about system and custom avatars. */ @ApiModel(description = "Details about system and custom avatars.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Avatars { @JsonProperty("system") private List system = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkCustomFieldOptionCreateRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkCustomFieldOptionCreateRequest.java new file mode 100644 index 0000000..4a8ed2d --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkCustomFieldOptionCreateRequest.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldOptionCreate; + +/** + * Details of the options to create for a custom field. + */ +@ApiModel(description = "Details of the options to create for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class BulkCustomFieldOptionCreateRequest { + @JsonProperty("options") + private List options = new ArrayList<>(); + + public BulkCustomFieldOptionCreateRequest options(List options) { + this.options = options; + return this; + } + + public BulkCustomFieldOptionCreateRequest addOptionsItem(CustomFieldOptionCreate optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * Details of options to create. + * @return options + **/ + @ApiModelProperty(value = "Details of options to create.") + public List getOptions() { + return options; + } + + public void setOptions(List options) { + this.options = options; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BulkCustomFieldOptionCreateRequest bulkCustomFieldOptionCreateRequest = (BulkCustomFieldOptionCreateRequest) o; + return Objects.equals(this.options, bulkCustomFieldOptionCreateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(options); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BulkCustomFieldOptionCreateRequest {\n"); + + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkCustomFieldOptionUpdateRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkCustomFieldOptionUpdateRequest.java new file mode 100644 index 0000000..38dd1a4 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkCustomFieldOptionUpdateRequest.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldOptionUpdate; + +/** + * Details of the options to update for a custom field. + */ +@ApiModel(description = "Details of the options to update for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class BulkCustomFieldOptionUpdateRequest { + @JsonProperty("options") + private List options = new ArrayList<>(); + + public BulkCustomFieldOptionUpdateRequest options(List options) { + this.options = options; + return this; + } + + public BulkCustomFieldOptionUpdateRequest addOptionsItem(CustomFieldOptionUpdate optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * Details of the options to update. + * @return options + **/ + @ApiModelProperty(value = "Details of the options to update.") + public List getOptions() { + return options; + } + + public void setOptions(List options) { + this.options = options; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BulkCustomFieldOptionUpdateRequest bulkCustomFieldOptionUpdateRequest = (BulkCustomFieldOptionUpdateRequest) o; + return Objects.equals(this.options, bulkCustomFieldOptionUpdateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(options); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BulkCustomFieldOptionUpdateRequest {\n"); + + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkIssuePropertyUpdateRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkIssuePropertyUpdateRequest.java index dba7b2c..f460152 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkIssuePropertyUpdateRequest.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkIssuePropertyUpdateRequest.java @@ -41,11 +41,14 @@ * Bulk issue property update request details. */ @ApiModel(description = "Bulk issue property update request details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class BulkIssuePropertyUpdateRequest { @JsonProperty("value") private Object value = null; + @JsonProperty("expression") + private String expression; + @JsonProperty("filter") private IssueFilterForBulkPropertySet filter; @@ -55,10 +58,10 @@ public BulkIssuePropertyUpdateRequest value(Object value) { } /** - * The value of the property. The value must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters. + * The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters. * @return value **/ - @ApiModelProperty(value = "The value of the property. The value must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.") + @ApiModelProperty(value = "The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.") public Object getValue() { return value; } @@ -67,6 +70,24 @@ public void setValue(Object value) { this.value = value; } + public BulkIssuePropertyUpdateRequest expression(String expression) { + this.expression = expression; + return this; + } + + /** + * EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON representation is longer than 32768 characters are ignored. + * @return expression + **/ + @ApiModelProperty(value = "EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON representation is longer than 32768 characters are ignored.") + public String getExpression() { + return expression; + } + + public void setExpression(String expression) { + this.expression = expression; + } + public BulkIssuePropertyUpdateRequest filter(IssueFilterForBulkPropertySet filter) { this.filter = filter; return this; @@ -96,12 +117,13 @@ public boolean equals(java.lang.Object o) { } BulkIssuePropertyUpdateRequest bulkIssuePropertyUpdateRequest = (BulkIssuePropertyUpdateRequest) o; return Objects.equals(this.value, bulkIssuePropertyUpdateRequest.value) && + Objects.equals(this.expression, bulkIssuePropertyUpdateRequest.expression) && Objects.equals(this.filter, bulkIssuePropertyUpdateRequest.filter); } @Override public int hashCode() { - return Objects.hash(value, filter); + return Objects.hash(value, expression, filter); } @@ -111,6 +133,7 @@ public String toString() { sb.append("class BulkIssuePropertyUpdateRequest {\n"); sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" expression: ").append(toIndentedString(expression)).append("\n"); sb.append(" filter: ").append(toIndentedString(filter)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkOperationErrorResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkOperationErrorResult.java index 3e85cd6..6b34f82 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkOperationErrorResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkOperationErrorResult.java @@ -40,7 +40,7 @@ /** * BulkOperationErrorResult */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class BulkOperationErrorResult { @JsonProperty("status") private Integer status; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkPermissionGrants.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkPermissionGrants.java index 373a8ed..9ef3a86 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkPermissionGrants.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkPermissionGrants.java @@ -43,7 +43,7 @@ * Details of global and project permissions granted to the user. */ @ApiModel(description = "Details of global and project permissions granted to the user.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class BulkPermissionGrants { @JsonProperty("projectPermissions") private List projectPermissions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkPermissionsRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkPermissionsRequestBean.java index 8ef737d..6a86d28 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkPermissionsRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkPermissionsRequestBean.java @@ -43,7 +43,7 @@ * Details of global permissions to look up and project permissions with associated projects and issues to look up. */ @ApiModel(description = "Details of global permissions to look up and project permissions with associated projects and issues to look up.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class BulkPermissionsRequestBean { @JsonProperty("projectPermissions") private List projectPermissions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkProjectPermissionGrants.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkProjectPermissionGrants.java index 3a16672..a1e2d6b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkProjectPermissionGrants.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkProjectPermissionGrants.java @@ -42,7 +42,7 @@ * List of project permissions and the projects and issues those permissions grant access to. */ @ApiModel(description = "List of project permissions and the projects and issues those permissions grant access to.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class BulkProjectPermissionGrants { @JsonProperty("permission") private String permission; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkProjectPermissions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkProjectPermissions.java index d2baff2..dd4ac42 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkProjectPermissions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/BulkProjectPermissions.java @@ -42,7 +42,7 @@ * Details of project permissions and associated issues and projects to look up. */ @ApiModel(description = "Details of project permissions and associated issues and projects to look up.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class BulkProjectPermissions { @JsonProperty("issues") private List issues = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangeDetails.java index a78e5a3..cacdcb3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangeDetails.java @@ -40,7 +40,7 @@ * A change item. */ @ApiModel(description = "A change item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ChangeDetails { @JsonProperty("field") private String field; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedValueBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedValueBean.java index d0b28b9..a2c0644 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedValueBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedValueBean.java @@ -40,7 +40,7 @@ * Details of names changed in the record event. */ @ApiModel(description = "Details of names changed in the record event.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ChangedValueBean { @JsonProperty("fieldName") private String fieldName; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedWorklog.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedWorklog.java index be8247b..bdc07a5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedWorklog.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedWorklog.java @@ -43,7 +43,7 @@ * Details of a changed worklog. */ @ApiModel(description = "Details of a changed worklog.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ChangedWorklog { @JsonProperty("worklogId") private Long worklogId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedWorklogs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedWorklogs.java index 3507994..7f761c4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedWorklogs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ChangedWorklogs.java @@ -44,7 +44,7 @@ * List of changed worklogs. */ @ApiModel(description = "List of changed worklogs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ChangedWorklogs { @JsonProperty("values") private List values = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Changelog.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Changelog.java index 096c2a1..f6c27f0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Changelog.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Changelog.java @@ -46,7 +46,7 @@ * A changelog. */ @ApiModel(description = "A changelog.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Changelog { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ColumnItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ColumnItem.java index 1257a4b..d345471 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ColumnItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ColumnItem.java @@ -40,7 +40,7 @@ * Details of an issue navigator column item. */ @ApiModel(description = "Details of an issue navigator column item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ColumnItem { @JsonProperty("label") private String label; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Comment.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Comment.java index 30d7d79..9a878d0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Comment.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Comment.java @@ -48,7 +48,7 @@ * A comment. */ @ApiModel(description = "A comment.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Comment { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ComponentIssuesCount.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ComponentIssuesCount.java index d582f83..864a02a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ComponentIssuesCount.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ComponentIssuesCount.java @@ -41,7 +41,7 @@ * Count of issues assigned to a component. */ @ApiModel(description = "Count of issues assigned to a component.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ComponentIssuesCount { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ComponentWithIssueCount.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ComponentWithIssueCount.java index 95549bf..e2c8d0e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ComponentWithIssueCount.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ComponentWithIssueCount.java @@ -42,32 +42,17 @@ * Details about a component with a count of the issues it contains. */ @ApiModel(description = "Details about a component with a count of the issues it contains.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ComponentWithIssueCount { @JsonProperty("issueCount") private Long issueCount; - @JsonProperty("description") - private String description; - - @JsonProperty("self") - private URI self; - - @JsonProperty("projectId") - private Long projectId; - - @JsonProperty("project") - private String project; - @JsonProperty("realAssignee") private User realAssignee; @JsonProperty("isAssigneeTypeValid") private Boolean isAssigneeTypeValid; - @JsonProperty("assignee") - private User assignee; - /** * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. */ @@ -110,6 +95,21 @@ public static RealAssigneeTypeEnum fromValue(String value) { @JsonProperty("realAssigneeType") private RealAssigneeTypeEnum realAssigneeType; + @JsonProperty("description") + private String description; + + @JsonProperty("self") + private URI self; + + @JsonProperty("projectId") + private Long projectId; + + @JsonProperty("assignee") + private User assignee; + + @JsonProperty("project") + private String project; + /** * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. */ @@ -170,42 +170,6 @@ public Long getIssueCount() { return issueCount; } - /** - * The description for the component. - * @return description - **/ - @ApiModelProperty(value = "The description for the component.") - public String getDescription() { - return description; - } - - /** - * The URL for this count of the issues contained in the component. - * @return self - **/ - @ApiModelProperty(value = "The URL for this count of the issues contained in the component.") - public URI getSelf() { - return self; - } - - /** - * Not used. - * @return projectId - **/ - @ApiModelProperty(value = "Not used.") - public Long getProjectId() { - return projectId; - } - - /** - * The key of the project to which the component is assigned. - * @return project - **/ - @ApiModelProperty(value = "The key of the project to which the component is assigned.") - public String getProject() { - return project; - } - public ComponentWithIssueCount realAssignee(User realAssignee) { this.realAssignee = realAssignee; return this; @@ -233,6 +197,42 @@ public Boolean getIsAssigneeTypeValid() { return isAssigneeTypeValid; } + /** + * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. + * @return realAssigneeType + **/ + @ApiModelProperty(value = "The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true.") + public RealAssigneeTypeEnum getRealAssigneeType() { + return realAssigneeType; + } + + /** + * The description for the component. + * @return description + **/ + @ApiModelProperty(value = "The description for the component.") + public String getDescription() { + return description; + } + + /** + * The URL for this count of the issues contained in the component. + * @return self + **/ + @ApiModelProperty(value = "The URL for this count of the issues contained in the component.") + public URI getSelf() { + return self; + } + + /** + * Not used. + * @return projectId + **/ + @ApiModelProperty(value = "Not used.") + public Long getProjectId() { + return projectId; + } + public ComponentWithIssueCount assignee(User assignee) { this.assignee = assignee; return this; @@ -252,12 +252,12 @@ public void setAssignee(User assignee) { } /** - * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. - * @return realAssigneeType + * The key of the project to which the component is assigned. + * @return project **/ - @ApiModelProperty(value = "The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true.") - public RealAssigneeTypeEnum getRealAssigneeType() { - return realAssigneeType; + @ApiModelProperty(value = "The key of the project to which the component is assigned.") + public String getProject() { + return project; } /** @@ -316,14 +316,14 @@ public boolean equals(java.lang.Object o) { } ComponentWithIssueCount componentWithIssueCount = (ComponentWithIssueCount) o; return Objects.equals(this.issueCount, componentWithIssueCount.issueCount) && + Objects.equals(this.realAssignee, componentWithIssueCount.realAssignee) && + Objects.equals(this.isAssigneeTypeValid, componentWithIssueCount.isAssigneeTypeValid) && + Objects.equals(this.realAssigneeType, componentWithIssueCount.realAssigneeType) && Objects.equals(this.description, componentWithIssueCount.description) && Objects.equals(this.self, componentWithIssueCount.self) && Objects.equals(this.projectId, componentWithIssueCount.projectId) && - Objects.equals(this.project, componentWithIssueCount.project) && - Objects.equals(this.realAssignee, componentWithIssueCount.realAssignee) && - Objects.equals(this.isAssigneeTypeValid, componentWithIssueCount.isAssigneeTypeValid) && Objects.equals(this.assignee, componentWithIssueCount.assignee) && - Objects.equals(this.realAssigneeType, componentWithIssueCount.realAssigneeType) && + Objects.equals(this.project, componentWithIssueCount.project) && Objects.equals(this.assigneeType, componentWithIssueCount.assigneeType) && Objects.equals(this.lead, componentWithIssueCount.lead) && Objects.equals(this.name, componentWithIssueCount.name) && @@ -332,7 +332,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(issueCount, description, self, projectId, project, realAssignee, isAssigneeTypeValid, assignee, realAssigneeType, assigneeType, lead, name, id); + return Objects.hash(issueCount, realAssignee, isAssigneeTypeValid, realAssigneeType, description, self, projectId, assignee, project, assigneeType, lead, name, id); } @@ -342,14 +342,14 @@ public String toString() { sb.append("class ComponentWithIssueCount {\n"); sb.append(" issueCount: ").append(toIndentedString(issueCount)).append("\n"); + sb.append(" realAssignee: ").append(toIndentedString(realAssignee)).append("\n"); + sb.append(" isAssigneeTypeValid: ").append(toIndentedString(isAssigneeTypeValid)).append("\n"); + sb.append(" realAssigneeType: ").append(toIndentedString(realAssigneeType)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" self: ").append(toIndentedString(self)).append("\n"); sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); - sb.append(" project: ").append(toIndentedString(project)).append("\n"); - sb.append(" realAssignee: ").append(toIndentedString(realAssignee)).append("\n"); - sb.append(" isAssigneeTypeValid: ").append(toIndentedString(isAssigneeTypeValid)).append("\n"); sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); - sb.append(" realAssigneeType: ").append(toIndentedString(realAssigneeType)).append("\n"); + sb.append(" project: ").append(toIndentedString(project)).append("\n"); sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); sb.append(" lead: ").append(toIndentedString(lead)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CompoundClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CompoundClause.java index 79371aa..2307d08 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CompoundClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CompoundClause.java @@ -42,7 +42,7 @@ * A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A OR B) AND C\". See Setting the precedence of operators for more information about precedence in JQL queries.` */ @ApiModel(description = "A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A OR B) AND C\". See Setting the precedence of operators for more information about precedence in JQL queries.`") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class CompoundClause { @JsonProperty("clauses") private List clauses = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectCustomFieldValue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectCustomFieldValue.java new file mode 100644 index 0000000..0651880 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectCustomFieldValue.java @@ -0,0 +1,312 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; + +/** + * A list of custom field details. + */ +@ApiModel(description = "A list of custom field details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ConnectCustomFieldValue { + /** + * The type of custom field. + */ + public enum TypeEnum { + STRINGISSUEFIELD("StringIssueField"), + + NUMBERISSUEFIELD("NumberIssueField"), + + RICHTEXTISSUEFIELD("RichTextIssueField"), + + SINGLESELECTISSUEFIELD("SingleSelectIssueField"), + + MULTISELECTISSUEFIELD("MultiSelectIssueField"), + + TEXTISSUEFIELD("TextIssueField"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("_type") + private TypeEnum type; + + @JsonProperty("issueID") + private Integer issueID; + + @JsonProperty("fieldID") + private Integer fieldID; + + @JsonProperty("string") + private String string; + + @JsonProperty("number") + private BigDecimal number; + + @JsonProperty("richText") + private String richText; + + @JsonProperty("optionID") + private String optionID; + + @JsonProperty("text") + private String text; + + public ConnectCustomFieldValue type(TypeEnum type) { + this.type = type; + return this; + } + + /** + * The type of custom field. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of custom field.") + public TypeEnum getType() { + return type; + } + + public void setType(TypeEnum type) { + this.type = type; + } + + public ConnectCustomFieldValue issueID(Integer issueID) { + this.issueID = issueID; + return this; + } + + /** + * The issue ID. + * @return issueID + **/ + @ApiModelProperty(required = true, value = "The issue ID.") + public Integer getIssueID() { + return issueID; + } + + public void setIssueID(Integer issueID) { + this.issueID = issueID; + } + + public ConnectCustomFieldValue fieldID(Integer fieldID) { + this.fieldID = fieldID; + return this; + } + + /** + * The custom field ID. + * @return fieldID + **/ + @ApiModelProperty(required = true, value = "The custom field ID.") + public Integer getFieldID() { + return fieldID; + } + + public void setFieldID(Integer fieldID) { + this.fieldID = fieldID; + } + + public ConnectCustomFieldValue string(String string) { + this.string = string; + return this; + } + + /** + * The value of string type custom field when `_type` is `StringIssueField`. + * @return string + **/ + @ApiModelProperty(value = "The value of string type custom field when `_type` is `StringIssueField`.") + public String getString() { + return string; + } + + public void setString(String string) { + this.string = string; + } + + public ConnectCustomFieldValue number(BigDecimal number) { + this.number = number; + return this; + } + + /** + * The value of number type custom field when `_type` is `NumberIssueField`. + * @return number + **/ + @ApiModelProperty(value = "The value of number type custom field when `_type` is `NumberIssueField`.") + public BigDecimal getNumber() { + return number; + } + + public void setNumber(BigDecimal number) { + this.number = number; + } + + public ConnectCustomFieldValue richText(String richText) { + this.richText = richText; + return this; + } + + /** + * The value of richText type custom field when `_type` is `RichTextIssueField`. + * @return richText + **/ + @ApiModelProperty(value = "The value of richText type custom field when `_type` is `RichTextIssueField`.") + public String getRichText() { + return richText; + } + + public void setRichText(String richText) { + this.richText = richText; + } + + public ConnectCustomFieldValue optionID(String optionID) { + this.optionID = optionID; + return this; + } + + /** + * The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or `MultiSelectIssueField`. + * @return optionID + **/ + @ApiModelProperty(value = "The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or `MultiSelectIssueField`.") + public String getOptionID() { + return optionID; + } + + public void setOptionID(String optionID) { + this.optionID = optionID; + } + + public ConnectCustomFieldValue text(String text) { + this.text = text; + return this; + } + + /** + * The value of of text custom field type when `_type` is `TextIssueField`. + * @return text + **/ + @ApiModelProperty(value = "The value of of text custom field type when `_type` is `TextIssueField`.") + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectCustomFieldValue connectCustomFieldValue = (ConnectCustomFieldValue) o; + return Objects.equals(this.type, connectCustomFieldValue.type) && + Objects.equals(this.issueID, connectCustomFieldValue.issueID) && + Objects.equals(this.fieldID, connectCustomFieldValue.fieldID) && + Objects.equals(this.string, connectCustomFieldValue.string) && + Objects.equals(this.number, connectCustomFieldValue.number) && + Objects.equals(this.richText, connectCustomFieldValue.richText) && + Objects.equals(this.optionID, connectCustomFieldValue.optionID) && + Objects.equals(this.text, connectCustomFieldValue.text); + } + + @Override + public int hashCode() { + return Objects.hash(type, issueID, fieldID, string, number, richText, optionID, text); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConnectCustomFieldValue {\n"); + + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" issueID: ").append(toIndentedString(issueID)).append("\n"); + sb.append(" fieldID: ").append(toIndentedString(fieldID)).append("\n"); + sb.append(" string: ").append(toIndentedString(string)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append(" richText: ").append(toIndentedString(richText)).append("\n"); + sb.append(" optionID: ").append(toIndentedString(optionID)).append("\n"); + sb.append(" text: ").append(toIndentedString(text)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectCustomFieldValues.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectCustomFieldValues.java new file mode 100644 index 0000000..4566a34 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectCustomFieldValues.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.ConnectCustomFieldValue; + +/** + * Details of updates for a custom field. + */ +@ApiModel(description = "Details of updates for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ConnectCustomFieldValues { + @JsonProperty("updateValueList") + private List updateValueList = new ArrayList<>(); + + public ConnectCustomFieldValues updateValueList(List updateValueList) { + this.updateValueList = updateValueList; + return this; + } + + public ConnectCustomFieldValues addUpdateValueListItem(ConnectCustomFieldValue updateValueListItem) { + if (this.updateValueList == null) { + this.updateValueList = new ArrayList<>(); + } + this.updateValueList.add(updateValueListItem); + return this; + } + + /** + * The list of custom field update details. + * @return updateValueList + **/ + @ApiModelProperty(value = "The list of custom field update details.") + public List getUpdateValueList() { + return updateValueList; + } + + public void setUpdateValueList(List updateValueList) { + this.updateValueList = updateValueList; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectCustomFieldValues connectCustomFieldValues = (ConnectCustomFieldValues) o; + return Objects.equals(this.updateValueList, connectCustomFieldValues.updateValueList); + } + + @Override + public int hashCode() { + return Objects.hash(updateValueList); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConnectCustomFieldValues {\n"); + + sb.append(" updateValueList: ").append(toIndentedString(updateValueList)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectModules.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectModules.java index 6789088..5b00eae 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectModules.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectModules.java @@ -41,7 +41,7 @@ /** * ConnectModules */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ConnectModules { @JsonProperty("modules") private List modules = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectWorkflowTransitionRule.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectWorkflowTransitionRule.java index fc88536..7cd49eb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectWorkflowTransitionRule.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConnectWorkflowTransitionRule.java @@ -42,7 +42,7 @@ * A workflow transition rule. */ @ApiModel(description = "A workflow transition rule.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ConnectWorkflowTransitionRule { @JsonProperty("id") private String id; @@ -92,7 +92,7 @@ public ConnectWorkflowTransitionRule _configuration(RuleConfiguration _configura * Get _configuration * @return _configuration **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public RuleConfiguration getConfiguration() { return _configuration; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerForRegisteredWebhooks.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerForRegisteredWebhooks.java index 542cb77..34e9c36 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerForRegisteredWebhooks.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerForRegisteredWebhooks.java @@ -43,7 +43,7 @@ * Container for a list of registered webhooks. Webhook details are returned in the same order as the request. */ @ApiModel(description = "Container for a list of registered webhooks. Webhook details are returned in the same order as the request.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ContainerForRegisteredWebhooks { @JsonProperty("webhookRegistrationResult") private List webhookRegistrationResult = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerForWebhookIDs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerForWebhookIDs.java index 58b0cf8..3205197 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerForWebhookIDs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerForWebhookIDs.java @@ -42,7 +42,7 @@ * Container for a list of webhook IDs. */ @ApiModel(description = "Container for a list of webhook IDs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ContainerForWebhookIDs { @JsonProperty("webhookIds") private List webhookIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerOfWorkflowSchemeAssociations.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerOfWorkflowSchemeAssociations.java index 99a05b7..a1253a1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerOfWorkflowSchemeAssociations.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContainerOfWorkflowSchemeAssociations.java @@ -43,7 +43,7 @@ * A container for a list of workflow schemes together with the projects they are associated with. */ @ApiModel(description = "A container for a list of workflow schemes together with the projects they are associated with.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ContainerOfWorkflowSchemeAssociations { @JsonProperty("values") private List values = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Context.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Context.java index 496e300..2adb42c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Context.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Context.java @@ -41,7 +41,7 @@ * A context. */ @ApiModel(description = "A context.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Context { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContextForProjectAndIssueType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContextForProjectAndIssueType.java new file mode 100644 index 0000000..5dceeaa --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContextForProjectAndIssueType.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The project and issue type mapping with a matching custom field context. + */ +@ApiModel(description = "The project and issue type mapping with a matching custom field context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ContextForProjectAndIssueType { + @JsonProperty("projectId") + private String projectId; + + @JsonProperty("issueTypeId") + private String issueTypeId; + + @JsonProperty("contextId") + private String contextId; + + public ContextForProjectAndIssueType projectId(String projectId) { + this.projectId = projectId; + return this; + } + + /** + * The ID of the project. + * @return projectId + **/ + @ApiModelProperty(required = true, value = "The ID of the project.") + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + public ContextForProjectAndIssueType issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the issue type. + * @return issueTypeId + **/ + @ApiModelProperty(required = true, value = "The ID of the issue type.") + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + public ContextForProjectAndIssueType contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the custom field context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the custom field context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ContextForProjectAndIssueType contextForProjectAndIssueType = (ContextForProjectAndIssueType) o; + return Objects.equals(this.projectId, contextForProjectAndIssueType.projectId) && + Objects.equals(this.issueTypeId, contextForProjectAndIssueType.issueTypeId) && + Objects.equals(this.contextId, contextForProjectAndIssueType.contextId); + } + + @Override + public int hashCode() { + return Objects.hash(projectId, issueTypeId, contextId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ContextForProjectAndIssueType {\n"); + + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContextualConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContextualConfiguration.java new file mode 100644 index 0000000..7441e8e --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ContextualConfiguration.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of the contextual configuration for a custom field. + */ +@ApiModel(description = "Details of the contextual configuration for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ContextualConfiguration { + @JsonProperty("contextId") + private Long contextId; + + @JsonProperty("configuration") + private Object _configuration = null; + + @JsonProperty("schema") + private Object schema = null; + + public ContextualConfiguration contextId(Long contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context the configuration is associated with. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context the configuration is associated with.") + public Long getContextId() { + return contextId; + } + + public void setContextId(Long contextId) { + this.contextId = contextId; + } + + public ContextualConfiguration _configuration(Object _configuration) { + this._configuration = _configuration; + return this; + } + + /** + * The configuration associated with the context. + * @return _configuration + **/ + @ApiModelProperty(value = "The configuration associated with the context.") + public Object getConfiguration() { + return _configuration; + } + + public void setConfiguration(Object _configuration) { + this._configuration = _configuration; + } + + public ContextualConfiguration schema(Object schema) { + this.schema = schema; + return this; + } + + /** + * The schema associated with the context. + * @return schema + **/ + @ApiModelProperty(value = "The schema associated with the context.") + public Object getSchema() { + return schema; + } + + public void setSchema(Object schema) { + this.schema = schema; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ContextualConfiguration contextualConfiguration = (ContextualConfiguration) o; + return Objects.equals(this.contextId, contextualConfiguration.contextId) && + Objects.equals(this._configuration, contextualConfiguration._configuration) && + Objects.equals(this.schema, contextualConfiguration.schema); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, _configuration, schema); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ContextualConfiguration {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" _configuration: ").append(toIndentedString(_configuration)).append("\n"); + sb.append(" schema: ").append(toIndentedString(schema)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConvertedJQLQueries.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConvertedJQLQueries.java index e0314e1..6974871 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConvertedJQLQueries.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ConvertedJQLQueries.java @@ -43,7 +43,7 @@ * The converted JQL queries. */ @ApiModel(description = "The converted JQL queries.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ConvertedJQLQueries { @JsonProperty("queryStrings") private List queryStrings = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateCustomFieldContext.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateCustomFieldContext.java new file mode 100644 index 0000000..b1b27da --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateCustomFieldContext.java @@ -0,0 +1,208 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * The details of a created custom field context. + */ +@ApiModel(description = "The details of a created custom field context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CreateCustomFieldContext { + @JsonProperty("id") + private String id; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("projectIds") + private List projectIds = new ArrayList<>(); + + @JsonProperty("issueTypeIds") + private List issueTypeIds = new ArrayList<>(); + + /** + * The ID of the context. + * @return id + **/ + @ApiModelProperty(value = "The ID of the context.") + public String getId() { + return id; + } + + public CreateCustomFieldContext name(String name) { + this.name = name; + return this; + } + + /** + * The name of the context. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the context.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CreateCustomFieldContext description(String description) { + this.description = description; + return this; + } + + /** + * The description of the context. + * @return description + **/ + @ApiModelProperty(value = "The description of the context.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CreateCustomFieldContext projectIds(List projectIds) { + this.projectIds = projectIds; + return this; + } + + public CreateCustomFieldContext addProjectIdsItem(String projectIdsItem) { + if (this.projectIds == null) { + this.projectIds = new ArrayList<>(); + } + this.projectIds.add(projectIdsItem); + return this; + } + + /** + * The list of project IDs associated with the context. If the list is empty, the context is global. + * @return projectIds + **/ + @ApiModelProperty(value = "The list of project IDs associated with the context. If the list is empty, the context is global.") + public List getProjectIds() { + return projectIds; + } + + public void setProjectIds(List projectIds) { + this.projectIds = projectIds; + } + + public CreateCustomFieldContext issueTypeIds(List issueTypeIds) { + this.issueTypeIds = issueTypeIds; + return this; + } + + public CreateCustomFieldContext addIssueTypeIdsItem(String issueTypeIdsItem) { + if (this.issueTypeIds == null) { + this.issueTypeIds = new ArrayList<>(); + } + this.issueTypeIds.add(issueTypeIdsItem); + return this; + } + + /** + * The list of issue types IDs for the context. If the list is empty, the context refers to all issue types. + * @return issueTypeIds + **/ + @ApiModelProperty(value = "The list of issue types IDs for the context. If the list is empty, the context refers to all issue types.") + public List getIssueTypeIds() { + return issueTypeIds; + } + + public void setIssueTypeIds(List issueTypeIds) { + this.issueTypeIds = issueTypeIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateCustomFieldContext createCustomFieldContext = (CreateCustomFieldContext) o; + return Objects.equals(this.id, createCustomFieldContext.id) && + Objects.equals(this.name, createCustomFieldContext.name) && + Objects.equals(this.description, createCustomFieldContext.description) && + Objects.equals(this.projectIds, createCustomFieldContext.projectIds) && + Objects.equals(this.issueTypeIds, createCustomFieldContext.issueTypeIds); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, description, projectIds, issueTypeIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateCustomFieldContext {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" projectIds: ").append(toIndentedString(projectIds)).append("\n"); + sb.append(" issueTypeIds: ").append(toIndentedString(issueTypeIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateProjectDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateProjectDetails.java new file mode 100644 index 0000000..b2c58a7 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateProjectDetails.java @@ -0,0 +1,637 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details about the project. + */ +@ApiModel(description = "Details about the project.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CreateProjectDetails { + @JsonProperty("key") + private String key; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("lead") + private String lead; + + @JsonProperty("leadAccountId") + private String leadAccountId; + + @JsonProperty("url") + private String url; + + /** + * The default assignee when creating issues for this project. + */ + public enum AssigneeTypeEnum { + PROJECT_LEAD("PROJECT_LEAD"), + + UNASSIGNED("UNASSIGNED"); + + private String value; + + AssigneeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AssigneeTypeEnum fromValue(String value) { + for (AssigneeTypeEnum b : AssigneeTypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("assigneeType") + private AssigneeTypeEnum assigneeType; + + @JsonProperty("avatarId") + private Long avatarId; + + @JsonProperty("issueSecurityScheme") + private Long issueSecurityScheme; + + @JsonProperty("permissionScheme") + private Long permissionScheme; + + @JsonProperty("notificationScheme") + private Long notificationScheme; + + @JsonProperty("categoryId") + private Long categoryId; + + /** + * The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type. + */ + public enum ProjectTypeKeyEnum { + SOFTWARE("software"), + + SERVICE_DESK("service_desk"), + + BUSINESS("business"); + + private String value; + + ProjectTypeKeyEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ProjectTypeKeyEnum fromValue(String value) { + for (ProjectTypeKeyEnum b : ProjectTypeKeyEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("projectTypeKey") + private ProjectTypeKeyEnum projectTypeKey; + + /** + * A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`. + */ + public enum ProjectTemplateKeyEnum { + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_AGILITY_KANBAN("com.pyxis.greenhopper.jira:gh-simplified-agility-kanban"), + + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_AGILITY_SCRUM("com.pyxis.greenhopper.jira:gh-simplified-agility-scrum"), + + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_BASIC("com.pyxis.greenhopper.jira:gh-simplified-basic"), + + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_KANBAN_CLASSIC("com.pyxis.greenhopper.jira:gh-simplified-kanban-classic"), + + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_SCRUM_CLASSIC("com.pyxis.greenhopper.jira:gh-simplified-scrum-classic"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_IT_SERVICE_DESK("com.atlassian.servicedesk:simplified-it-service-desk"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_INTERNAL_SERVICE_DESK("com.atlassian.servicedesk:simplified-internal-service-desk"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_EXTERNAL_SERVICE_DESK("com.atlassian.servicedesk:simplified-external-service-desk"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_HR_SERVICE_DESK("com.atlassian.servicedesk:simplified-hr-service-desk"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_FACILITIES_SERVICE_DESK("com.atlassian.servicedesk:simplified-facilities-service-desk"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_CONTENT_MANAGEMENT("com.atlassian.jira-core-project-templates:jira-core-simplified-content-management"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_DOCUMENT_APPROVAL("com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_LEAD_TRACKING("com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_PROCESS_CONTROL("com.atlassian.jira-core-project-templates:jira-core-simplified-process-control"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_PROCUREMENT("com.atlassian.jira-core-project-templates:jira-core-simplified-procurement"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_PROJECT_MANAGEMENT("com.atlassian.jira-core-project-templates:jira-core-simplified-project-management"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_RECRUITMENT("com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_TASK_("com.atlassian.jira-core-project-templates:jira-core-simplified-task-"); + + private String value; + + ProjectTemplateKeyEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ProjectTemplateKeyEnum fromValue(String value) { + for (ProjectTemplateKeyEnum b : ProjectTemplateKeyEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("projectTemplateKey") + private ProjectTemplateKeyEnum projectTemplateKey; + + @JsonProperty("workflowScheme") + private Long workflowScheme; + + @JsonProperty("issueTypeScreenScheme") + private Long issueTypeScreenScheme; + + @JsonProperty("issueTypeScheme") + private Long issueTypeScheme; + + @JsonProperty("fieldConfigurationScheme") + private Long fieldConfigurationScheme; + + public CreateProjectDetails key(String key) { + this.key = key; + return this; + } + + /** + * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters. + * @return key + **/ + @ApiModelProperty(required = true, value = "Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters.") + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public CreateProjectDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the project. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the project.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CreateProjectDetails description(String description) { + this.description = description; + return this; + } + + /** + * A brief description of the project. + * @return description + **/ + @ApiModelProperty(value = "A brief description of the project.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CreateProjectDetails lead(String lead) { + this.lead = lead; + return this; + } + + /** + * This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `leadAccountId`. + * @return lead + **/ + @ApiModelProperty(value = "This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `leadAccountId`.") + public String getLead() { + return lead; + } + + public void setLead(String lead) { + this.lead = lead; + } + + public CreateProjectDetails leadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + return this; + } + + /** + * The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `lead`. + * @return leadAccountId + **/ + @ApiModelProperty(value = "The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `lead`.") + public String getLeadAccountId() { + return leadAccountId; + } + + public void setLeadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + } + + public CreateProjectDetails url(String url) { + this.url = url; + return this; + } + + /** + * A link to information about this project, such as project documentation + * @return url + **/ + @ApiModelProperty(value = "A link to information about this project, such as project documentation") + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public CreateProjectDetails assigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + return this; + } + + /** + * The default assignee when creating issues for this project. + * @return assigneeType + **/ + @ApiModelProperty(value = "The default assignee when creating issues for this project.") + public AssigneeTypeEnum getAssigneeType() { + return assigneeType; + } + + public void setAssigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + } + + public CreateProjectDetails avatarId(Long avatarId) { + this.avatarId = avatarId; + return this; + } + + /** + * An integer value for the project's avatar. + * @return avatarId + **/ + @ApiModelProperty(value = "An integer value for the project's avatar.") + public Long getAvatarId() { + return avatarId; + } + + public void setAvatarId(Long avatarId) { + this.avatarId = avatarId; + } + + public CreateProjectDetails issueSecurityScheme(Long issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + return this; + } + + /** + * The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security scheme IDs. + * @return issueSecurityScheme + **/ + @ApiModelProperty(value = "The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security scheme IDs.") + public Long getIssueSecurityScheme() { + return issueSecurityScheme; + } + + public void setIssueSecurityScheme(Long issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + } + + public CreateProjectDetails permissionScheme(Long permissionScheme) { + this.permissionScheme = permissionScheme; + return this; + } + + /** + * The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs. + * @return permissionScheme + **/ + @ApiModelProperty(value = "The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs.") + public Long getPermissionScheme() { + return permissionScheme; + } + + public void setPermissionScheme(Long permissionScheme) { + this.permissionScheme = permissionScheme; + } + + public CreateProjectDetails notificationScheme(Long notificationScheme) { + this.notificationScheme = notificationScheme; + return this; + } + + /** + * The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs. + * @return notificationScheme + **/ + @ApiModelProperty(value = "The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs.") + public Long getNotificationScheme() { + return notificationScheme; + } + + public void setNotificationScheme(Long notificationScheme) { + this.notificationScheme = notificationScheme; + } + + public CreateProjectDetails categoryId(Long categoryId) { + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation. + * @return categoryId + **/ + @ApiModelProperty(value = "The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation.") + public Long getCategoryId() { + return categoryId; + } + + public void setCategoryId(Long categoryId) { + this.categoryId = categoryId; + } + + public CreateProjectDetails projectTypeKey(ProjectTypeKeyEnum projectTypeKey) { + this.projectTypeKey = projectTypeKey; + return this; + } + + /** + * The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type. + * @return projectTypeKey + **/ + @ApiModelProperty(value = "The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type.") + public ProjectTypeKeyEnum getProjectTypeKey() { + return projectTypeKey; + } + + public void setProjectTypeKey(ProjectTypeKeyEnum projectTypeKey) { + this.projectTypeKey = projectTypeKey; + } + + public CreateProjectDetails projectTemplateKey(ProjectTemplateKeyEnum projectTemplateKey) { + this.projectTemplateKey = projectTemplateKey; + return this; + } + + /** + * A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`. + * @return projectTemplateKey + **/ + @ApiModelProperty(value = "A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`.") + public ProjectTemplateKeyEnum getProjectTemplateKey() { + return projectTemplateKey; + } + + public void setProjectTemplateKey(ProjectTemplateKeyEnum projectTemplateKey) { + this.projectTemplateKey = projectTemplateKey; + } + + public CreateProjectDetails workflowScheme(Long workflowScheme) { + this.workflowScheme = workflowScheme; + return this; + } + + /** + * The ID of the workflow scheme for the project. Use the [Get all workflow schemes](#api-rest-api-2-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the workflow scheme you cannot specify the project template key. + * @return workflowScheme + **/ + @ApiModelProperty(value = "The ID of the workflow scheme for the project. Use the [Get all workflow schemes](#api-rest-api-2-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the workflow scheme you cannot specify the project template key.") + public Long getWorkflowScheme() { + return workflowScheme; + } + + public void setWorkflowScheme(Long workflowScheme) { + this.workflowScheme = workflowScheme; + } + + public CreateProjectDetails issueTypeScreenScheme(Long issueTypeScreenScheme) { + this.issueTypeScreenScheme = issueTypeScreenScheme; + return this; + } + + /** + * The ID of the issue type screen scheme for the project. Use the [Get all issue type screen schemes](#api-rest-api-2-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you specify the issue type screen scheme you cannot specify the project template key. + * @return issueTypeScreenScheme + **/ + @ApiModelProperty(value = "The ID of the issue type screen scheme for the project. Use the [Get all issue type screen schemes](#api-rest-api-2-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you specify the issue type screen scheme you cannot specify the project template key.") + public Long getIssueTypeScreenScheme() { + return issueTypeScreenScheme; + } + + public void setIssueTypeScreenScheme(Long issueTypeScreenScheme) { + this.issueTypeScreenScheme = issueTypeScreenScheme; + } + + public CreateProjectDetails issueTypeScheme(Long issueTypeScheme) { + this.issueTypeScheme = issueTypeScheme; + return this; + } + + /** + * The ID of the issue type scheme for the project. Use the [Get all issue type schemes](#api-rest-api-2-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the issue type scheme you cannot specify the project template key. + * @return issueTypeScheme + **/ + @ApiModelProperty(value = "The ID of the issue type scheme for the project. Use the [Get all issue type schemes](#api-rest-api-2-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the issue type scheme you cannot specify the project template key.") + public Long getIssueTypeScheme() { + return issueTypeScheme; + } + + public void setIssueTypeScheme(Long issueTypeScheme) { + this.issueTypeScheme = issueTypeScheme; + } + + public CreateProjectDetails fieldConfigurationScheme(Long fieldConfigurationScheme) { + this.fieldConfigurationScheme = fieldConfigurationScheme; + return this; + } + + /** + * The ID of the field configuration scheme for the project. Use the [Get all field configuration schemes](#api-rest-api-2-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs. If you specify the field configuration scheme you cannot specify the project template key. + * @return fieldConfigurationScheme + **/ + @ApiModelProperty(value = "The ID of the field configuration scheme for the project. Use the [Get all field configuration schemes](#api-rest-api-2-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs. If you specify the field configuration scheme you cannot specify the project template key.") + public Long getFieldConfigurationScheme() { + return fieldConfigurationScheme; + } + + public void setFieldConfigurationScheme(Long fieldConfigurationScheme) { + this.fieldConfigurationScheme = fieldConfigurationScheme; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateProjectDetails createProjectDetails = (CreateProjectDetails) o; + return Objects.equals(this.key, createProjectDetails.key) && + Objects.equals(this.name, createProjectDetails.name) && + Objects.equals(this.description, createProjectDetails.description) && + Objects.equals(this.lead, createProjectDetails.lead) && + Objects.equals(this.leadAccountId, createProjectDetails.leadAccountId) && + Objects.equals(this.url, createProjectDetails.url) && + Objects.equals(this.assigneeType, createProjectDetails.assigneeType) && + Objects.equals(this.avatarId, createProjectDetails.avatarId) && + Objects.equals(this.issueSecurityScheme, createProjectDetails.issueSecurityScheme) && + Objects.equals(this.permissionScheme, createProjectDetails.permissionScheme) && + Objects.equals(this.notificationScheme, createProjectDetails.notificationScheme) && + Objects.equals(this.categoryId, createProjectDetails.categoryId) && + Objects.equals(this.projectTypeKey, createProjectDetails.projectTypeKey) && + Objects.equals(this.projectTemplateKey, createProjectDetails.projectTemplateKey) && + Objects.equals(this.workflowScheme, createProjectDetails.workflowScheme) && + Objects.equals(this.issueTypeScreenScheme, createProjectDetails.issueTypeScreenScheme) && + Objects.equals(this.issueTypeScheme, createProjectDetails.issueTypeScheme) && + Objects.equals(this.fieldConfigurationScheme, createProjectDetails.fieldConfigurationScheme); + } + + @Override + public int hashCode() { + return Objects.hash(key, name, description, lead, leadAccountId, url, assigneeType, avatarId, issueSecurityScheme, permissionScheme, notificationScheme, categoryId, projectTypeKey, projectTemplateKey, workflowScheme, issueTypeScreenScheme, issueTypeScheme, fieldConfigurationScheme); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateProjectDetails {\n"); + + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" lead: ").append(toIndentedString(lead)).append("\n"); + sb.append(" leadAccountId: ").append(toIndentedString(leadAccountId)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); + sb.append(" avatarId: ").append(toIndentedString(avatarId)).append("\n"); + sb.append(" issueSecurityScheme: ").append(toIndentedString(issueSecurityScheme)).append("\n"); + sb.append(" permissionScheme: ").append(toIndentedString(permissionScheme)).append("\n"); + sb.append(" notificationScheme: ").append(toIndentedString(notificationScheme)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" projectTypeKey: ").append(toIndentedString(projectTypeKey)).append("\n"); + sb.append(" projectTemplateKey: ").append(toIndentedString(projectTemplateKey)).append("\n"); + sb.append(" workflowScheme: ").append(toIndentedString(workflowScheme)).append("\n"); + sb.append(" issueTypeScreenScheme: ").append(toIndentedString(issueTypeScreenScheme)).append("\n"); + sb.append(" issueTypeScheme: ").append(toIndentedString(issueTypeScheme)).append("\n"); + sb.append(" fieldConfigurationScheme: ").append(toIndentedString(fieldConfigurationScheme)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateUpdateRoleRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateUpdateRoleRequestBean.java index b47b5ad..3ba54b2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateUpdateRoleRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateUpdateRoleRequestBean.java @@ -39,7 +39,7 @@ /** * CreateUpdateRoleRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class CreateUpdateRoleRequestBean { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowCondition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowCondition.java new file mode 100644 index 0000000..d6483c4 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowCondition.java @@ -0,0 +1,231 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * A workflow transition condition. + */ +@ApiModel(description = "A workflow transition condition.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CreateWorkflowCondition { + /** + * The compound condition operator. + */ + public enum OperatorEnum { + AND("AND"), + + OR("OR"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("operator") + private OperatorEnum operator; + + @JsonProperty("conditions") + private List conditions = new ArrayList<>(); + + @JsonProperty("type") + private String type; + + @JsonProperty("configuration") + private Map _configuration = new HashMap<>(); + + public CreateWorkflowCondition operator(OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * The compound condition operator. + * @return operator + **/ + @ApiModelProperty(value = "The compound condition operator.") + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(OperatorEnum operator) { + this.operator = operator; + } + + public CreateWorkflowCondition conditions(List conditions) { + this.conditions = conditions; + return this; + } + + public CreateWorkflowCondition addConditionsItem(CreateWorkflowCondition conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * The list of workflow conditions. + * @return conditions + **/ + @ApiModelProperty(value = "The list of workflow conditions.") + public List getConditions() { + return conditions; + } + + public void setConditions(List conditions) { + this.conditions = conditions; + } + + public CreateWorkflowCondition type(String type) { + this.type = type; + return this; + } + + /** + * The type of the transition rule. + * @return type + **/ + @ApiModelProperty(value = "The type of the transition rule.") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public CreateWorkflowCondition _configuration(Map _configuration) { + this._configuration = _configuration; + return this; + } + + public CreateWorkflowCondition putConfigurationItem(String key, Object _configurationItem) { + if (this._configuration == null) { + this._configuration = new HashMap<>(); + } + this._configuration.put(key, _configurationItem); + return this; + } + + /** + * EXPERIMENTAL. The configuration of the transition rule. + * @return _configuration + **/ + @ApiModelProperty(value = "EXPERIMENTAL. The configuration of the transition rule.") + public Map getConfiguration() { + return _configuration; + } + + public void setConfiguration(Map _configuration) { + this._configuration = _configuration; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowCondition createWorkflowCondition = (CreateWorkflowCondition) o; + return Objects.equals(this.operator, createWorkflowCondition.operator) && + Objects.equals(this.conditions, createWorkflowCondition.conditions) && + Objects.equals(this.type, createWorkflowCondition.type) && + Objects.equals(this._configuration, createWorkflowCondition._configuration); + } + + @Override + public int hashCode() { + return Objects.hash(operator, conditions, type, _configuration); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowCondition {\n"); + + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" _configuration: ").append(toIndentedString(_configuration)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowDetails.java new file mode 100644 index 0000000..4816dc4 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowDetails.java @@ -0,0 +1,190 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CreateWorkflowStatusDetails; +import org.everit.atlassian.restclient.jiracloud.v2.model.CreateWorkflowTransitionDetails; + +/** + * The details of a workflow. + */ +@ApiModel(description = "The details of a workflow.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CreateWorkflowDetails { + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("transitions") + private List transitions = new ArrayList<>(); + + @JsonProperty("statuses") + private List statuses = new ArrayList<>(); + + public CreateWorkflowDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be separated by a whitespace but the name cannot start or end with a whitespace. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be separated by a whitespace but the name cannot start or end with a whitespace.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CreateWorkflowDetails description(String description) { + this.description = description; + return this; + } + + /** + * The description of the workflow. The maximum length is 1000 characters. + * @return description + **/ + @ApiModelProperty(value = "The description of the workflow. The maximum length is 1000 characters.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CreateWorkflowDetails transitions(List transitions) { + this.transitions = transitions; + return this; + } + + public CreateWorkflowDetails addTransitionsItem(CreateWorkflowTransitionDetails transitionsItem) { + this.transitions.add(transitionsItem); + return this; + } + + /** + * The transitions of the workflow. For the request to be valid, these transitions must: * include one *initial* transition. * not use the same name for a *global* and *directed* transition. * have a unique name for each *global* transition. * have a unique 'to' status for each *global* transition. * have unique names for each transition from a status. * not have a 'from' status on *initial* and *global* transitions. * have a 'from' status on *directed* transitions. All the transition statuses must be included in `statuses`. + * @return transitions + **/ + @ApiModelProperty(required = true, value = "The transitions of the workflow. For the request to be valid, these transitions must: * include one *initial* transition. * not use the same name for a *global* and *directed* transition. * have a unique name for each *global* transition. * have a unique 'to' status for each *global* transition. * have unique names for each transition from a status. * not have a 'from' status on *initial* and *global* transitions. * have a 'from' status on *directed* transitions. All the transition statuses must be included in `statuses`.") + public List getTransitions() { + return transitions; + } + + public void setTransitions(List transitions) { + this.transitions = transitions; + } + + public CreateWorkflowDetails statuses(List statuses) { + this.statuses = statuses; + return this; + } + + public CreateWorkflowDetails addStatusesItem(CreateWorkflowStatusDetails statusesItem) { + this.statuses.add(statusesItem); + return this; + } + + /** + * The statuses of the workflow. Any status that does not include a transition is added to the workflow without a transition. + * @return statuses + **/ + @ApiModelProperty(required = true, value = "The statuses of the workflow. Any status that does not include a transition is added to the workflow without a transition.") + public List getStatuses() { + return statuses; + } + + public void setStatuses(List statuses) { + this.statuses = statuses; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowDetails createWorkflowDetails = (CreateWorkflowDetails) o; + return Objects.equals(this.name, createWorkflowDetails.name) && + Objects.equals(this.description, createWorkflowDetails.description) && + Objects.equals(this.transitions, createWorkflowDetails.transitions) && + Objects.equals(this.statuses, createWorkflowDetails.statuses); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, transitions, statuses); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowDetails {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" transitions: ").append(toIndentedString(transitions)).append("\n"); + sb.append(" statuses: ").append(toIndentedString(statuses)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowStatusDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowStatusDetails.java new file mode 100644 index 0000000..a408e9f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowStatusDetails.java @@ -0,0 +1,107 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The details of a transition status. + */ +@ApiModel(description = "The details of a transition status.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CreateWorkflowStatusDetails { + @JsonProperty("id") + private String id; + + public CreateWorkflowStatusDetails id(String id) { + this.id = id; + return this; + } + + /** + * The ID of the status. + * @return id + **/ + @ApiModelProperty(required = true, value = "The ID of the status.") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowStatusDetails createWorkflowStatusDetails = (CreateWorkflowStatusDetails) o; + return Objects.equals(this.id, createWorkflowStatusDetails.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowStatusDetails {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionDetails.java new file mode 100644 index 0000000..40a541a --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionDetails.java @@ -0,0 +1,270 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CreateWorkflowTransitionRulesDetails; + +/** + * The details of a workflow transition. + */ +@ApiModel(description = "The details of a workflow transition.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CreateWorkflowTransitionDetails { + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("from") + private List from = new ArrayList<>(); + + @JsonProperty("to") + private String to; + + /** + * The type of the transition. + */ + public enum TypeEnum { + GLOBAL("global"), + + INITIAL("initial"), + + DIRECTED("directed"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("type") + private TypeEnum type; + + @JsonProperty("rules") + private CreateWorkflowTransitionRulesDetails rules; + + public CreateWorkflowTransitionDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the transition. The maximum length is 60 characters. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the transition. The maximum length is 60 characters.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CreateWorkflowTransitionDetails description(String description) { + this.description = description; + return this; + } + + /** + * The description of the transition. The maximum length is 1000 characters. + * @return description + **/ + @ApiModelProperty(value = "The description of the transition. The maximum length is 1000 characters.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CreateWorkflowTransitionDetails from(List from) { + this.from = from; + return this; + } + + public CreateWorkflowTransitionDetails addFromItem(String fromItem) { + if (this.from == null) { + this.from = new ArrayList<>(); + } + this.from.add(fromItem); + return this; + } + + /** + * The statuses the transition can start from. + * @return from + **/ + @ApiModelProperty(value = "The statuses the transition can start from.") + public List getFrom() { + return from; + } + + public void setFrom(List from) { + this.from = from; + } + + public CreateWorkflowTransitionDetails to(String to) { + this.to = to; + return this; + } + + /** + * The status the transition goes to. + * @return to + **/ + @ApiModelProperty(required = true, value = "The status the transition goes to.") + public String getTo() { + return to; + } + + public void setTo(String to) { + this.to = to; + } + + public CreateWorkflowTransitionDetails type(TypeEnum type) { + this.type = type; + return this; + } + + /** + * The type of the transition. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the transition.") + public TypeEnum getType() { + return type; + } + + public void setType(TypeEnum type) { + this.type = type; + } + + public CreateWorkflowTransitionDetails rules(CreateWorkflowTransitionRulesDetails rules) { + this.rules = rules; + return this; + } + + /** + * The rules of the transition. + * @return rules + **/ + @ApiModelProperty(value = "The rules of the transition.") + public CreateWorkflowTransitionRulesDetails getRules() { + return rules; + } + + public void setRules(CreateWorkflowTransitionRulesDetails rules) { + this.rules = rules; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowTransitionDetails createWorkflowTransitionDetails = (CreateWorkflowTransitionDetails) o; + return Objects.equals(this.name, createWorkflowTransitionDetails.name) && + Objects.equals(this.description, createWorkflowTransitionDetails.description) && + Objects.equals(this.from, createWorkflowTransitionDetails.from) && + Objects.equals(this.to, createWorkflowTransitionDetails.to) && + Objects.equals(this.type, createWorkflowTransitionDetails.type) && + Objects.equals(this.rules, createWorkflowTransitionDetails.rules); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, from, to, type, rules); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowTransitionDetails {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" from: ").append(toIndentedString(from)).append("\n"); + sb.append(" to: ").append(toIndentedString(to)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionRule.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionRule.java new file mode 100644 index 0000000..dd15fea --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionRule.java @@ -0,0 +1,141 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * A workflow transition rule. + */ +@ApiModel(description = "A workflow transition rule.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CreateWorkflowTransitionRule { + @JsonProperty("type") + private String type; + + @JsonProperty("configuration") + private Map _configuration = new HashMap<>(); + + public CreateWorkflowTransitionRule type(String type) { + this.type = type; + return this; + } + + /** + * The type of the transition rule. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the transition rule.") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public CreateWorkflowTransitionRule _configuration(Map _configuration) { + this._configuration = _configuration; + return this; + } + + public CreateWorkflowTransitionRule putConfigurationItem(String key, Object _configurationItem) { + if (this._configuration == null) { + this._configuration = new HashMap<>(); + } + this._configuration.put(key, _configurationItem); + return this; + } + + /** + * EXPERIMENTAL. The configuration of the transition rule. + * @return _configuration + **/ + @ApiModelProperty(value = "EXPERIMENTAL. The configuration of the transition rule.") + public Map getConfiguration() { + return _configuration; + } + + public void setConfiguration(Map _configuration) { + this._configuration = _configuration; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowTransitionRule createWorkflowTransitionRule = (CreateWorkflowTransitionRule) o; + return Objects.equals(this.type, createWorkflowTransitionRule.type) && + Objects.equals(this._configuration, createWorkflowTransitionRule._configuration); + } + + @Override + public int hashCode() { + return Objects.hash(type, _configuration); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowTransitionRule {\n"); + + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" _configuration: ").append(toIndentedString(_configuration)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionRulesDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionRulesDetails.java new file mode 100644 index 0000000..ada9fcc --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreateWorkflowTransitionRulesDetails.java @@ -0,0 +1,173 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CreateWorkflowCondition; +import org.everit.atlassian.restclient.jiracloud.v2.model.CreateWorkflowTransitionRule; + +/** + * The details of a workflow transition rules. + */ +@ApiModel(description = "The details of a workflow transition rules.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CreateWorkflowTransitionRulesDetails { + @JsonProperty("conditions") + private CreateWorkflowCondition conditions; + + @JsonProperty("validators") + private List validators = new ArrayList<>(); + + @JsonProperty("postFunctions") + private List postFunctions = new ArrayList<>(); + + public CreateWorkflowTransitionRulesDetails conditions(CreateWorkflowCondition conditions) { + this.conditions = conditions; + return this; + } + + /** + * The workflow conditions. + * @return conditions + **/ + @ApiModelProperty(value = "The workflow conditions.") + public CreateWorkflowCondition getConditions() { + return conditions; + } + + public void setConditions(CreateWorkflowCondition conditions) { + this.conditions = conditions; + } + + public CreateWorkflowTransitionRulesDetails validators(List validators) { + this.validators = validators; + return this; + } + + public CreateWorkflowTransitionRulesDetails addValidatorsItem(CreateWorkflowTransitionRule validatorsItem) { + if (this.validators == null) { + this.validators = new ArrayList<>(); + } + this.validators.add(validatorsItem); + return this; + } + + /** + * The workflow validators. + * @return validators + **/ + @ApiModelProperty(value = "The workflow validators.") + public List getValidators() { + return validators; + } + + public void setValidators(List validators) { + this.validators = validators; + } + + public CreateWorkflowTransitionRulesDetails postFunctions(List postFunctions) { + this.postFunctions = postFunctions; + return this; + } + + public CreateWorkflowTransitionRulesDetails addPostFunctionsItem(CreateWorkflowTransitionRule postFunctionsItem) { + if (this.postFunctions == null) { + this.postFunctions = new ArrayList<>(); + } + this.postFunctions.add(postFunctionsItem); + return this; + } + + /** + * The workflow post functions. + * @return postFunctions + **/ + @ApiModelProperty(value = "The workflow post functions.") + public List getPostFunctions() { + return postFunctions; + } + + public void setPostFunctions(List postFunctions) { + this.postFunctions = postFunctions; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowTransitionRulesDetails createWorkflowTransitionRulesDetails = (CreateWorkflowTransitionRulesDetails) o; + return Objects.equals(this.conditions, createWorkflowTransitionRulesDetails.conditions) && + Objects.equals(this.validators, createWorkflowTransitionRulesDetails.validators) && + Objects.equals(this.postFunctions, createWorkflowTransitionRulesDetails.postFunctions); + } + + @Override + public int hashCode() { + return Objects.hash(conditions, validators, postFunctions); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowTransitionRulesDetails {\n"); + + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" validators: ").append(toIndentedString(validators)).append("\n"); + sb.append(" postFunctions: ").append(toIndentedString(postFunctions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreatedIssue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreatedIssue.java index 199d384..1b42767 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreatedIssue.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreatedIssue.java @@ -41,7 +41,7 @@ * Details about a created issue or subtask. */ @ApiModel(description = "Details about a created issue or subtask.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class CreatedIssue { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreatedIssues.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreatedIssues.java index 078ee46..4a1691b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreatedIssues.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CreatedIssues.java @@ -44,7 +44,7 @@ * Details about the issues created and the errors for requests that failed. */ @ApiModel(description = "Details about the issues created and the errors for requests that failed.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class CreatedIssues { @JsonProperty("issues") private List issues = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldConfigurations.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldConfigurations.java new file mode 100644 index 0000000..94c6507 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldConfigurations.java @@ -0,0 +1,115 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.ContextualConfiguration; + +/** + * Details of configurations for a custom field. + */ +@ApiModel(description = "Details of configurations for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldConfigurations { + @JsonProperty("configurations") + private List configurations = new ArrayList<>(); + + public CustomFieldConfigurations configurations(List configurations) { + this.configurations = configurations; + return this; + } + + public CustomFieldConfigurations addConfigurationsItem(ContextualConfiguration configurationsItem) { + this.configurations.add(configurationsItem); + return this; + } + + /** + * The list of custom field configuration details. + * @return configurations + **/ + @ApiModelProperty(required = true, value = "The list of custom field configuration details.") + public List getConfigurations() { + return configurations; + } + + public void setConfigurations(List configurations) { + this.configurations = configurations; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldConfigurations customFieldConfigurations = (CustomFieldConfigurations) o; + return Objects.equals(this.configurations, customFieldConfigurations.configurations); + } + + @Override + public int hashCode() { + return Objects.hash(configurations); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldConfigurations {\n"); + + sb.append(" configurations: ").append(toIndentedString(configurations)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContext.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContext.java new file mode 100644 index 0000000..8b62971 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContext.java @@ -0,0 +1,199 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The details of a custom field context. + */ +@ApiModel(description = "The details of a custom field context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldContext { + @JsonProperty("id") + private String id; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("isGlobalContext") + private Boolean isGlobalContext; + + @JsonProperty("isAnyIssueType") + private Boolean isAnyIssueType; + + public CustomFieldContext id(String id) { + this.id = id; + return this; + } + + /** + * The ID of the context. + * @return id + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public CustomFieldContext name(String name) { + this.name = name; + return this; + } + + /** + * The name of the context. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the context.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CustomFieldContext description(String description) { + this.description = description; + return this; + } + + /** + * The description of the context. + * @return description + **/ + @ApiModelProperty(required = true, value = "The description of the context.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CustomFieldContext isGlobalContext(Boolean isGlobalContext) { + this.isGlobalContext = isGlobalContext; + return this; + } + + /** + * Whether the context is global. + * @return isGlobalContext + **/ + @ApiModelProperty(required = true, value = "Whether the context is global.") + public Boolean getIsGlobalContext() { + return isGlobalContext; + } + + public void setIsGlobalContext(Boolean isGlobalContext) { + this.isGlobalContext = isGlobalContext; + } + + public CustomFieldContext isAnyIssueType(Boolean isAnyIssueType) { + this.isAnyIssueType = isAnyIssueType; + return this; + } + + /** + * Whether the context apply to all issue types. + * @return isAnyIssueType + **/ + @ApiModelProperty(required = true, value = "Whether the context apply to all issue types.") + public Boolean getIsAnyIssueType() { + return isAnyIssueType; + } + + public void setIsAnyIssueType(Boolean isAnyIssueType) { + this.isAnyIssueType = isAnyIssueType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContext customFieldContext = (CustomFieldContext) o; + return Objects.equals(this.id, customFieldContext.id) && + Objects.equals(this.name, customFieldContext.name) && + Objects.equals(this.description, customFieldContext.description) && + Objects.equals(this.isGlobalContext, customFieldContext.isGlobalContext) && + Objects.equals(this.isAnyIssueType, customFieldContext.isAnyIssueType); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, description, isGlobalContext, isAnyIssueType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContext {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" isGlobalContext: ").append(toIndentedString(isGlobalContext)).append("\n"); + sb.append(" isAnyIssueType: ").append(toIndentedString(isAnyIssueType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueCascadingOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueCascadingOption.java new file mode 100644 index 0000000..5a1d024 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueCascadingOption.java @@ -0,0 +1,176 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Default value for a cascading select custom field. + */ +@ApiModel(description = "Default value for a cascading select custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldContextDefaultValueCascadingOption { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("optionId") + private String optionId; + + @JsonProperty("cascadingOptionId") + private String cascadingOptionId; + + @JsonProperty("type") + private String type; + + public CustomFieldContextDefaultValueCascadingOption contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + public CustomFieldContextDefaultValueCascadingOption optionId(String optionId) { + this.optionId = optionId; + return this; + } + + /** + * The ID of the default option. + * @return optionId + **/ + @ApiModelProperty(required = true, value = "The ID of the default option.") + public String getOptionId() { + return optionId; + } + + public void setOptionId(String optionId) { + this.optionId = optionId; + } + + public CustomFieldContextDefaultValueCascadingOption cascadingOptionId(String cascadingOptionId) { + this.cascadingOptionId = cascadingOptionId; + return this; + } + + /** + * The ID of the default cascading option. + * @return cascadingOptionId + **/ + @ApiModelProperty(value = "The ID of the default cascading option.") + public String getCascadingOptionId() { + return cascadingOptionId; + } + + public void setCascadingOptionId(String cascadingOptionId) { + this.cascadingOptionId = cascadingOptionId; + } + + public CustomFieldContextDefaultValueCascadingOption type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextDefaultValueCascadingOption customFieldContextDefaultValueCascadingOption = (CustomFieldContextDefaultValueCascadingOption) o; + return Objects.equals(this.contextId, customFieldContextDefaultValueCascadingOption.contextId) && + Objects.equals(this.optionId, customFieldContextDefaultValueCascadingOption.optionId) && + Objects.equals(this.cascadingOptionId, customFieldContextDefaultValueCascadingOption.cascadingOptionId) && + Objects.equals(this.type, customFieldContextDefaultValueCascadingOption.type); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, optionId, cascadingOptionId, type); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextDefaultValueCascadingOption {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" optionId: ").append(toIndentedString(optionId)).append("\n"); + sb.append(" cascadingOptionId: ").append(toIndentedString(cascadingOptionId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueMultipleOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueMultipleOption.java new file mode 100644 index 0000000..2d6002f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueMultipleOption.java @@ -0,0 +1,160 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * Default value for a multi-select custom field. + */ +@ApiModel(description = "Default value for a multi-select custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldContextDefaultValueMultipleOption { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("optionIds") + private List optionIds = new ArrayList<>(); + + @JsonProperty("type") + private String type; + + public CustomFieldContextDefaultValueMultipleOption contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + public CustomFieldContextDefaultValueMultipleOption optionIds(List optionIds) { + this.optionIds = optionIds; + return this; + } + + public CustomFieldContextDefaultValueMultipleOption addOptionIdsItem(String optionIdsItem) { + this.optionIds.add(optionIdsItem); + return this; + } + + /** + * The list of IDs of the default options. + * @return optionIds + **/ + @ApiModelProperty(required = true, value = "The list of IDs of the default options.") + public List getOptionIds() { + return optionIds; + } + + public void setOptionIds(List optionIds) { + this.optionIds = optionIds; + } + + public CustomFieldContextDefaultValueMultipleOption type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextDefaultValueMultipleOption customFieldContextDefaultValueMultipleOption = (CustomFieldContextDefaultValueMultipleOption) o; + return Objects.equals(this.contextId, customFieldContextDefaultValueMultipleOption.contextId) && + Objects.equals(this.optionIds, customFieldContextDefaultValueMultipleOption.optionIds) && + Objects.equals(this.type, customFieldContextDefaultValueMultipleOption.type); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, optionIds, type); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextDefaultValueMultipleOption {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" optionIds: ").append(toIndentedString(optionIds)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueSingleOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueSingleOption.java new file mode 100644 index 0000000..65e1d5f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueSingleOption.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Default value for a single select custom field. + */ +@ApiModel(description = "Default value for a single select custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldContextDefaultValueSingleOption { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("optionId") + private String optionId; + + @JsonProperty("type") + private String type; + + public CustomFieldContextDefaultValueSingleOption contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + public CustomFieldContextDefaultValueSingleOption optionId(String optionId) { + this.optionId = optionId; + return this; + } + + /** + * The ID of the default option. + * @return optionId + **/ + @ApiModelProperty(required = true, value = "The ID of the default option.") + public String getOptionId() { + return optionId; + } + + public void setOptionId(String optionId) { + this.optionId = optionId; + } + + public CustomFieldContextDefaultValueSingleOption type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextDefaultValueSingleOption customFieldContextDefaultValueSingleOption = (CustomFieldContextDefaultValueSingleOption) o; + return Objects.equals(this.contextId, customFieldContextDefaultValueSingleOption.contextId) && + Objects.equals(this.optionId, customFieldContextDefaultValueSingleOption.optionId) && + Objects.equals(this.type, customFieldContextDefaultValueSingleOption.type); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, optionId, type); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextDefaultValueSingleOption {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" optionId: ").append(toIndentedString(optionId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueUpdate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueUpdate.java new file mode 100644 index 0000000..876e85e --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextDefaultValueUpdate.java @@ -0,0 +1,117 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * Default values to update. + */ +@ApiModel(description = "Default values to update.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldContextDefaultValueUpdate { + @JsonProperty("defaultValues") + private List defaultValues = new ArrayList<>(); + + public CustomFieldContextDefaultValueUpdate defaultValues(List defaultValues) { + this.defaultValues = defaultValues; + return this; + } + + public CustomFieldContextDefaultValueUpdate addDefaultValuesItem(Object defaultValuesItem) { + if (this.defaultValues == null) { + this.defaultValues = new ArrayList<>(); + } + this.defaultValues.add(defaultValuesItem); + return this; + } + + /** + * Get defaultValues + * @return defaultValues + **/ + @ApiModelProperty(value = "") + public List getDefaultValues() { + return defaultValues; + } + + public void setDefaultValues(List defaultValues) { + this.defaultValues = defaultValues; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextDefaultValueUpdate customFieldContextDefaultValueUpdate = (CustomFieldContextDefaultValueUpdate) o; + return Objects.equals(this.defaultValues, customFieldContextDefaultValueUpdate.defaultValues); + } + + @Override + public int hashCode() { + return Objects.hash(defaultValues); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextDefaultValueUpdate {\n"); + + sb.append(" defaultValues: ").append(toIndentedString(defaultValues)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextOption.java index 0e4d627..5f4bff0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextOption.java @@ -40,7 +40,7 @@ * Details of the custom field options for a context. */ @ApiModel(description = "Details of the custom field options for a context.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class CustomFieldContextOption { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextProjectMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextProjectMapping.java new file mode 100644 index 0000000..26dad48 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextProjectMapping.java @@ -0,0 +1,126 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a context to project association. + */ +@ApiModel(description = "Details of a context to project association.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldContextProjectMapping { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("projectId") + private String projectId; + + @JsonProperty("isGlobalContext") + private Boolean isGlobalContext; + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + /** + * The ID of the project. + * @return projectId + **/ + @ApiModelProperty(value = "The ID of the project.") + public String getProjectId() { + return projectId; + } + + /** + * Whether context is global. + * @return isGlobalContext + **/ + @ApiModelProperty(value = "Whether context is global.") + public Boolean getIsGlobalContext() { + return isGlobalContext; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextProjectMapping customFieldContextProjectMapping = (CustomFieldContextProjectMapping) o; + return Objects.equals(this.contextId, customFieldContextProjectMapping.contextId) && + Objects.equals(this.projectId, customFieldContextProjectMapping.projectId) && + Objects.equals(this.isGlobalContext, customFieldContextProjectMapping.isGlobalContext); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, projectId, isGlobalContext); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextProjectMapping {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" isGlobalContext: ").append(toIndentedString(isGlobalContext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextUpdateDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextUpdateDetails.java new file mode 100644 index 0000000..c52db25 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldContextUpdateDetails.java @@ -0,0 +1,130 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a custom field context. + */ +@ApiModel(description = "Details of a custom field context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldContextUpdateDetails { + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + public CustomFieldContextUpdateDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the custom field context. The name must be unique. The maximum length is 255 characters. + * @return name + **/ + @ApiModelProperty(value = "The name of the custom field context. The name must be unique. The maximum length is 255 characters.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CustomFieldContextUpdateDetails description(String description) { + this.description = description; + return this; + } + + /** + * The description of the custom field context. The maximum length is 255 characters. + * @return description + **/ + @ApiModelProperty(value = "The description of the custom field context. The maximum length is 255 characters.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextUpdateDetails customFieldContextUpdateDetails = (CustomFieldContextUpdateDetails) o; + return Objects.equals(this.name, customFieldContextUpdateDetails.name) && + Objects.equals(this.description, customFieldContextUpdateDetails.description); + } + + @Override + public int hashCode() { + return Objects.hash(name, description); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextUpdateDetails {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldCreatedContextOptionsList.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldCreatedContextOptionsList.java new file mode 100644 index 0000000..3537e74 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldCreatedContextOptionsList.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldContextOption; + +/** + * A list of custom field options for a context. + */ +@ApiModel(description = "A list of custom field options for a context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldCreatedContextOptionsList { + @JsonProperty("options") + private List options = new ArrayList<>(); + + public CustomFieldCreatedContextOptionsList options(List options) { + this.options = options; + return this; + } + + public CustomFieldCreatedContextOptionsList addOptionsItem(CustomFieldContextOption optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * The created custom field options. + * @return options + **/ + @ApiModelProperty(value = "The created custom field options.") + public List getOptions() { + return options; + } + + public void setOptions(List options) { + this.options = options; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldCreatedContextOptionsList customFieldCreatedContextOptionsList = (CustomFieldCreatedContextOptionsList) o; + return Objects.equals(this.options, customFieldCreatedContextOptionsList.options); + } + + @Override + public int hashCode() { + return Objects.hash(options); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldCreatedContextOptionsList {\n"); + + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldDefinitionJsonBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldDefinitionJsonBean.java index 6b1bb52..5f1733f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldDefinitionJsonBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldDefinitionJsonBean.java @@ -39,7 +39,7 @@ /** * CustomFieldDefinitionJsonBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class CustomFieldDefinitionJsonBean { @JsonProperty("name") private String name; @@ -47,84 +47,11 @@ public class CustomFieldDefinitionJsonBean { @JsonProperty("description") private String description; - /** - * The type of the custom field. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppicker*. * `cascadingselect`: Allows multiple values to be selected using two select lists * `datepicker`: Stores a date using a picker control * `datetime`: Stores a date with a time component * `float`: Stores and validates a numeric (floating point) input * `grouppicker`: Stores a user group using a picker control * `importid`: A read-only field that stores the previous ID of the issue from the system that it was imported from * `labels`: Stores labels * `multicheckboxes`: Stores multiple values using checkboxes * `multigrouppicker`: Stores multiple user groups using a picker control * `multiselect`: Stores multiple values using a select list * `multiuserpicker`: Stores multiple users using a picker control * `multiversion`: Stores multiple versions from the versions available in a project using a picker control * `project`: Stores a project from a list of projects that the user is permitted to view * `radiobuttons`: Stores a value using radio buttons * `readonlyfield`: Stores a read-only text value, which can only be populated via the API * `select`: Stores a value from a configurable list of options * `textarea`: Stores a long text string using a multiline text area * `textfield`: Stores a text string using a single-line text box * `url`: Stores a URL * `userpicker`: Stores a user using a picker control * `version`: Stores a version using a picker control - */ - public enum TypeEnum { - CASCADINGSELECT("com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect"), - - DATEPICKER("com.atlassian.jira.plugin.system.customfieldtypes:datepicker"), - - DATETIME("com.atlassian.jira.plugin.system.customfieldtypes:datetime"), - - FLOAT("com.atlassian.jira.plugin.system.customfieldtypes:float"), - - GROUPPICKER("com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"), - - IMPORTID("com.atlassian.jira.plugin.system.customfieldtypes:importid"), - - LABELS("com.atlassian.jira.plugin.system.customfieldtypes:labels"), - - MULTICHECKBOXES("com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes"), - - MULTIGROUPPICKER("com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker"), - - MULTISELECT("com.atlassian.jira.plugin.system.customfieldtypes:multiselect"), - - MULTIUSERPICKER("com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker"), - - MULTIVERSION("com.atlassian.jira.plugin.system.customfieldtypes:multiversion"), - - PROJECT("com.atlassian.jira.plugin.system.customfieldtypes:project"), - - RADIOBUTTONS("com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons"), - - READONLYFIELD("com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield"), - - SELECT("com.atlassian.jira.plugin.system.customfieldtypes:select"), - - TEXTAREA("com.atlassian.jira.plugin.system.customfieldtypes:textarea"), - - TEXTFIELD("com.atlassian.jira.plugin.system.customfieldtypes:textfield"), - - URL("com.atlassian.jira.plugin.system.customfieldtypes:url"), - - USERPICKER("com.atlassian.jira.plugin.system.customfieldtypes:userpicker"), - - VERSION("com.atlassian.jira.plugin.system.customfieldtypes:version"); - - private String value; - - TypeEnum(String value) { - this.value = value; - } - - @JsonValue - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - @JsonCreator - public static TypeEnum fromValue(String value) { - for (TypeEnum b : TypeEnum.values()) { - if (b.value.equalsIgnoreCase(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - } - @JsonProperty("type") - private TypeEnum type; + private String type; /** - * The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` + * The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` If no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable. */ public enum SearcherKeyEnum { CASCADINGSELECTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher"), @@ -219,21 +146,21 @@ public void setDescription(String description) { this.description = description; } - public CustomFieldDefinitionJsonBean type(TypeEnum type) { + public CustomFieldDefinitionJsonBean type(String type) { this.type = type; return this; } /** - * The type of the custom field. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppicker*. * `cascadingselect`: Allows multiple values to be selected using two select lists * `datepicker`: Stores a date using a picker control * `datetime`: Stores a date with a time component * `float`: Stores and validates a numeric (floating point) input * `grouppicker`: Stores a user group using a picker control * `importid`: A read-only field that stores the previous ID of the issue from the system that it was imported from * `labels`: Stores labels * `multicheckboxes`: Stores multiple values using checkboxes * `multigrouppicker`: Stores multiple user groups using a picker control * `multiselect`: Stores multiple values using a select list * `multiuserpicker`: Stores multiple users using a picker control * `multiversion`: Stores multiple versions from the versions available in a project using a picker control * `project`: Stores a project from a list of projects that the user is permitted to view * `radiobuttons`: Stores a value using radio buttons * `readonlyfield`: Stores a read-only text value, which can only be populated via the API * `select`: Stores a value from a configurable list of options * `textarea`: Stores a long text string using a multiline text area * `textfield`: Stores a text string using a single-line text box * `url`: Stores a URL * `userpicker`: Stores a user using a picker control * `version`: Stores a version using a picker control + * The type of the custom field. These built-in custom field types are available: * `cascadingselect`: Enables values to be selected from two levels of select lists (value: `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`) * `datepicker`: Stores a date using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`) * `datetime`: Stores a date with a time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`) * `float`: Stores and validates a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`) * `grouppicker`: Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`) * `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value: `com.atlassian.jira.plugin.system.customfieldtypes:importid`) * `labels`: Stores labels (value: `com.atlassian.jira.plugin.system.customfieldtypes:labels`) * `multicheckboxes`: Stores multiple values using checkboxes (value: ``) * `multigrouppicker`: Stores multiple user groups using a picker control (value: ``) * `multiselect`: Stores multiple values using a select list (value: `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`) * `multiuserpicker`: Stores multiple users using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`) * `multiversion`: Stores multiple versions from the versions available in a project using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`) * `project`: Stores a project from a list of projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`) * `radiobuttons`: Stores a value using radio buttons (value: `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`) * `readonlyfield`: Stores a read-only text value, which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`) * `select`: Stores a value from a configurable list of options (value: `com.atlassian.jira.plugin.system.customfieldtypes:select`) * `textarea`: Stores a long text string using a multiline text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`) * `textfield`: Stores a text string using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`) * `url`: Stores a URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`) * `userpicker`: Stores a user using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`) * `version`: Stores a version using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`) To create a field based on a [Forge custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-), use the ID of the Forge custom field type as the value. For example, `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`. * @return type **/ - @ApiModelProperty(required = true, value = "The type of the custom field. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppicker*. * `cascadingselect`: Allows multiple values to be selected using two select lists * `datepicker`: Stores a date using a picker control * `datetime`: Stores a date with a time component * `float`: Stores and validates a numeric (floating point) input * `grouppicker`: Stores a user group using a picker control * `importid`: A read-only field that stores the previous ID of the issue from the system that it was imported from * `labels`: Stores labels * `multicheckboxes`: Stores multiple values using checkboxes * `multigrouppicker`: Stores multiple user groups using a picker control * `multiselect`: Stores multiple values using a select list * `multiuserpicker`: Stores multiple users using a picker control * `multiversion`: Stores multiple versions from the versions available in a project using a picker control * `project`: Stores a project from a list of projects that the user is permitted to view * `radiobuttons`: Stores a value using radio buttons * `readonlyfield`: Stores a read-only text value, which can only be populated via the API * `select`: Stores a value from a configurable list of options * `textarea`: Stores a long text string using a multiline text area * `textfield`: Stores a text string using a single-line text box * `url`: Stores a URL * `userpicker`: Stores a user using a picker control * `version`: Stores a version using a picker control") - public TypeEnum getType() { + @ApiModelProperty(required = true, value = "The type of the custom field. These built-in custom field types are available: * `cascadingselect`: Enables values to be selected from two levels of select lists (value: `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`) * `datepicker`: Stores a date using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`) * `datetime`: Stores a date with a time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`) * `float`: Stores and validates a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`) * `grouppicker`: Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`) * `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value: `com.atlassian.jira.plugin.system.customfieldtypes:importid`) * `labels`: Stores labels (value: `com.atlassian.jira.plugin.system.customfieldtypes:labels`) * `multicheckboxes`: Stores multiple values using checkboxes (value: ``) * `multigrouppicker`: Stores multiple user groups using a picker control (value: ``) * `multiselect`: Stores multiple values using a select list (value: `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`) * `multiuserpicker`: Stores multiple users using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`) * `multiversion`: Stores multiple versions from the versions available in a project using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`) * `project`: Stores a project from a list of projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`) * `radiobuttons`: Stores a value using radio buttons (value: `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`) * `readonlyfield`: Stores a read-only text value, which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`) * `select`: Stores a value from a configurable list of options (value: `com.atlassian.jira.plugin.system.customfieldtypes:select`) * `textarea`: Stores a long text string using a multiline text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`) * `textfield`: Stores a text string using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`) * `url`: Stores a URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`) * `userpicker`: Stores a user using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`) * `version`: Stores a version using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`) To create a field based on a [Forge custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-), use the ID of the Forge custom field type as the value. For example, `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`.") + public String getType() { return type; } - public void setType(TypeEnum type) { + public void setType(String type) { this.type = type; } @@ -243,10 +170,10 @@ public CustomFieldDefinitionJsonBean searcherKey(SearcherKeyEnum searcherKey) { } /** - * The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` + * The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` If no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable. * @return searcherKey **/ - @ApiModelProperty(required = true, value = "The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher`") + @ApiModelProperty(value = "The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` If no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable.") public SearcherKeyEnum getSearcherKey() { return searcherKey; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOption.java index b833ec4..6fa4253 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOption.java @@ -41,7 +41,7 @@ * Details of a custom option for a field. */ @ApiModel(description = "Details of a custom option for a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class CustomFieldOption { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOptionCreate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOptionCreate.java new file mode 100644 index 0000000..26df00f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOptionCreate.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a custom field option to create. + */ +@ApiModel(description = "Details of a custom field option to create.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldOptionCreate { + @JsonProperty("value") + private String value; + + @JsonProperty("optionId") + private String optionId; + + @JsonProperty("disabled") + private Boolean disabled; + + public CustomFieldOptionCreate value(String value) { + this.value = value; + return this; + } + + /** + * The value of the custom field option. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the custom field option.") + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public CustomFieldOptionCreate optionId(String optionId) { + this.optionId = optionId; + return this; + } + + /** + * For cascading options, the ID of the custom field object containing the cascading option. + * @return optionId + **/ + @ApiModelProperty(value = "For cascading options, the ID of the custom field object containing the cascading option.") + public String getOptionId() { + return optionId; + } + + public void setOptionId(String optionId) { + this.optionId = optionId; + } + + public CustomFieldOptionCreate disabled(Boolean disabled) { + this.disabled = disabled; + return this; + } + + /** + * Whether the option is disabled. + * @return disabled + **/ + @ApiModelProperty(value = "Whether the option is disabled.") + public Boolean getDisabled() { + return disabled; + } + + public void setDisabled(Boolean disabled) { + this.disabled = disabled; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldOptionCreate customFieldOptionCreate = (CustomFieldOptionCreate) o; + return Objects.equals(this.value, customFieldOptionCreate.value) && + Objects.equals(this.optionId, customFieldOptionCreate.optionId) && + Objects.equals(this.disabled, customFieldOptionCreate.disabled); + } + + @Override + public int hashCode() { + return Objects.hash(value, optionId, disabled); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldOptionCreate {\n"); + + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" optionId: ").append(toIndentedString(optionId)).append("\n"); + sb.append(" disabled: ").append(toIndentedString(disabled)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOptionUpdate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOptionUpdate.java new file mode 100644 index 0000000..4be68e1 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldOptionUpdate.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a custom field option for a context. + */ +@ApiModel(description = "Details of a custom field option for a context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldOptionUpdate { + @JsonProperty("id") + private String id; + + @JsonProperty("value") + private String value; + + @JsonProperty("disabled") + private Boolean disabled; + + public CustomFieldOptionUpdate id(String id) { + this.id = id; + return this; + } + + /** + * The ID of the custom field option. + * @return id + **/ + @ApiModelProperty(required = true, value = "The ID of the custom field option.") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public CustomFieldOptionUpdate value(String value) { + this.value = value; + return this; + } + + /** + * The value of the custom field option. + * @return value + **/ + @ApiModelProperty(value = "The value of the custom field option.") + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public CustomFieldOptionUpdate disabled(Boolean disabled) { + this.disabled = disabled; + return this; + } + + /** + * Whether the option is disabled. + * @return disabled + **/ + @ApiModelProperty(value = "Whether the option is disabled.") + public Boolean getDisabled() { + return disabled; + } + + public void setDisabled(Boolean disabled) { + this.disabled = disabled; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldOptionUpdate customFieldOptionUpdate = (CustomFieldOptionUpdate) o; + return Objects.equals(this.id, customFieldOptionUpdate.id) && + Objects.equals(this.value, customFieldOptionUpdate.value) && + Objects.equals(this.disabled, customFieldOptionUpdate.disabled); + } + + @Override + public int hashCode() { + return Objects.hash(id, value, disabled); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldOptionUpdate {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" disabled: ").append(toIndentedString(disabled)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldReplacement.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldReplacement.java index ad198d0..e3d61b5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldReplacement.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldReplacement.java @@ -40,7 +40,7 @@ * Details about the replacement for a deleted version. */ @ApiModel(description = "Details about the replacement for a deleted version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class CustomFieldReplacement { @JsonProperty("customFieldId") private Long customFieldId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldUpdatedContextOptionsList.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldUpdatedContextOptionsList.java new file mode 100644 index 0000000..da72849 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldUpdatedContextOptionsList.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldOptionUpdate; + +/** + * A list of custom field options for a context. + */ +@ApiModel(description = "A list of custom field options for a context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldUpdatedContextOptionsList { + @JsonProperty("options") + private List options = new ArrayList<>(); + + public CustomFieldUpdatedContextOptionsList options(List options) { + this.options = options; + return this; + } + + public CustomFieldUpdatedContextOptionsList addOptionsItem(CustomFieldOptionUpdate optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * The updated custom field options. + * @return options + **/ + @ApiModelProperty(value = "The updated custom field options.") + public List getOptions() { + return options; + } + + public void setOptions(List options) { + this.options = options; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldUpdatedContextOptionsList customFieldUpdatedContextOptionsList = (CustomFieldUpdatedContextOptionsList) o; + return Objects.equals(this.options, customFieldUpdatedContextOptionsList.options); + } + + @Override + public int hashCode() { + return Objects.hash(options); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldUpdatedContextOptionsList {\n"); + + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldValueUpdate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldValueUpdate.java new file mode 100644 index 0000000..695bed2 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldValueUpdate.java @@ -0,0 +1,137 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * A list of issue IDs and the value to update a custom field to. + */ +@ApiModel(description = "A list of issue IDs and the value to update a custom field to.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldValueUpdate { + @JsonProperty("issueIds") + private List issueIds = new ArrayList<>(); + + @JsonProperty("value") + private Object value = null; + + public CustomFieldValueUpdate issueIds(List issueIds) { + this.issueIds = issueIds; + return this; + } + + public CustomFieldValueUpdate addIssueIdsItem(Long issueIdsItem) { + this.issueIds.add(issueIdsItem); + return this; + } + + /** + * The list of issue IDs. + * @return issueIds + **/ + @ApiModelProperty(required = true, value = "The list of issue IDs.") + public List getIssueIds() { + return issueIds; + } + + public void setIssueIds(List issueIds) { + this.issueIds = issueIds; + } + + public CustomFieldValueUpdate value(Object value) { + this.value = value; + return this; + } + + /** + * The value for the custom field. The value must be compatible with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#data-types) as follows: * `string` – the value must be a string. * `number` – the value must be a number. * `datetime` – the value must be a string that represents a date in the ISO format, for example `\"2021-01-18T12:00:00-03:00\"`. * `user` – the value must be an object that contains the `accountId` field. * `group` – the value must be an object that contains the group `name` field. A list of appropriate values must be provided if the field is of the `list` [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#collection-types). + * @return value + **/ + @ApiModelProperty(required = true, value = "The value for the custom field. The value must be compatible with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#data-types) as follows: * `string` – the value must be a string. * `number` – the value must be a number. * `datetime` – the value must be a string that represents a date in the ISO format, for example `\"2021-01-18T12:00:00-03:00\"`. * `user` – the value must be an object that contains the `accountId` field. * `group` – the value must be an object that contains the group `name` field. A list of appropriate values must be provided if the field is of the `list` [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#collection-types).") + public Object getValue() { + return value; + } + + public void setValue(Object value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldValueUpdate customFieldValueUpdate = (CustomFieldValueUpdate) o; + return Objects.equals(this.issueIds, customFieldValueUpdate.issueIds) && + Objects.equals(this.value, customFieldValueUpdate.value); + } + + @Override + public int hashCode() { + return Objects.hash(issueIds, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldValueUpdate {\n"); + + sb.append(" issueIds: ").append(toIndentedString(issueIds)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldValueUpdateRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldValueUpdateRequest.java new file mode 100644 index 0000000..f5da2bd --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/CustomFieldValueUpdateRequest.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldValueUpdate; + +/** + * Details of updates for a custom field. + */ +@ApiModel(description = "Details of updates for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class CustomFieldValueUpdateRequest { + @JsonProperty("updates") + private List updates = new ArrayList<>(); + + public CustomFieldValueUpdateRequest updates(List updates) { + this.updates = updates; + return this; + } + + public CustomFieldValueUpdateRequest addUpdatesItem(CustomFieldValueUpdate updatesItem) { + if (this.updates == null) { + this.updates = new ArrayList<>(); + } + this.updates.add(updatesItem); + return this; + } + + /** + * The list of custom field update details. + * @return updates + **/ + @ApiModelProperty(value = "The list of custom field update details.") + public List getUpdates() { + return updates; + } + + public void setUpdates(List updates) { + this.updates = updates; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldValueUpdateRequest customFieldValueUpdateRequest = (CustomFieldValueUpdateRequest) o; + return Objects.equals(this.updates, customFieldValueUpdateRequest.updates); + } + + @Override + public int hashCode() { + return Objects.hash(updates); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldValueUpdateRequest {\n"); + + sb.append(" updates: ").append(toIndentedString(updates)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Dashboard.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Dashboard.java index 93a22b6..8a449b4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Dashboard.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Dashboard.java @@ -45,7 +45,7 @@ * Details of a dashboard. */ @ApiModel(description = "Details of a dashboard.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Dashboard { @JsonProperty("description") private String description; @@ -74,9 +74,15 @@ public class Dashboard { @JsonProperty("sharePermissions") private List sharePermissions = new ArrayList<>(); + @JsonProperty("editPermissions") + private List editPermissions = new ArrayList<>(); + @JsonProperty("view") private String view; + @JsonProperty("isWritable") + private Boolean isWritable; + public Dashboard description(String description) { this.description = description; return this; @@ -159,14 +165,23 @@ public URI getSelf() { } /** - * The details of any share permissions for the dashboard. + * The details of any view share permissions for the dashboard. * @return sharePermissions **/ - @ApiModelProperty(value = "The details of any share permissions for the dashboard.") + @ApiModelProperty(value = "The details of any view share permissions for the dashboard.") public List getSharePermissions() { return sharePermissions; } + /** + * The details of any edit share permissions for the dashboard. + * @return editPermissions + **/ + @ApiModelProperty(value = "The details of any edit share permissions for the dashboard.") + public List getEditPermissions() { + return editPermissions; + } + /** * The URL of the dashboard. * @return view @@ -176,6 +191,15 @@ public String getView() { return view; } + /** + * Whether the current user has permission to edit the dashboard. + * @return isWritable + **/ + @ApiModelProperty(value = "Whether the current user has permission to edit the dashboard.") + public Boolean getIsWritable() { + return isWritable; + } + @Override public boolean equals(java.lang.Object o) { @@ -195,12 +219,14 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.rank, dashboard.rank) && Objects.equals(this.self, dashboard.self) && Objects.equals(this.sharePermissions, dashboard.sharePermissions) && - Objects.equals(this.view, dashboard.view); + Objects.equals(this.editPermissions, dashboard.editPermissions) && + Objects.equals(this.view, dashboard.view) && + Objects.equals(this.isWritable, dashboard.isWritable); } @Override public int hashCode() { - return Objects.hash(description, id, isFavourite, name, owner, popularity, rank, self, sharePermissions, view); + return Objects.hash(description, id, isFavourite, name, owner, popularity, rank, self, sharePermissions, editPermissions, view, isWritable); } @@ -218,7 +244,9 @@ public String toString() { sb.append(" rank: ").append(toIndentedString(rank)).append("\n"); sb.append(" self: ").append(toIndentedString(self)).append("\n"); sb.append(" sharePermissions: ").append(toIndentedString(sharePermissions)).append("\n"); + sb.append(" editPermissions: ").append(toIndentedString(editPermissions)).append("\n"); sb.append(" view: ").append(toIndentedString(view)).append("\n"); + sb.append(" isWritable: ").append(toIndentedString(isWritable)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DashboardDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DashboardDetails.java index 43061b0..09a46fd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DashboardDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DashboardDetails.java @@ -43,7 +43,7 @@ * Details of a dashboard. */ @ApiModel(description = "Details of a dashboard.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class DashboardDetails { @JsonProperty("name") private String name; @@ -54,6 +54,9 @@ public class DashboardDetails { @JsonProperty("sharePermissions") private List sharePermissions = new ArrayList<>(); + @JsonProperty("editPermissions") + private List editPermissions = new ArrayList<>(); + public DashboardDetails name(String name) { this.name = name; return this; @@ -101,10 +104,10 @@ public DashboardDetails addSharePermissionsItem(SharePermission sharePermissions } /** - * The details of any share permissions for the dashboard. + * The share permissions for the dashboard. * @return sharePermissions **/ - @ApiModelProperty(required = true, value = "The details of any share permissions for the dashboard.") + @ApiModelProperty(required = true, value = "The share permissions for the dashboard.") public List getSharePermissions() { return sharePermissions; } @@ -113,6 +116,29 @@ public void setSharePermissions(List sharePermissions) { this.sharePermissions = sharePermissions; } + public DashboardDetails editPermissions(List editPermissions) { + this.editPermissions = editPermissions; + return this; + } + + public DashboardDetails addEditPermissionsItem(SharePermission editPermissionsItem) { + this.editPermissions.add(editPermissionsItem); + return this; + } + + /** + * The edit permissions for the dashboard. + * @return editPermissions + **/ + @ApiModelProperty(required = true, value = "The edit permissions for the dashboard.") + public List getEditPermissions() { + return editPermissions; + } + + public void setEditPermissions(List editPermissions) { + this.editPermissions = editPermissions; + } + @Override public boolean equals(java.lang.Object o) { @@ -125,12 +151,13 @@ public boolean equals(java.lang.Object o) { DashboardDetails dashboardDetails = (DashboardDetails) o; return Objects.equals(this.name, dashboardDetails.name) && Objects.equals(this.description, dashboardDetails.description) && - Objects.equals(this.sharePermissions, dashboardDetails.sharePermissions); + Objects.equals(this.sharePermissions, dashboardDetails.sharePermissions) && + Objects.equals(this.editPermissions, dashboardDetails.editPermissions); } @Override public int hashCode() { - return Objects.hash(name, description, sharePermissions); + return Objects.hash(name, description, sharePermissions, editPermissions); } @@ -142,6 +169,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" sharePermissions: ").append(toIndentedString(sharePermissions)).append("\n"); + sb.append(" editPermissions: ").append(toIndentedString(editPermissions)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DefaultShareScope.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DefaultShareScope.java index a37a1c3..92e8c7d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DefaultShareScope.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DefaultShareScope.java @@ -40,7 +40,7 @@ * Details of the scope of the default sharing for new filters and dashboards. */ @ApiModel(description = "Details of the scope of the default sharing for new filters and dashboards.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class DefaultShareScope { /** * The scope of the default sharing for new filters and dashboards: * `AUTHENTICATED` Shared with all logged-in users. * `GLOBAL` Shared with all logged-in users. This shows as `AUTHENTICATED` in the response. * `PRIVATE` Not shared with any users. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DefaultWorkflow.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DefaultWorkflow.java index 61ecc09..6a4e633 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DefaultWorkflow.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DefaultWorkflow.java @@ -40,7 +40,7 @@ * Details about the default workflow. */ @ApiModel(description = "Details about the default workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class DefaultWorkflow { @JsonProperty("workflow") private String workflow; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DeleteAndReplaceVersionBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DeleteAndReplaceVersionBean.java index c507711..72dc0f8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DeleteAndReplaceVersionBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DeleteAndReplaceVersionBean.java @@ -42,7 +42,7 @@ /** * DeleteAndReplaceVersionBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class DeleteAndReplaceVersionBean { @JsonProperty("moveFixIssuesTo") private Long moveFixIssuesTo; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DeprecatedWorkflow.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DeprecatedWorkflow.java index 02874f6..e731173 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DeprecatedWorkflow.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/DeprecatedWorkflow.java @@ -41,7 +41,7 @@ * Details about a workflow. */ @ApiModel(description = "Details about a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class DeprecatedWorkflow { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EntityProperty.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EntityProperty.java index ce395f1..6078812 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EntityProperty.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EntityProperty.java @@ -40,7 +40,7 @@ * An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/). */ @ApiModel(description = "An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class EntityProperty { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EntityPropertyDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EntityPropertyDetails.java new file mode 100644 index 0000000..a226e39 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EntityPropertyDetails.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; + +/** + * EntityPropertyDetails + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class EntityPropertyDetails { + @JsonProperty("entityId") + private BigDecimal entityId; + + @JsonProperty("key") + private String key; + + @JsonProperty("value") + private String value; + + public EntityPropertyDetails entityId(BigDecimal entityId) { + this.entityId = entityId; + return this; + } + + /** + * The entity property ID. + * @return entityId + **/ + @ApiModelProperty(example = "123", required = true, value = "The entity property ID.") + public BigDecimal getEntityId() { + return entityId; + } + + public void setEntityId(BigDecimal entityId) { + this.entityId = entityId; + } + + public EntityPropertyDetails key(String key) { + this.key = key; + return this; + } + + /** + * The entity property key. + * @return key + **/ + @ApiModelProperty(example = "mykey", required = true, value = "The entity property key.") + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public EntityPropertyDetails value(String value) { + this.value = value; + return this; + } + + /** + * The new value of the entity property. + * @return value + **/ + @ApiModelProperty(example = "newValue", required = true, value = "The new value of the entity property.") + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityPropertyDetails entityPropertyDetails = (EntityPropertyDetails) o; + return Objects.equals(this.entityId, entityPropertyDetails.entityId) && + Objects.equals(this.key, entityPropertyDetails.key) && + Objects.equals(this.value, entityPropertyDetails.value); + } + + @Override + public int hashCode() { + return Objects.hash(entityId, key, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityPropertyDetails {\n"); + + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ErrorCollection.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ErrorCollection.java index a072a77..8627e26 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ErrorCollection.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ErrorCollection.java @@ -44,7 +44,7 @@ * Error messages from an operation. */ @ApiModel(description = "Error messages from an operation.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ErrorCollection { @JsonProperty("errorMessages") private List errorMessages = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ErrorMessage.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ErrorMessage.java index 13ff9d9..2734453 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ErrorMessage.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ErrorMessage.java @@ -39,7 +39,7 @@ /** * ErrorMessage */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ErrorMessage { @JsonProperty("message") private String message; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EventNotification.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EventNotification.java index fad0856..bfb4987 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EventNotification.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/EventNotification.java @@ -44,7 +44,7 @@ * Details about a notification associated with an event. */ @ApiModel(description = "Details about a notification associated with an event.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class EventNotification { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FailedWebhook.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FailedWebhook.java index 8025e3d..cb500c7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FailedWebhook.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FailedWebhook.java @@ -40,7 +40,7 @@ * Details about a failed webhook. */ @ApiModel(description = "Details about a failed webhook.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FailedWebhook { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FailedWebhooks.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FailedWebhooks.java index 5e3a473..fd66e0c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FailedWebhooks.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FailedWebhooks.java @@ -44,7 +44,7 @@ * A page of failed webhooks. */ @ApiModel(description = "A page of failed webhooks.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FailedWebhooks { @JsonProperty("values") private List values = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Field.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Field.java index a1d0447..e1d66cb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Field.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Field.java @@ -42,7 +42,7 @@ * Details of a field. */ @ApiModel(description = "Details of a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Field { @JsonProperty("id") private String id; @@ -62,6 +62,9 @@ public class Field { @JsonProperty("isLocked") private Boolean isLocked; + @JsonProperty("searcherKey") + private String searcherKey; + @JsonProperty("screensCount") private Long screensCount; @@ -116,7 +119,7 @@ public Field schema(JsonTypeBean schema) { * Get schema * @return schema **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public JsonTypeBean getSchema() { return schema; } @@ -179,6 +182,24 @@ public void setIsLocked(Boolean isLocked) { this.isLocked = isLocked; } + public Field searcherKey(String searcherKey) { + this.searcherKey = searcherKey; + return this; + } + + /** + * The searcher key of the field. Returned for custom fields. + * @return searcherKey + **/ + @ApiModelProperty(value = "The searcher key of the field. Returned for custom fields.") + public String getSearcherKey() { + return searcherKey; + } + + public void setSearcherKey(String searcherKey) { + this.searcherKey = searcherKey; + } + public Field screensCount(Long screensCount) { this.screensCount = screensCount; return this; @@ -249,6 +270,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.description, field.description) && Objects.equals(this.key, field.key) && Objects.equals(this.isLocked, field.isLocked) && + Objects.equals(this.searcherKey, field.searcherKey) && Objects.equals(this.screensCount, field.screensCount) && Objects.equals(this.contextsCount, field.contextsCount) && Objects.equals(this.lastUsed, field.lastUsed); @@ -256,7 +278,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(id, name, schema, description, key, isLocked, screensCount, contextsCount, lastUsed); + return Objects.hash(id, name, schema, description, key, isLocked, searcherKey, screensCount, contextsCount, lastUsed); } @@ -271,6 +293,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" key: ").append(toIndentedString(key)).append("\n"); sb.append(" isLocked: ").append(toIndentedString(isLocked)).append("\n"); + sb.append(" searcherKey: ").append(toIndentedString(searcherKey)).append("\n"); sb.append(" screensCount: ").append(toIndentedString(screensCount)).append("\n"); sb.append(" contextsCount: ").append(toIndentedString(contextsCount)).append("\n"); sb.append(" lastUsed: ").append(toIndentedString(lastUsed)).append("\n"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldChangedClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldChangedClause.java index 62b7bc0..ff392b2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldChangedClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldChangedClause.java @@ -44,7 +44,7 @@ * A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator. */ @ApiModel(description = "A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldChangedClause { @JsonProperty("field") private JqlQueryField field; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfiguration.java index b296264..a727a70 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfiguration.java @@ -40,7 +40,7 @@ * Details of a field configuration. */ @ApiModel(description = "Details of a field configuration.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldConfiguration { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationIssueTypeItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationIssueTypeItem.java index d730635..a3cfe7f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationIssueTypeItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationIssueTypeItem.java @@ -40,7 +40,7 @@ * The field configuration for an issue type. */ @ApiModel(description = "The field configuration for an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldConfigurationIssueTypeItem { @JsonProperty("fieldConfigurationSchemeId") private String fieldConfigurationSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationItem.java index 306e00e..fc299a5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationItem.java @@ -40,7 +40,7 @@ * A field within a field configuration. */ @ApiModel(description = "A field within a field configuration.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldConfigurationItem { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationScheme.java index 60d2d1e..5a23f7d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationScheme.java @@ -40,7 +40,7 @@ * Details of a field configuration scheme. */ @ApiModel(description = "Details of a field configuration scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldConfigurationScheme { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationSchemeProjectAssociation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationSchemeProjectAssociation.java index 0cf3811..a1e6137 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationSchemeProjectAssociation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationSchemeProjectAssociation.java @@ -40,7 +40,7 @@ * Associated field configuration scheme and project. */ @ApiModel(description = "Associated field configuration scheme and project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldConfigurationSchemeProjectAssociation { @JsonProperty("fieldConfigurationSchemeId") private String fieldConfigurationSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationSchemeProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationSchemeProjects.java index 988d065..c933453 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationSchemeProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldConfigurationSchemeProjects.java @@ -43,7 +43,7 @@ * Project list with assigned field configuration schema. */ @ApiModel(description = "Project list with assigned field configuration schema.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldConfigurationSchemeProjects { @JsonProperty("fieldConfigurationScheme") private FieldConfigurationScheme fieldConfigurationScheme; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldDetails.java index c862761..71541ac 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldDetails.java @@ -44,7 +44,7 @@ * Details about a field. */ @ApiModel(description = "Details about a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldDetails { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldLastUsed.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldLastUsed.java index 3e00102..96f71e4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldLastUsed.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldLastUsed.java @@ -41,7 +41,7 @@ * Information about the most recent use of a field. */ @ApiModel(description = "Information about the most recent use of a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldLastUsed { /** * Last used value type: * *TRACKED*: field is tracked and a last used date is available. * *NOT\\_TRACKED*: field is not tracked, last used date is not available. * *NO\\_INFORMATION*: field is tracked, but no last used date is available. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldMetadata.java index f693213..34fb095 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldMetadata.java @@ -43,7 +43,7 @@ * The metadata describing an issue field. */ @ApiModel(description = "The metadata describing an issue field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldMetadata { @JsonProperty("required") private Boolean required; @@ -85,7 +85,7 @@ public Boolean getRequired() { * The data type of the field. * @return schema **/ - @ApiModelProperty(value = "The data type of the field.") + @ApiModelProperty(required = true, value = "The data type of the field.") public JsonTypeBean getSchema() { return schema; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldReferenceData.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldReferenceData.java index 2b143d4..e21d49c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldReferenceData.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldReferenceData.java @@ -42,7 +42,7 @@ * Details of a field that can be used in advanced searches. */ @ApiModel(description = "Details of a field that can be used in advanced searches.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldReferenceData { @JsonProperty("value") private String value; @@ -197,10 +197,10 @@ public FieldReferenceData displayName(String displayName) { } /** - * The display name of the field. + * The display name contains the following: * for system fields, the field name. For example, `Summary`. * for collapsed custom fields, the field name followed by a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`. * for other custom fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`. * @return displayName **/ - @ApiModelProperty(value = "The display name of the field.") + @ApiModelProperty(value = "The display name contains the following: * for system fields, the field name. For example, `Summary`. * for collapsed custom fields, the field name followed by a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`. * for other custom fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`.") public String getDisplayName() { return displayName; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldUpdateOperation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldUpdateOperation.java index 5eefb90..a762c23 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldUpdateOperation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldUpdateOperation.java @@ -40,9 +40,10 @@ * Details of an operation to perform on a field. */ @ApiModel(description = "Details of an operation to perform on a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") @com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) -public class FieldUpdateOperation { +public + class FieldUpdateOperation { @JsonProperty("add") private Object add = null; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldValueClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldValueClause.java index 23c9f9d..22ae47e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldValueClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldValueClause.java @@ -42,7 +42,7 @@ * A clause that asserts the current value of a field. For example, `summary ~ test`. */ @ApiModel(description = "A clause that asserts the current value of a field. For example, `summary ~ test`.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldValueClause { @JsonProperty("field") private JqlQueryField field; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldWasClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldWasClause.java index d60c8e1..d317ab9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldWasClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FieldWasClause.java @@ -45,7 +45,7 @@ * A clause that asserts a previous value of a field. For example, `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator. */ @ApiModel(description = "A clause that asserts a previous value of a field. For example, `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FieldWasClause { @JsonProperty("field") private JqlQueryField field; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Fields.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Fields.java index 8317725..64fa096 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Fields.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Fields.java @@ -45,7 +45,7 @@ * Key fields from the linked issue. */ @ApiModel(description = "Key fields from the linked issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Fields { @JsonProperty("summary") private String summary; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Filter.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Filter.java index c3f179d..685bd1a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Filter.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Filter.java @@ -47,7 +47,7 @@ * Details about a filter. */ @ApiModel(description = "Details about a filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Filter { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterDetails.java index f877b69..e0607be 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterDetails.java @@ -46,7 +46,7 @@ * Details of a filter. */ @ApiModel(description = "Details of a filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FilterDetails { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterSubscription.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterSubscription.java index 0c915cf..45923f1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterSubscription.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterSubscription.java @@ -42,7 +42,7 @@ * Details of a user or group subscribing to a filter. */ @ApiModel(description = "Details of a user or group subscribing to a filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FilterSubscription { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterSubscriptionsList.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterSubscriptionsList.java index 4905ed6..b29f64e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterSubscriptionsList.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FilterSubscriptionsList.java @@ -43,7 +43,7 @@ * A paginated list of subscriptions to a filter. */ @ApiModel(description = "A paginated list of subscriptions to a filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FilterSubscriptionsList { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundGroup.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundGroup.java index a14edb4..571ccc9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundGroup.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundGroup.java @@ -43,7 +43,7 @@ * A group found in a search. */ @ApiModel(description = "A group found in a search.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FoundGroup { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundGroups.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundGroups.java index 5fea5c4..72ba2c7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundGroups.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundGroups.java @@ -43,7 +43,7 @@ * The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups. */ @ApiModel(description = "The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FoundGroups { @JsonProperty("header") private String header; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundUsers.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundUsers.java index e53a126..eedc599 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundUsers.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundUsers.java @@ -43,7 +43,7 @@ * The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users. */ @ApiModel(description = "The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FoundUsers { @JsonProperty("users") private List users = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundUsersAndGroups.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundUsersAndGroups.java index 22ef3d5..d8a6991 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundUsersAndGroups.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FoundUsersAndGroups.java @@ -42,7 +42,7 @@ * List of users and groups found in a search. */ @ApiModel(description = "List of users and groups found in a search.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FoundUsersAndGroups { @JsonProperty("users") private FoundUsers users; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FunctionOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FunctionOperand.java index 7b3dbe1..5f3fb30 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FunctionOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FunctionOperand.java @@ -42,7 +42,7 @@ * An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions. */ @ApiModel(description = "An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FunctionOperand { @JsonProperty("function") private String function; @@ -74,9 +74,6 @@ public FunctionOperand arguments(List arguments) { } public FunctionOperand addArgumentsItem(String argumentsItem) { - if (this.arguments == null) { - this.arguments = new ArrayList<>(); - } this.arguments.add(argumentsItem); return this; } @@ -85,7 +82,7 @@ public FunctionOperand addArgumentsItem(String argumentsItem) { * The list of function arguments. * @return arguments **/ - @ApiModelProperty(value = "The list of function arguments.") + @ApiModelProperty(required = true, value = "The list of function arguments.") public List getArguments() { return arguments; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FunctionReferenceData.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FunctionReferenceData.java index beffc05..3670f9f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FunctionReferenceData.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/FunctionReferenceData.java @@ -42,7 +42,7 @@ * Details of functions that can be used in advanced searches. */ @ApiModel(description = "Details of functions that can be used in advanced searches.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class FunctionReferenceData { @JsonProperty("value") private String value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GlobalScopeBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GlobalScopeBean.java index 5eed06f..3ab5f3e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GlobalScopeBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GlobalScopeBean.java @@ -41,7 +41,7 @@ /** * GlobalScopeBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class GlobalScopeBean { /** * Gets or Sets attributes diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Group.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Group.java index f5bf5f3..3b38bc7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Group.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Group.java @@ -41,7 +41,7 @@ /** * Group */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Group { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupDetails.java index abf5c8c..7d1842c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupDetails.java @@ -40,7 +40,7 @@ * Details about a group. */ @ApiModel(description = "Details about a group.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class GroupDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupLabel.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupLabel.java index cc57b96..a0c8809 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupLabel.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupLabel.java @@ -40,7 +40,7 @@ * A group label. */ @ApiModel(description = "A group label.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class GroupLabel { @JsonProperty("text") private String text; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupName.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupName.java index 0ec2c66..f20bb68 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupName.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/GroupName.java @@ -41,7 +41,7 @@ * Details about a group name. */ @ApiModel(description = "Details about a group name.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class GroupName { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HealthCheckResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HealthCheckResult.java index 2b85400..c421a84 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HealthCheckResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HealthCheckResult.java @@ -40,7 +40,7 @@ * Jira instance health check results. Deprecated and no longer returned. */ @ApiModel(description = "Jira instance health check results. Deprecated and no longer returned.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class HealthCheckResult { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Hierarchy.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Hierarchy.java index 825dcef..d3f0963 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Hierarchy.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Hierarchy.java @@ -40,38 +40,42 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.HierarchyLevel; /** - * Project Issue Type Hierarchy + * The project issue type hierarchy. */ -@ApiModel(description = "Project Issue Type Hierarchy") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@ApiModel(description = "The project issue type hierarchy.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Hierarchy { - @JsonProperty("level") - private List level = new ArrayList<>(); + @JsonProperty("baseLevelId") + private Long baseLevelId; - public Hierarchy level(List level) { - this.level = level; - return this; - } + @JsonProperty("levels") + private List levels = new ArrayList<>(); - public Hierarchy addLevelItem(HierarchyLevel levelItem) { - if (this.level == null) { - this.level = new ArrayList<>(); - } - this.level.add(levelItem); + public Hierarchy baseLevelId(Long baseLevelId) { + this.baseLevelId = baseLevelId; return this; } /** - * Get level - * @return level + * The ID of the base level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). + * @return baseLevelId **/ - @ApiModelProperty(value = "") - public List getLevel() { - return level; + @ApiModelProperty(value = "The ID of the base level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") + public Long getBaseLevelId() { + return baseLevelId; } - public void setLevel(List level) { - this.level = level; + public void setBaseLevelId(Long baseLevelId) { + this.baseLevelId = baseLevelId; + } + + /** + * Details about the hierarchy level. + * @return levels + **/ + @ApiModelProperty(value = "Details about the hierarchy level.") + public List getLevels() { + return levels; } @@ -84,12 +88,13 @@ public boolean equals(java.lang.Object o) { return false; } Hierarchy hierarchy = (Hierarchy) o; - return Objects.equals(this.level, hierarchy.level); + return Objects.equals(this.baseLevelId, hierarchy.baseLevelId) && + Objects.equals(this.levels, hierarchy.levels); } @Override public int hashCode() { - return Objects.hash(level); + return Objects.hash(baseLevelId, levels); } @@ -98,7 +103,8 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class Hierarchy {\n"); - sb.append(" level: ").append(toIndentedString(level)).append("\n"); + sb.append(" baseLevelId: ").append(toIndentedString(baseLevelId)).append("\n"); + sb.append(" levels: ").append(toIndentedString(levels)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HierarchyLevel.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HierarchyLevel.java index 8c8ed42..c54d6eb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HierarchyLevel.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HierarchyLevel.java @@ -42,7 +42,7 @@ /** * HierarchyLevel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class HierarchyLevel { @JsonProperty("id") private Long id; @@ -59,22 +59,65 @@ public class HierarchyLevel { @JsonProperty("projectConfigurationId") private Long projectConfigurationId; + @JsonProperty("level") + private Integer level; + @JsonProperty("issueTypeIds") private List issueTypeIds = new ArrayList<>(); @JsonProperty("externalUuid") private UUID externalUuid; + /** + * Gets or Sets globalHierarchyLevel + */ + public enum GlobalHierarchyLevelEnum { + SUBTASK("SUBTASK"), + + BASE("BASE"), + + EPIC("EPIC"); + + private String value; + + GlobalHierarchyLevelEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static GlobalHierarchyLevelEnum fromValue(String value) { + for (GlobalHierarchyLevelEnum b : GlobalHierarchyLevelEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("globalHierarchyLevel") + private GlobalHierarchyLevelEnum globalHierarchyLevel; + public HierarchyLevel id(Long id) { this.id = id; return this; } /** - * Get id + * The ID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return id **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The ID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public Long getId() { return id; } @@ -89,10 +132,10 @@ public HierarchyLevel name(String name) { } /** - * Get name + * The name of this hierarchy level. * @return name **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The name of this hierarchy level.") public String getName() { return name; } @@ -107,10 +150,10 @@ public HierarchyLevel aboveLevelId(Long aboveLevelId) { } /** - * Get aboveLevelId + * The ID of the level above this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return aboveLevelId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The ID of the level above this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public Long getAboveLevelId() { return aboveLevelId; } @@ -125,10 +168,10 @@ public HierarchyLevel belowLevelId(Long belowLevelId) { } /** - * Get belowLevelId + * The ID of the level below this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return belowLevelId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The ID of the level below this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public Long getBelowLevelId() { return belowLevelId; } @@ -143,10 +186,10 @@ public HierarchyLevel projectConfigurationId(Long projectConfigurationId) { } /** - * Get projectConfigurationId + * The ID of the project configuration. This property is deprecated, see [Change oticen: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return projectConfigurationId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The ID of the project configuration. This property is deprecated, see [Change oticen: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public Long getProjectConfigurationId() { return projectConfigurationId; } @@ -155,6 +198,24 @@ public void setProjectConfigurationId(Long projectConfigurationId) { this.projectConfigurationId = projectConfigurationId; } + public HierarchyLevel level(Integer level) { + this.level = level; + return this; + } + + /** + * The level of this item in the hierarchy. + * @return level + **/ + @ApiModelProperty(value = "The level of this item in the hierarchy.") + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + public HierarchyLevel issueTypeIds(List issueTypeIds) { this.issueTypeIds = issueTypeIds; return this; @@ -169,10 +230,10 @@ public HierarchyLevel addIssueTypeIdsItem(Long issueTypeIdsItem) { } /** - * Get issueTypeIds + * The issue types available in this hierarchy level. * @return issueTypeIds **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The issue types available in this hierarchy level.") public List getIssueTypeIds() { return issueTypeIds; } @@ -187,10 +248,10 @@ public HierarchyLevel externalUuid(UUID externalUuid) { } /** - * Get externalUuid + * The external UUID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return externalUuid **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The external UUID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public UUID getExternalUuid() { return externalUuid; } @@ -199,6 +260,24 @@ public void setExternalUuid(UUID externalUuid) { this.externalUuid = externalUuid; } + public HierarchyLevel globalHierarchyLevel(GlobalHierarchyLevelEnum globalHierarchyLevel) { + this.globalHierarchyLevel = globalHierarchyLevel; + return this; + } + + /** + * Get globalHierarchyLevel + * @return globalHierarchyLevel + **/ + @ApiModelProperty(value = "") + public GlobalHierarchyLevelEnum getGlobalHierarchyLevel() { + return globalHierarchyLevel; + } + + public void setGlobalHierarchyLevel(GlobalHierarchyLevelEnum globalHierarchyLevel) { + this.globalHierarchyLevel = globalHierarchyLevel; + } + @Override public boolean equals(java.lang.Object o) { @@ -214,13 +293,15 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.aboveLevelId, hierarchyLevel.aboveLevelId) && Objects.equals(this.belowLevelId, hierarchyLevel.belowLevelId) && Objects.equals(this.projectConfigurationId, hierarchyLevel.projectConfigurationId) && + Objects.equals(this.level, hierarchyLevel.level) && Objects.equals(this.issueTypeIds, hierarchyLevel.issueTypeIds) && - Objects.equals(this.externalUuid, hierarchyLevel.externalUuid); + Objects.equals(this.externalUuid, hierarchyLevel.externalUuid) && + Objects.equals(this.globalHierarchyLevel, hierarchyLevel.globalHierarchyLevel); } @Override public int hashCode() { - return Objects.hash(id, name, aboveLevelId, belowLevelId, projectConfigurationId, issueTypeIds, externalUuid); + return Objects.hash(id, name, aboveLevelId, belowLevelId, projectConfigurationId, level, issueTypeIds, externalUuid, globalHierarchyLevel); } @@ -234,8 +315,10 @@ public String toString() { sb.append(" aboveLevelId: ").append(toIndentedString(aboveLevelId)).append("\n"); sb.append(" belowLevelId: ").append(toIndentedString(belowLevelId)).append("\n"); sb.append(" projectConfigurationId: ").append(toIndentedString(projectConfigurationId)).append("\n"); + sb.append(" level: ").append(toIndentedString(level)).append("\n"); sb.append(" issueTypeIds: ").append(toIndentedString(issueTypeIds)).append("\n"); sb.append(" externalUuid: ").append(toIndentedString(externalUuid)).append("\n"); + sb.append(" globalHierarchyLevel: ").append(toIndentedString(globalHierarchyLevel)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HistoryMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HistoryMetadata.java index 5b8861c..83f3f33 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HistoryMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HistoryMetadata.java @@ -44,7 +44,7 @@ * Details of issue history metadata. */ @ApiModel(description = "Details of issue history metadata.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class HistoryMetadata { @JsonProperty("type") private String type; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HistoryMetadataParticipant.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HistoryMetadataParticipant.java index 07ca13e..ae9ae05 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HistoryMetadataParticipant.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/HistoryMetadataParticipant.java @@ -42,7 +42,7 @@ * Details of user or system associated with a issue history metadata item. */ @ApiModel(description = "Details of user or system associated with a issue history metadata item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class HistoryMetadataParticipant { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Icon.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Icon.java index 57d868a..7f7e0ad 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Icon.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Icon.java @@ -42,7 +42,7 @@ * An icon. If no icon is defined: * for a status icon, no status icon displays in Jira. * for the remote object icon, the default link icon displays in Jira. */ @ApiModel(description = "An icon. If no icon is defined: * for a status icon, no status icon displays in Jira. * for the remote object icon, the default link icon displays in Jira.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Icon { @JsonProperty("url16x16") private String url16x16; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IconBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IconBean.java index 104f394..a1ae94b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IconBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IconBean.java @@ -40,7 +40,7 @@ * An icon. */ @ApiModel(description = "An icon.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IconBean { @JsonProperty("url16x16") private String url16x16; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IdBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IdBean.java index e38010f..8c7a696 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IdBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IdBean.java @@ -39,7 +39,7 @@ /** * IdBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IdBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IdOrKeyBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IdOrKeyBean.java index 9e0c815..59fcd94 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IdOrKeyBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IdOrKeyBean.java @@ -39,7 +39,7 @@ /** * IdOrKeyBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IdOrKeyBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IncludedFields.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IncludedFields.java index 9ec0a05..8c45b5c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IncludedFields.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IncludedFields.java @@ -41,17 +41,17 @@ /** * IncludedFields */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IncludedFields { @JsonProperty("actuallyIncluded") private List actuallyIncluded = new ArrayList<>(); - @JsonProperty("included") - private List included = new ArrayList<>(); - @JsonProperty("excluded") private List excluded = new ArrayList<>(); + @JsonProperty("included") + private List included = new ArrayList<>(); + public IncludedFields actuallyIncluded(List actuallyIncluded) { this.actuallyIncluded = actuallyIncluded; return this; @@ -78,56 +78,56 @@ public void setActuallyIncluded(List actuallyIncluded) { this.actuallyIncluded = actuallyIncluded; } - public IncludedFields included(List included) { - this.included = included; + public IncludedFields excluded(List excluded) { + this.excluded = excluded; return this; } - public IncludedFields addIncludedItem(String includedItem) { - if (this.included == null) { - this.included = new ArrayList<>(); + public IncludedFields addExcludedItem(String excludedItem) { + if (this.excluded == null) { + this.excluded = new ArrayList<>(); } - this.included.add(includedItem); + this.excluded.add(excludedItem); return this; } /** - * Get included - * @return included + * Get excluded + * @return excluded **/ @ApiModelProperty(value = "") - public List getIncluded() { - return included; + public List getExcluded() { + return excluded; } - public void setIncluded(List included) { - this.included = included; + public void setExcluded(List excluded) { + this.excluded = excluded; } - public IncludedFields excluded(List excluded) { - this.excluded = excluded; + public IncludedFields included(List included) { + this.included = included; return this; } - public IncludedFields addExcludedItem(String excludedItem) { - if (this.excluded == null) { - this.excluded = new ArrayList<>(); + public IncludedFields addIncludedItem(String includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); } - this.excluded.add(excludedItem); + this.included.add(includedItem); return this; } /** - * Get excluded - * @return excluded + * Get included + * @return included **/ @ApiModelProperty(value = "") - public List getExcluded() { - return excluded; + public List getIncluded() { + return included; } - public void setExcluded(List excluded) { - this.excluded = excluded; + public void setIncluded(List included) { + this.included = included; } @@ -141,13 +141,13 @@ public boolean equals(java.lang.Object o) { } IncludedFields includedFields = (IncludedFields) o; return Objects.equals(this.actuallyIncluded, includedFields.actuallyIncluded) && - Objects.equals(this.included, includedFields.included) && - Objects.equals(this.excluded, includedFields.excluded); + Objects.equals(this.excluded, includedFields.excluded) && + Objects.equals(this.included, includedFields.included); } @Override public int hashCode() { - return Objects.hash(actuallyIncluded, included, excluded); + return Objects.hash(actuallyIncluded, excluded, included); } @@ -157,8 +157,8 @@ public String toString() { sb.append("class IncludedFields {\n"); sb.append(" actuallyIncluded: ").append(toIndentedString(actuallyIncluded)).append("\n"); - sb.append(" included: ").append(toIndentedString(included)).append("\n"); sb.append(" excluded: ").append(toIndentedString(excluded)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueBean.java index 69b1f7c..a607d33 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueBean.java @@ -48,9 +48,10 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.PageOfChangelogs; /** - * IssueBean + * Details about an issue. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@ApiModel(description = "Details about an issue.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueBean { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueChangelogIds.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueChangelogIds.java new file mode 100644 index 0000000..5c16089 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueChangelogIds.java @@ -0,0 +1,114 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * A list of changelog IDs. + */ +@ApiModel(description = "A list of changelog IDs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class IssueChangelogIds { + @JsonProperty("changelogIds") + private List changelogIds = new ArrayList<>(); + + public IssueChangelogIds changelogIds(List changelogIds) { + this.changelogIds = changelogIds; + return this; + } + + public IssueChangelogIds addChangelogIdsItem(Long changelogIdsItem) { + this.changelogIds.add(changelogIdsItem); + return this; + } + + /** + * The list of changelog IDs. + * @return changelogIds + **/ + @ApiModelProperty(required = true, value = "The list of changelog IDs.") + public List getChangelogIds() { + return changelogIds; + } + + public void setChangelogIds(List changelogIds) { + this.changelogIds = changelogIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssueChangelogIds issueChangelogIds = (IssueChangelogIds) o; + return Objects.equals(this.changelogIds, issueChangelogIds.changelogIds); + } + + @Override + public int hashCode() { + return Objects.hash(changelogIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssueChangelogIds {\n"); + + sb.append(" changelogIds: ").append(toIndentedString(changelogIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueCommentListRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueCommentListRequestBean.java index 6acd742..3555ad0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueCommentListRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueCommentListRequestBean.java @@ -41,7 +41,7 @@ /** * IssueCommentListRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueCommentListRequestBean { @JsonProperty("ids") private List ids = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueCreateMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueCreateMetadata.java index 0b62d90..06d500f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueCreateMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueCreateMetadata.java @@ -43,7 +43,7 @@ * The wrapper for the issue creation metadata for a list of projects. */ @ApiModel(description = "The wrapper for the issue creation metadata for a list of projects.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueCreateMetadata { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueEntityProperties.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueEntityProperties.java index 4fcd359..1f07f23 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueEntityProperties.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueEntityProperties.java @@ -45,7 +45,7 @@ * Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information. */ @ApiModel(description = "Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueEntityProperties { @JsonProperty("entitiesIds") private List entitiesIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOption.java index 82f725c..7129594 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOption.java @@ -44,7 +44,7 @@ * Details of the options for a select list issue field. */ @ApiModel(description = "Details of the options for a select list issue field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueFieldOption { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionConfiguration.java index b1fc306..8485d2a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionConfiguration.java @@ -43,7 +43,7 @@ * Details of the projects the option is available in. */ @ApiModel(description = "Details of the projects the option is available in.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueFieldOptionConfiguration { @JsonProperty("scope") private IssueFieldOptionScopeBean scope; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionCreateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionCreateBean.java index 8b391c0..ba51647 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionCreateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionCreateBean.java @@ -43,7 +43,7 @@ /** * IssueFieldOptionCreateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueFieldOptionCreateBean { @JsonProperty("value") private String value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionScopeBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionScopeBean.java index d1f933b..f8985c5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionScopeBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFieldOptionScopeBean.java @@ -43,7 +43,7 @@ /** * IssueFieldOptionScopeBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueFieldOptionScopeBean { @JsonProperty("projects") private List projects = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFilterForBulkPropertyDelete.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFilterForBulkPropertyDelete.java index c24334d..befcd9a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFilterForBulkPropertyDelete.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFilterForBulkPropertyDelete.java @@ -42,7 +42,7 @@ * Bulk operation filter details. */ @ApiModel(description = "Bulk operation filter details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueFilterForBulkPropertyDelete { @JsonProperty("entityIds") private List entityIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFilterForBulkPropertySet.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFilterForBulkPropertySet.java index 3adaf34..057fce8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFilterForBulkPropertySet.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueFilterForBulkPropertySet.java @@ -42,7 +42,7 @@ * Bulk operation filter details. */ @ApiModel(description = "Bulk operation filter details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueFilterForBulkPropertySet { @JsonProperty("entityIds") private List entityIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLink.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLink.java index 7836b41..fa4423f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLink.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLink.java @@ -43,7 +43,7 @@ * Details of a link between issues. */ @ApiModel(description = "Details of a link between issues.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueLink { @JsonProperty("id") private String id; @@ -87,7 +87,7 @@ public IssueLink type(IssueLinkType type) { * The type of link between the issues. * @return type **/ - @ApiModelProperty(value = "The type of link between the issues.") + @ApiModelProperty(required = true, value = "The type of link between the issues.") public IssueLinkType getType() { return type; } @@ -105,7 +105,7 @@ public IssueLink inwardIssue(LinkedIssue inwardIssue) { * The issue the link joins to. * @return inwardIssue **/ - @ApiModelProperty(value = "The issue the link joins to.") + @ApiModelProperty(required = true, value = "The issue the link joins to.") public LinkedIssue getInwardIssue() { return inwardIssue; } @@ -123,7 +123,7 @@ public IssueLink outwardIssue(LinkedIssue outwardIssue) { * The issue the link originates from. * @return outwardIssue **/ - @ApiModelProperty(value = "The issue the link originates from.") + @ApiModelProperty(required = true, value = "The issue the link originates from.") public LinkedIssue getOutwardIssue() { return outwardIssue; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLinkType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLinkType.java index fa8f540..e3da210 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLinkType.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLinkType.java @@ -41,7 +41,7 @@ * This object is used as follows: * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-2-issueLinkType-get). * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it defines and reports on issue link types. */ @ApiModel(description = "This object is used as follows: * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-2-issueLinkType-get). * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it defines and reports on issue link types.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueLinkType { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLinkTypes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLinkTypes.java index 8c74f8e..ad87c83 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLinkTypes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueLinkTypes.java @@ -43,7 +43,7 @@ * A list of issue link type beans. */ @ApiModel(description = "A list of issue link type beans.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueLinkTypes { @JsonProperty("issueLinkTypes") private List issueLinkTypes = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueMatches.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueMatches.java index 09703a1..c559de3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueMatches.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueMatches.java @@ -43,7 +43,7 @@ * A list of matched issues or errors for each JQL query, in the order the JQL queries were passed. */ @ApiModel(description = "A list of matched issues or errors for each JQL query, in the order the JQL queries were passed.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueMatches { @JsonProperty("matches") private List matches = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueMatchesForJQL.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueMatchesForJQL.java index f8abcd9..6a1da5f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueMatchesForJQL.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueMatchesForJQL.java @@ -42,7 +42,7 @@ * A list of the issues matched to a JQL query or details of errors encountered during matching. */ @ApiModel(description = "A list of the issues matched to a JQL query or details of errors encountered during matching.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueMatchesForJQL { @JsonProperty("matchedIssues") private List matchedIssues = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuePickerSuggestions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuePickerSuggestions.java index d14c410..18771ab 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuePickerSuggestions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuePickerSuggestions.java @@ -43,7 +43,7 @@ * A list of issues suggested for use in auto-completion. */ @ApiModel(description = "A list of issues suggested for use in auto-completion.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssuePickerSuggestions { @JsonProperty("sections") private List sections = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuePickerSuggestionsIssueType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuePickerSuggestionsIssueType.java index 11c3f48..ff0d3cd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuePickerSuggestionsIssueType.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuePickerSuggestionsIssueType.java @@ -43,7 +43,7 @@ * A type of issue suggested for use in auto-completion. */ @ApiModel(description = "A type of issue suggested for use in auto-completion.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssuePickerSuggestionsIssueType { @JsonProperty("label") private String label; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueSecurityLevelMember.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueSecurityLevelMember.java index baa92a2..853b6ea 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueSecurityLevelMember.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueSecurityLevelMember.java @@ -41,7 +41,7 @@ * Issue security level member. */ @ApiModel(description = "Issue security level member.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueSecurityLevelMember { @JsonProperty("id") private Long id; @@ -94,10 +94,10 @@ public IssueSecurityLevelMember holder(PermissionHolder holder) { } /** - * The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information. + * The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information. * @return holder **/ - @ApiModelProperty(value = "The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information.") + @ApiModelProperty(required = true, value = "The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.") public PermissionHolder getHolder() { return holder; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTransition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTransition.java index 7351252..02ecab0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTransition.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTransition.java @@ -45,7 +45,7 @@ * Details of an issue transition. */ @ApiModel(description = "Details of an issue transition.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTransition { @JsonProperty("id") private String id; @@ -77,6 +77,9 @@ public class IssueTransition { @JsonProperty("expand") private String expand; + @JsonProperty("looped") + private Boolean looped; + private HashMap additionalProperties_ = new HashMap(); public IssueTransition id(String id) { @@ -178,6 +181,24 @@ public String getExpand() { return expand; } + public IssueTransition looped(Boolean looped) { + this.looped = looped; + return this; + } + + /** + * Get looped + * @return looped + **/ + @ApiModelProperty(value = "") + public Boolean getLooped() { + return looped; + } + + public void setLooped(Boolean looped) { + this.looped = looped; + } + @com.fasterxml.jackson.annotation.JsonAnyGetter public Map any() { @@ -208,12 +229,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.isConditional, issueTransition.isConditional) && Objects.equals(this.fields, issueTransition.fields) && Objects.equals(this.expand, issueTransition.expand) && + Objects.equals(this.looped, issueTransition.looped) && super.equals(o); } @Override public int hashCode() { - return Objects.hash(id, name, to, hasScreen, isGlobal, isInitial, isAvailable, isConditional, fields, expand, super.hashCode()); + return Objects.hash(id, name, to, hasScreen, isGlobal, isInitial, isAvailable, isConditional, fields, expand, looped, super.hashCode()); } @@ -232,6 +254,7 @@ public String toString() { sb.append(" isConditional: ").append(toIndentedString(isConditional)).append("\n"); sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); sb.append(" expand: ").append(toIndentedString(expand)).append("\n"); + sb.append(" looped: ").append(toIndentedString(looped)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties_)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeCreateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeCreateBean.java index 98398a0..3e36292 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeCreateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeCreateBean.java @@ -39,7 +39,7 @@ /** * IssueTypeCreateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeCreateBean { @JsonProperty("name") private String name; @@ -48,7 +48,7 @@ public class IssueTypeCreateBean { private String description; /** - * Whether the issue type is `subtype` or `standard`. Defaults to `standard`. + * Deprecated. Use `hierarchyLevel` instead. Whether the issue type is `subtype` or `standard`. Defaults to `standard`. */ public enum TypeEnum { SUBTASK("subtask"), @@ -85,6 +85,9 @@ public static TypeEnum fromValue(String value) { @JsonProperty("type") private TypeEnum type; + @JsonProperty("hierarchyLevel") + private Integer hierarchyLevel; + public IssueTypeCreateBean name(String name) { this.name = name; return this; @@ -127,10 +130,10 @@ public IssueTypeCreateBean type(TypeEnum type) { } /** - * Whether the issue type is `subtype` or `standard`. Defaults to `standard`. + * Deprecated. Use `hierarchyLevel` instead. Whether the issue type is `subtype` or `standard`. Defaults to `standard`. * @return type **/ - @ApiModelProperty(value = "Whether the issue type is `subtype` or `standard`. Defaults to `standard`.") + @ApiModelProperty(value = "Deprecated. Use `hierarchyLevel` instead. Whether the issue type is `subtype` or `standard`. Defaults to `standard`.") public TypeEnum getType() { return type; } @@ -139,6 +142,24 @@ public void setType(TypeEnum type) { this.type = type; } + public IssueTypeCreateBean hierarchyLevel(Integer hierarchyLevel) { + this.hierarchyLevel = hierarchyLevel; + return this; + } + + /** + * The hierarchy level of the issue type. Use: * `-1` for Subtask. * `0` for Base. Defaults to `0`. + * @return hierarchyLevel + **/ + @ApiModelProperty(value = "The hierarchy level of the issue type. Use: * `-1` for Subtask. * `0` for Base. Defaults to `0`.") + public Integer getHierarchyLevel() { + return hierarchyLevel; + } + + public void setHierarchyLevel(Integer hierarchyLevel) { + this.hierarchyLevel = hierarchyLevel; + } + @Override public boolean equals(java.lang.Object o) { @@ -151,12 +172,13 @@ public boolean equals(java.lang.Object o) { IssueTypeCreateBean issueTypeCreateBean = (IssueTypeCreateBean) o; return Objects.equals(this.name, issueTypeCreateBean.name) && Objects.equals(this.description, issueTypeCreateBean.description) && - Objects.equals(this.type, issueTypeCreateBean.type); + Objects.equals(this.type, issueTypeCreateBean.type) && + Objects.equals(this.hierarchyLevel, issueTypeCreateBean.hierarchyLevel); } @Override public int hashCode() { - return Objects.hash(name, description, type); + return Objects.hash(name, description, type, hierarchyLevel); } @@ -168,6 +190,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" hierarchyLevel: ").append(toIndentedString(hierarchyLevel)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeDetails.java index a7c5967..262c56b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeDetails.java @@ -42,7 +42,7 @@ * Details about an issue type. */ @ApiModel(description = "Details about an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeDetails { @JsonProperty("self") private String self; @@ -68,6 +68,9 @@ public class IssueTypeDetails { @JsonProperty("entityId") private UUID entityId; + @JsonProperty("hierarchyLevel") + private Integer hierarchyLevel; + @JsonProperty("scope") private Scope scope; @@ -143,6 +146,15 @@ public UUID getEntityId() { return entityId; } + /** + * Hierarchy level of the issue type. + * @return hierarchyLevel + **/ + @ApiModelProperty(value = "Hierarchy level of the issue type.") + public Integer getHierarchyLevel() { + return hierarchyLevel; + } + /** * Details of the next-gen projects the issue type is available in. * @return scope @@ -170,12 +182,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.subtask, issueTypeDetails.subtask) && Objects.equals(this.avatarId, issueTypeDetails.avatarId) && Objects.equals(this.entityId, issueTypeDetails.entityId) && + Objects.equals(this.hierarchyLevel, issueTypeDetails.hierarchyLevel) && Objects.equals(this.scope, issueTypeDetails.scope); } @Override public int hashCode() { - return Objects.hash(self, id, description, iconUrl, name, subtask, avatarId, entityId, scope); + return Objects.hash(self, id, description, iconUrl, name, subtask, avatarId, entityId, hierarchyLevel, scope); } @@ -192,6 +205,7 @@ public String toString() { sb.append(" subtask: ").append(toIndentedString(subtask)).append("\n"); sb.append(" avatarId: ").append(toIndentedString(avatarId)).append("\n"); sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" hierarchyLevel: ").append(toIndentedString(hierarchyLevel)).append("\n"); sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeIDs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeIDs.java index abd0933..20938d9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeIDs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeIDs.java @@ -39,15 +39,15 @@ import java.util.List; /** - * A list of issue type IDs. + * The list of issue type IDs. */ -@ApiModel(description = "A list of issue type IDs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@ApiModel(description = "The list of issue type IDs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeIDs { @JsonProperty("issueTypeIds") private List issueTypeIds = new ArrayList<>(); - public IssueTypeIDs issueTypeIds(List issueTypeIds) { + public IssueTypeIDs issueTypeIDs(List issueTypeIds) { this.issueTypeIds = issueTypeIds; return this; } @@ -58,10 +58,10 @@ public IssueTypeIDs addIssueTypeIdsItem(String issueTypeIdsItem) { } /** - * List of issue type IDs. + * The list of issue type IDs. * @return issueTypeIds **/ - @ApiModelProperty(required = true, value = "List of issue type IDs.") + @ApiModelProperty(required = true, value = "The list of issue type IDs.") public List getIssueTypeIds() { return issueTypeIds; } @@ -92,7 +92,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class IssueTypeIDs {\n"); + sb.append("class IssueTypeIds {\n"); sb.append(" issueTypeIds: ").append(toIndentedString(issueTypeIds)).append("\n"); sb.append("}"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeInfo.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeInfo.java index 717aac1..38bddc9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeInfo.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeInfo.java @@ -40,7 +40,7 @@ * Details of an issue type. */ @ApiModel(description = "Details of an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeInfo { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeIssueCreateMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeIssueCreateMetadata.java index df5110a..365e14e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeIssueCreateMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeIssueCreateMetadata.java @@ -46,7 +46,7 @@ * Details of the issue creation metadata for an issue type. */ @ApiModel(description = "Details of the issue creation metadata for an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeIssueCreateMetadata { @JsonProperty("self") private String self; @@ -72,6 +72,9 @@ public class IssueTypeIssueCreateMetadata { @JsonProperty("entityId") private UUID entityId; + @JsonProperty("hierarchyLevel") + private Integer hierarchyLevel; + @JsonProperty("scope") private Scope scope; @@ -153,6 +156,15 @@ public UUID getEntityId() { return entityId; } + /** + * Hierarchy level of the issue type. + * @return hierarchyLevel + **/ + @ApiModelProperty(value = "Hierarchy level of the issue type.") + public Integer getHierarchyLevel() { + return hierarchyLevel; + } + /** * Details of the next-gen projects the issue type is available in. * @return scope @@ -198,6 +210,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.subtask, issueTypeIssueCreateMetadata.subtask) && Objects.equals(this.avatarId, issueTypeIssueCreateMetadata.avatarId) && Objects.equals(this.entityId, issueTypeIssueCreateMetadata.entityId) && + Objects.equals(this.hierarchyLevel, issueTypeIssueCreateMetadata.hierarchyLevel) && Objects.equals(this.scope, issueTypeIssueCreateMetadata.scope) && Objects.equals(this.expand, issueTypeIssueCreateMetadata.expand) && Objects.equals(this.fields, issueTypeIssueCreateMetadata.fields); @@ -205,7 +218,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(self, id, description, iconUrl, name, subtask, avatarId, entityId, scope, expand, fields); + return Objects.hash(self, id, description, iconUrl, name, subtask, avatarId, entityId, hierarchyLevel, scope, expand, fields); } @@ -222,6 +235,7 @@ public String toString() { sb.append(" subtask: ").append(toIndentedString(subtask)).append("\n"); sb.append(" avatarId: ").append(toIndentedString(avatarId)).append("\n"); sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" hierarchyLevel: ").append(toIndentedString(hierarchyLevel)).append("\n"); sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); sb.append(" expand: ").append(toIndentedString(expand)).append("\n"); sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScheme.java index 79f4ed8..654f16b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScheme.java @@ -40,7 +40,7 @@ * Details of an issue type scheme. */ @ApiModel(description = "Details of an issue type scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScheme { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeDetails.java index ed9a5d9..7869ced 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeDetails.java @@ -42,7 +42,7 @@ * Details of an issue type scheme and its associated issue types. */ @ApiModel(description = "Details of an issue type scheme and its associated issue types.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeSchemeDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeID.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeID.java index 589761f..d2145d4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeID.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeID.java @@ -40,7 +40,7 @@ * The ID of an issue type scheme. */ @ApiModel(description = "The ID of an issue type scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeSchemeID { @JsonProperty("issueTypeSchemeId") private String issueTypeSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeMapping.java index 0c22606..fcaf018 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeMapping.java @@ -40,7 +40,7 @@ * Issue type scheme item. */ @ApiModel(description = "Issue type scheme item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeSchemeMapping { @JsonProperty("issueTypeSchemeId") private String issueTypeSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeProjectAssociation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeProjectAssociation.java index efc497b..9636572 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeProjectAssociation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeProjectAssociation.java @@ -40,7 +40,7 @@ * Details of the association between an issue type scheme and project. */ @ApiModel(description = "Details of the association between an issue type scheme and project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeSchemeProjectAssociation { @JsonProperty("issueTypeSchemeId") private String issueTypeSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeProjects.java index e6649bf..f5cdab6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeProjects.java @@ -43,7 +43,7 @@ * Issue type scheme with a list of the projects that use it. */ @ApiModel(description = "Issue type scheme with a list of the projects that use it.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeSchemeProjects { @JsonProperty("issueTypeScheme") private IssueTypeScheme issueTypeScheme; @@ -60,7 +60,7 @@ public IssueTypeSchemeProjects issueTypeScheme(IssueTypeScheme issueTypeScheme) * Details of an issue type scheme. * @return issueTypeScheme **/ - @ApiModelProperty(value = "Details of an issue type scheme.") + @ApiModelProperty(required = true, value = "Details of an issue type scheme.") public IssueTypeScheme getIssueTypeScheme() { return issueTypeScheme; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeUpdateDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeUpdateDetails.java index d825e65..735df2e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeUpdateDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeSchemeUpdateDetails.java @@ -40,7 +40,7 @@ * Details of the name, description, and default issue type for an issue type scheme. */ @ApiModel(description = "Details of the name, description, and default issue type for an issue type scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeSchemeUpdateDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenScheme.java index 040d44a..b348a1e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenScheme.java @@ -40,7 +40,7 @@ * Details of an issue type screen scheme. */ @ApiModel(description = "Details of an issue type screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScreenScheme { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeDetails.java index 73e9c54..31f5b8a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeDetails.java @@ -43,7 +43,7 @@ * The details of an issue type screen scheme. */ @ApiModel(description = "The details of an issue type screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScreenSchemeDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeId.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeId.java index 713c24d..a0c188e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeId.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeId.java @@ -40,7 +40,7 @@ * The ID of an issue type screen scheme. */ @ApiModel(description = "The ID of an issue type screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScreenSchemeId { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeItem.java index 130e7f8..dc91269 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeItem.java @@ -40,7 +40,7 @@ * The screen scheme for an issue type. */ @ApiModel(description = "The screen scheme for an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScreenSchemeItem { @JsonProperty("issueTypeScreenSchemeId") private String issueTypeScreenSchemeId; @@ -75,10 +75,10 @@ public IssueTypeScreenSchemeItem issueTypeId(String issueTypeId) { } /** - * The ID of the issue type or *default*. When set to *default* this issue type screen scheme item applies to all issue types without a screen scheme. + * The ID of the issue type or *default*. Only issue types used in classic projects are accepted. When creating an issue screen scheme, an entry for *default* must be provided and defines the mapping for all issue types without a screen scheme. Otherwise, a *default* entry can't be provided. * @return issueTypeId **/ - @ApiModelProperty(required = true, value = "The ID of the issue type or *default*. When set to *default* this issue type screen scheme item applies to all issue types without a screen scheme.") + @ApiModelProperty(required = true, value = "The ID of the issue type or *default*. Only issue types used in classic projects are accepted. When creating an issue screen scheme, an entry for *default* must be provided and defines the mapping for all issue types without a screen scheme. Otherwise, a *default* entry can't be provided.") public String getIssueTypeId() { return issueTypeId; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeMapping.java index a109f9c..b1f81f0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeMapping.java @@ -40,7 +40,7 @@ * The IDs of the screen schemes for the issue type IDs. */ @ApiModel(description = "The IDs of the screen schemes for the issue type IDs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScreenSchemeMapping { @JsonProperty("issueTypeId") private String issueTypeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeMappingDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeMappingDetails.java new file mode 100644 index 0000000..5c39fe3 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeMappingDetails.java @@ -0,0 +1,115 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeScreenSchemeMapping; + +/** + * A list of issue type screen scheme mappings. + */ +@ApiModel(description = "A list of issue type screen scheme mappings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class IssueTypeScreenSchemeMappingDetails { + @JsonProperty("issueTypeMappings") + private List issueTypeMappings = new ArrayList<>(); + + public IssueTypeScreenSchemeMappingDetails issueTypeMappings(List issueTypeMappings) { + this.issueTypeMappings = issueTypeMappings; + return this; + } + + public IssueTypeScreenSchemeMappingDetails addIssueTypeMappingsItem(IssueTypeScreenSchemeMapping issueTypeMappingsItem) { + this.issueTypeMappings.add(issueTypeMappingsItem); + return this; + } + + /** + * The list of issue type to screen scheme mappings. A *default* entry cannot be specified because a default entry is added when an issue type screen scheme is created. + * @return issueTypeMappings + **/ + @ApiModelProperty(required = true, value = "The list of issue type to screen scheme mappings. A *default* entry cannot be specified because a default entry is added when an issue type screen scheme is created.") + public List getIssueTypeMappings() { + return issueTypeMappings; + } + + public void setIssueTypeMappings(List issueTypeMappings) { + this.issueTypeMappings = issueTypeMappings; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssueTypeScreenSchemeMappingDetails issueTypeScreenSchemeMappingDetails = (IssueTypeScreenSchemeMappingDetails) o; + return Objects.equals(this.issueTypeMappings, issueTypeScreenSchemeMappingDetails.issueTypeMappings); + } + + @Override + public int hashCode() { + return Objects.hash(issueTypeMappings); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssueTypeScreenSchemeMappingDetails {\n"); + + sb.append(" issueTypeMappings: ").append(toIndentedString(issueTypeMappings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeProjectAssociation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeProjectAssociation.java index dda25ae..f498987 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeProjectAssociation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeProjectAssociation.java @@ -40,7 +40,7 @@ * Associated issue type screen scheme and project. */ @ApiModel(description = "Associated issue type screen scheme and project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScreenSchemeProjectAssociation { @JsonProperty("issueTypeScreenSchemeId") private String issueTypeScreenSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeUpdateDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeUpdateDetails.java index 46791c0..1eb09e1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeUpdateDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemeUpdateDetails.java @@ -40,7 +40,7 @@ * Details of an issue type screen scheme. */ @ApiModel(description = "Details of an issue type screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScreenSchemeUpdateDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemesProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemesProjects.java index 15bd396..0b3890a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemesProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeScreenSchemesProjects.java @@ -43,7 +43,7 @@ * Issue type screen scheme with a list of the projects that use it. */ @ApiModel(description = "Issue type screen scheme with a list of the projects that use it.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeScreenSchemesProjects { @JsonProperty("issueTypeScreenScheme") private IssueTypeScreenScheme issueTypeScreenScheme; @@ -60,7 +60,7 @@ public IssueTypeScreenSchemesProjects issueTypeScreenScheme(IssueTypeScreenSchem * Details of an issue type screen scheme. * @return issueTypeScreenScheme **/ - @ApiModelProperty(value = "Details of an issue type screen scheme.") + @ApiModelProperty(required = true, value = "Details of an issue type screen scheme.") public IssueTypeScreenScheme getIssueTypeScreenScheme() { return issueTypeScreenScheme; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeToContextMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeToContextMapping.java new file mode 100644 index 0000000..07dc5c1 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeToContextMapping.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Mapping of an issue type to a context. + */ +@ApiModel(description = "Mapping of an issue type to a context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class IssueTypeToContextMapping { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("issueTypeId") + private String issueTypeId; + + @JsonProperty("isAnyIssueType") + private Boolean isAnyIssueType; + + public IssueTypeToContextMapping contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + public IssueTypeToContextMapping issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the issue type. + * @return issueTypeId + **/ + @ApiModelProperty(value = "The ID of the issue type.") + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + public IssueTypeToContextMapping isAnyIssueType(Boolean isAnyIssueType) { + this.isAnyIssueType = isAnyIssueType; + return this; + } + + /** + * Whether the context is mapped to any issue type. + * @return isAnyIssueType + **/ + @ApiModelProperty(value = "Whether the context is mapped to any issue type.") + public Boolean getIsAnyIssueType() { + return isAnyIssueType; + } + + public void setIsAnyIssueType(Boolean isAnyIssueType) { + this.isAnyIssueType = isAnyIssueType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssueTypeToContextMapping issueTypeToContextMapping = (IssueTypeToContextMapping) o; + return Objects.equals(this.contextId, issueTypeToContextMapping.contextId) && + Objects.equals(this.issueTypeId, issueTypeToContextMapping.issueTypeId) && + Objects.equals(this.isAnyIssueType, issueTypeToContextMapping.isAnyIssueType); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, issueTypeId, isAnyIssueType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssueTypeToContextMapping {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append(" isAnyIssueType: ").append(toIndentedString(isAnyIssueType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeUpdateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeUpdateBean.java index 81f51cd..c0aafc1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeUpdateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeUpdateBean.java @@ -39,7 +39,7 @@ /** * IssueTypeUpdateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeUpdateBean { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeWithStatus.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeWithStatus.java index 70485dd..fa854b2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeWithStatus.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeWithStatus.java @@ -43,7 +43,7 @@ * Status details for an issue type. */ @ApiModel(description = "Status details for an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeWithStatus { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeWorkflowMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeWorkflowMapping.java index 4fb6d64..2143b5a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeWorkflowMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypeWorkflowMapping.java @@ -40,7 +40,7 @@ * Details about the mapping between an issue type and a workflow. */ @ApiModel(description = "Details about the mapping between an issue type and a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypeWorkflowMapping { @JsonProperty("issueType") private String issueType; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypesWorkflowMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypesWorkflowMapping.java index 7b9b890..d067332 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypesWorkflowMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueTypesWorkflowMapping.java @@ -42,7 +42,7 @@ * Details about the mapping between issue types and a workflow. */ @ApiModel(description = "Details about the mapping between issue types and a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueTypesWorkflowMapping { @JsonProperty("workflow") private String workflow; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueUpdateDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueUpdateDetails.java index 61b78fc..748200e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueUpdateDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueUpdateDetails.java @@ -48,7 +48,7 @@ * Details of an issue update request. */ @ApiModel(description = "Details of an issue update request.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueUpdateDetails { @JsonProperty("transition") private IssueTransition transition; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueUpdateMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueUpdateMetadata.java index 149feff..00be4ee 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueUpdateMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssueUpdateMetadata.java @@ -44,16 +44,16 @@ * A list of editable field details. */ @ApiModel(description = "A list of editable field details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssueUpdateMetadata { @JsonProperty("fields") private Map fields = new HashMap<>(); /** - * A list of editable field details. + * Get fields * @return fields **/ - @ApiModelProperty(value = "A list of editable field details.") + @ApiModelProperty(value = "") public Map getFields() { return fields; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesAndJQLQueries.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesAndJQLQueries.java index 28771f8..6529ffd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesAndJQLQueries.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesAndJQLQueries.java @@ -42,7 +42,7 @@ * List of issues and JQL queries. */ @ApiModel(description = "List of issues and JQL queries.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssuesAndJQLQueries { @JsonProperty("jqls") private List jqls = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesJqlMetaDataBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesJqlMetaDataBean.java index dd11599..ec2bee5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesJqlMetaDataBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesJqlMetaDataBean.java @@ -42,7 +42,7 @@ * The description of the page of issues loaded by the provided JQL query. */ @ApiModel(description = "The description of the page of issues loaded by the provided JQL query.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssuesJqlMetaDataBean { @JsonProperty("startAt") private Long startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesMetaBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesMetaBean.java index 6034e8b..b1fd477 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesMetaBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesMetaBean.java @@ -41,7 +41,7 @@ * Meta data describing the `issues` context variable. */ @ApiModel(description = "Meta data describing the `issues` context variable.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssuesMetaBean { @JsonProperty("jql") private IssuesJqlMetaDataBean jql; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesUpdateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesUpdateBean.java index 15ab565..3f36873 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesUpdateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/IssuesUpdateBean.java @@ -44,7 +44,7 @@ /** * IssuesUpdateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class IssuesUpdateBean { @JsonProperty("issueUpdates") private List issueUpdates = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLPersonalDataMigrationRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLPersonalDataMigrationRequest.java index bfa1354..5a8da1f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLPersonalDataMigrationRequest.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLPersonalDataMigrationRequest.java @@ -42,7 +42,7 @@ * The JQL queries to be converted. */ @ApiModel(description = "The JQL queries to be converted.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JQLPersonalDataMigrationRequest { @JsonProperty("queryStrings") private List queryStrings = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLQueryWithUnknownUsers.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLQueryWithUnknownUsers.java index 98a62cd..975cdf7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLQueryWithUnknownUsers.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLQueryWithUnknownUsers.java @@ -40,7 +40,7 @@ * JQL queries that contained users that could not be found */ @ApiModel(description = "JQL queries that contained users that could not be found") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JQLQueryWithUnknownUsers { @JsonProperty("originalQuery") private String originalQuery; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLReferenceData.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLReferenceData.java index 4ce5ead..3572164 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLReferenceData.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JQLReferenceData.java @@ -44,7 +44,7 @@ * Lists of JQL reference data. */ @ApiModel(description = "Lists of JQL reference data.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JQLReferenceData { @JsonProperty("visibleFieldNames") private List visibleFieldNames = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JexpIssues.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JexpIssues.java index 0da0bfc..d0f9afe 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JexpIssues.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JexpIssues.java @@ -41,7 +41,7 @@ * The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. */ @ApiModel(description = "The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JexpIssues { @JsonProperty("jql") private JexpJqlIssues jql; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JexpJqlIssues.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JexpJqlIssues.java index ded146d..c37013e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JexpJqlIssues.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JexpJqlIssues.java @@ -40,7 +40,7 @@ * The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response. */ @ApiModel(description = "The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JexpJqlIssues { @JsonProperty("query") private String query; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionAnalysis.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionAnalysis.java index 76e97b8..2b9fe10 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionAnalysis.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionAnalysis.java @@ -44,7 +44,7 @@ * Details about the analysed Jira expression. */ @ApiModel(description = "Details about the analysed Jira expression.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionAnalysis { @JsonProperty("expression") private String expression; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionComplexity.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionComplexity.java index b7b73df..4c2a8da 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionComplexity.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionComplexity.java @@ -43,7 +43,7 @@ * Details about the complexity of the analysed Jira expression. */ @ApiModel(description = "Details about the complexity of the analysed Jira expression.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionComplexity { @JsonProperty("expensiveOperations") private String expensiveOperations; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvalContextBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvalContextBean.java index e2a09a4..4ea4970 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvalContextBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvalContextBean.java @@ -41,7 +41,7 @@ /** * JiraExpressionEvalContextBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionEvalContextBean { @JsonProperty("issue") private IdOrKeyBean issue; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvalRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvalRequestBean.java index 59475a3..2090fa4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvalRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvalRequestBean.java @@ -40,7 +40,7 @@ /** * JiraExpressionEvalRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionEvalRequestBean { @JsonProperty("expression") private String expression; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvaluationMetaDataBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvaluationMetaDataBean.java index 3675093..2827b9a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvaluationMetaDataBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionEvaluationMetaDataBean.java @@ -41,7 +41,7 @@ /** * JiraExpressionEvaluationMetaDataBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionEvaluationMetaDataBean { @JsonProperty("complexity") private JiraExpressionsComplexityBean complexity; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionForAnalysis.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionForAnalysis.java index aca45cf..d7a4a99 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionForAnalysis.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionForAnalysis.java @@ -44,7 +44,7 @@ * Details of Jira expressions for analysis. */ @ApiModel(description = "Details of Jira expressions for analysis.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionForAnalysis { @JsonProperty("expressions") private List expressions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionResult.java index 330f62e..bde41d3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionResult.java @@ -41,7 +41,7 @@ * The result of evaluating a Jira expression. */ @ApiModel(description = "The result of evaluating a Jira expression.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionResult { @JsonProperty("value") private Object value = null; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionValidationError.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionValidationError.java index 497bd24..e57a78c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionValidationError.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionValidationError.java @@ -40,7 +40,7 @@ * Details about syntax and type errors. The error details apply to the entire expression, unless the object includes: * `line` and `column` * `expression` */ @ApiModel(description = "Details about syntax and type errors. The error details apply to the entire expression, unless the object includes: * `line` and `column` * `expression`") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionValidationError { @JsonProperty("line") private Integer line; @@ -157,7 +157,7 @@ public JiraExpressionValidationError message(String message) { * Details about the error. * @return message **/ - @ApiModelProperty(example = "!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, new, [ or { expected, > encountered.", required = true, value = "Details about the error.") + @ApiModelProperty(example = "!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.", required = true, value = "Details about the error.") public String getMessage() { return message; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsAnalysis.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsAnalysis.java index b16c25f..e32e472 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsAnalysis.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsAnalysis.java @@ -43,7 +43,7 @@ * Details about the analysed Jira expression. */ @ApiModel(description = "Details about the analysed Jira expression.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionsAnalysis { @JsonProperty("results") private List results = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsComplexityBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsComplexityBean.java index 93d5d5d..7bd6b9a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsComplexityBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsComplexityBean.java @@ -40,7 +40,7 @@ /** * JiraExpressionsComplexityBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionsComplexityBean { @JsonProperty("steps") private JiraExpressionsComplexityValueBean steps; @@ -63,7 +63,7 @@ public JiraExpressionsComplexityBean steps(JiraExpressionsComplexityValueBean st * The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function. * @return steps **/ - @ApiModelProperty(value = "The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.") + @ApiModelProperty(required = true, value = "The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.") public JiraExpressionsComplexityValueBean getSteps() { return steps; } @@ -81,7 +81,7 @@ public JiraExpressionsComplexityBean expensiveOperations(JiraExpressionsComplexi * The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields. * @return expensiveOperations **/ - @ApiModelProperty(value = "The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.") + @ApiModelProperty(required = true, value = "The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.") public JiraExpressionsComplexityValueBean getExpensiveOperations() { return expensiveOperations; } @@ -99,7 +99,7 @@ public JiraExpressionsComplexityBean beans(JiraExpressionsComplexityValueBean be * The number of Jira REST API beans returned in the response. * @return beans **/ - @ApiModelProperty(value = "The number of Jira REST API beans returned in the response.") + @ApiModelProperty(required = true, value = "The number of Jira REST API beans returned in the response.") public JiraExpressionsComplexityValueBean getBeans() { return beans; } @@ -117,7 +117,7 @@ public JiraExpressionsComplexityBean primitiveValues(JiraExpressionsComplexityVa * The number of primitive values returned in the response. * @return primitiveValues **/ - @ApiModelProperty(value = "The number of primitive values returned in the response.") + @ApiModelProperty(required = true, value = "The number of primitive values returned in the response.") public JiraExpressionsComplexityValueBean getPrimitiveValues() { return primitiveValues; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsComplexityValueBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsComplexityValueBean.java index 9addc4a..e8557e0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsComplexityValueBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JiraExpressionsComplexityValueBean.java @@ -39,7 +39,7 @@ /** * JiraExpressionsComplexityValueBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JiraExpressionsComplexityValueBean { @JsonProperty("value") private Integer value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueriesToParse.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueriesToParse.java index 495d1c6..9e0cb77 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueriesToParse.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueriesToParse.java @@ -42,7 +42,7 @@ * A list of JQL queries to parse. */ @ApiModel(description = "A list of JQL queries to parse.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQueriesToParse { @JsonProperty("queries") private List queries = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQuery.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQuery.java index 61ee6b2..3d5f72d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQuery.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQuery.java @@ -41,7 +41,7 @@ * A parsed JQL query. */ @ApiModel(description = "A parsed JQL query.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQuery { @JsonProperty("where") private Object where = null; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryClauseOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryClauseOperand.java index 95e81d2..c3e0b56 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryClauseOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryClauseOperand.java @@ -47,7 +47,7 @@ * Details of an operand in a JQL clause. */ @ApiModel(description = "Details of an operand in a JQL clause.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQueryClauseOperand { @JsonProperty("values") private List values = new ArrayList<>(); @@ -103,9 +103,6 @@ public JqlQueryClauseOperand values(List values) { } public JqlQueryClauseOperand addValuesItem(JqlQueryUnitaryOperand valuesItem) { - if (this.values == null) { - this.values = new ArrayList<>(); - } this.values.add(valuesItem); return this; } @@ -114,7 +111,7 @@ public JqlQueryClauseOperand addValuesItem(JqlQueryUnitaryOperand valuesItem) { * The list of operand values. * @return values **/ - @ApiModelProperty(value = "The list of operand values.") + @ApiModelProperty(required = true, value = "The list of operand values.") public List getValues() { return values; } @@ -165,9 +162,6 @@ public JqlQueryClauseOperand arguments(List arguments) { } public JqlQueryClauseOperand addArgumentsItem(String argumentsItem) { - if (this.arguments == null) { - this.arguments = new ArrayList<>(); - } this.arguments.add(argumentsItem); return this; } @@ -176,7 +170,7 @@ public JqlQueryClauseOperand addArgumentsItem(String argumentsItem) { * The list of function arguments. * @return arguments **/ - @ApiModelProperty(value = "The list of function arguments.") + @ApiModelProperty(required = true, value = "The list of function arguments.") public List getArguments() { return arguments; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryClauseTimePredicate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryClauseTimePredicate.java index b0e9aa2..2f18556 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryClauseTimePredicate.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryClauseTimePredicate.java @@ -41,7 +41,7 @@ * A time predicate for a temporal JQL clause. */ @ApiModel(description = "A time predicate for a temporal JQL clause.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQueryClauseTimePredicate { /** * The operator between the field and the operand. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryField.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryField.java index 7b4e6f8..d177808 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryField.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryField.java @@ -43,7 +43,7 @@ * A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries. */ @ApiModel(description = "A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQueryField { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryFieldEntityProperty.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryFieldEntityProperty.java index bf9a736..3ad5bd2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryFieldEntityProperty.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryFieldEntityProperty.java @@ -40,7 +40,7 @@ * Details of an entity property. */ @ApiModel(description = "Details of an entity property.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQueryFieldEntityProperty { @JsonProperty("entity") private String entity; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryOrderByClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryOrderByClause.java index b7810a7..ecb1698 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryOrderByClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryOrderByClause.java @@ -43,7 +43,7 @@ * Details of the order-by JQL clause. */ @ApiModel(description = "Details of the order-by JQL clause.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQueryOrderByClause { @JsonProperty("fields") private List fields = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryOrderByClauseElement.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryOrderByClauseElement.java index 8d104f4..ca344cb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryOrderByClauseElement.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryOrderByClauseElement.java @@ -41,7 +41,7 @@ * An element of the order-by JQL clause. */ @ApiModel(description = "An element of the order-by JQL clause.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQueryOrderByClauseElement { @JsonProperty("field") private JqlQueryField field; @@ -93,7 +93,7 @@ public JqlQueryOrderByClauseElement field(JqlQueryField field) { * Get field * @return field **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public JqlQueryField getField() { return field; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryUnitaryOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryUnitaryOperand.java index 307990b..6fc8dfb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryUnitaryOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JqlQueryUnitaryOperand.java @@ -45,7 +45,7 @@ * An operand that can be part of a list operand. */ @ApiModel(description = "An operand that can be part of a list operand.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JqlQueryUnitaryOperand { @JsonProperty("value") private String value; @@ -134,9 +134,6 @@ public JqlQueryUnitaryOperand arguments(List arguments) { } public JqlQueryUnitaryOperand addArgumentsItem(String argumentsItem) { - if (this.arguments == null) { - this.arguments = new ArrayList<>(); - } this.arguments.add(argumentsItem); return this; } @@ -145,7 +142,7 @@ public JqlQueryUnitaryOperand addArgumentsItem(String argumentsItem) { * The list of function arguments. * @return arguments **/ - @ApiModelProperty(value = "The list of function arguments.") + @ApiModelProperty(required = true, value = "The list of function arguments.") public List getArguments() { return arguments; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JsonNode.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JsonNode.java index 7e438f0..dc351ba 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JsonNode.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JsonNode.java @@ -42,26 +42,17 @@ /** * JsonNode */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JsonNode { - @JsonProperty("textValue") - private String textValue; - - @JsonProperty("valueAsText") - private String valueAsText; - - @JsonProperty("fieldNames") - private Object fieldNames = null; - @JsonProperty("elements") private Object elements = null; - @JsonProperty("number") - private Boolean number; - @JsonProperty("pojo") private Boolean pojo; + @JsonProperty("number") + private Boolean number; + @JsonProperty("integralNumber") private Boolean integralNumber; @@ -92,30 +83,18 @@ public class JsonNode { @JsonProperty("binary") private Boolean binary; - @JsonProperty("object") - private Boolean _object; + @JsonProperty("containerNode") + private Boolean containerNode; @JsonProperty("missingNode") private Boolean missingNode; + @JsonProperty("object") + private Boolean _object; + @JsonProperty("valueNode") private Boolean valueNode; - @JsonProperty("containerNode") - private Boolean containerNode; - - @JsonProperty("valueAsInt") - private Integer valueAsInt; - - @JsonProperty("valueAsLong") - private Long valueAsLong; - - @JsonProperty("valueAsDouble") - private Double valueAsDouble; - - @JsonProperty("valueAsBoolean") - private Boolean valueAsBoolean; - @JsonProperty("numberValue") private BigDecimal numberValue; @@ -186,68 +165,35 @@ public static NumberTypeEnum fromValue(String value) { @JsonProperty("binaryValue") private List binaryValue = new ArrayList<>(); - @JsonProperty("array") - private Boolean array; - - @JsonProperty("fields") - private Object fields = null; - - @JsonProperty("null") - private Boolean _null; + @JsonProperty("valueAsInt") + private Integer valueAsInt; - public JsonNode textValue(String textValue) { - this.textValue = textValue; - return this; - } + @JsonProperty("valueAsLong") + private Long valueAsLong; - /** - * Get textValue - * @return textValue - **/ - @ApiModelProperty(value = "") - public String getTextValue() { - return textValue; - } + @JsonProperty("valueAsDouble") + private Double valueAsDouble; - public void setTextValue(String textValue) { - this.textValue = textValue; - } + @JsonProperty("valueAsBoolean") + private Boolean valueAsBoolean; - public JsonNode valueAsText(String valueAsText) { - this.valueAsText = valueAsText; - return this; - } + @JsonProperty("fieldNames") + private Object fieldNames = null; - /** - * Get valueAsText - * @return valueAsText - **/ - @ApiModelProperty(value = "") - public String getValueAsText() { - return valueAsText; - } + @JsonProperty("textValue") + private String textValue; - public void setValueAsText(String valueAsText) { - this.valueAsText = valueAsText; - } + @JsonProperty("valueAsText") + private String valueAsText; - public JsonNode fieldNames(Object fieldNames) { - this.fieldNames = fieldNames; - return this; - } + @JsonProperty("array") + private Boolean array; - /** - * Get fieldNames - * @return fieldNames - **/ - @ApiModelProperty(value = "") - public Object getFieldNames() { - return fieldNames; - } + @JsonProperty("fields") + private Object fields = null; - public void setFieldNames(Object fieldNames) { - this.fieldNames = fieldNames; - } + @JsonProperty("null") + private Boolean _null; public JsonNode elements(Object elements) { this.elements = elements; @@ -267,40 +213,40 @@ public void setElements(Object elements) { this.elements = elements; } - public JsonNode number(Boolean number) { - this.number = number; + public JsonNode pojo(Boolean pojo) { + this.pojo = pojo; return this; } /** - * Get number - * @return number + * Get pojo + * @return pojo **/ @ApiModelProperty(value = "") - public Boolean getNumber() { - return number; + public Boolean getPojo() { + return pojo; } - public void setNumber(Boolean number) { - this.number = number; + public void setPojo(Boolean pojo) { + this.pojo = pojo; } - public JsonNode pojo(Boolean pojo) { - this.pojo = pojo; + public JsonNode number(Boolean number) { + this.number = number; return this; } /** - * Get pojo - * @return pojo + * Get number + * @return number **/ @ApiModelProperty(value = "") - public Boolean getPojo() { - return pojo; + public Boolean getNumber() { + return number; } - public void setPojo(Boolean pojo) { - this.pojo = pojo; + public void setNumber(Boolean number) { + this.number = number; } public JsonNode integralNumber(Boolean integralNumber) { @@ -483,60 +429,6 @@ public void setBinary(Boolean binary) { this.binary = binary; } - public JsonNode _object(Boolean _object) { - this._object = _object; - return this; - } - - /** - * Get _object - * @return _object - **/ - @ApiModelProperty(value = "") - public Boolean getObject() { - return _object; - } - - public void setObject(Boolean _object) { - this._object = _object; - } - - public JsonNode missingNode(Boolean missingNode) { - this.missingNode = missingNode; - return this; - } - - /** - * Get missingNode - * @return missingNode - **/ - @ApiModelProperty(value = "") - public Boolean getMissingNode() { - return missingNode; - } - - public void setMissingNode(Boolean missingNode) { - this.missingNode = missingNode; - } - - public JsonNode valueNode(Boolean valueNode) { - this.valueNode = valueNode; - return this; - } - - /** - * Get valueNode - * @return valueNode - **/ - @ApiModelProperty(value = "") - public Boolean getValueNode() { - return valueNode; - } - - public void setValueNode(Boolean valueNode) { - this.valueNode = valueNode; - } - public JsonNode containerNode(Boolean containerNode) { this.containerNode = containerNode; return this; @@ -555,76 +447,58 @@ public void setContainerNode(Boolean containerNode) { this.containerNode = containerNode; } - public JsonNode valueAsInt(Integer valueAsInt) { - this.valueAsInt = valueAsInt; - return this; - } - - /** - * Get valueAsInt - * @return valueAsInt - **/ - @ApiModelProperty(value = "") - public Integer getValueAsInt() { - return valueAsInt; - } - - public void setValueAsInt(Integer valueAsInt) { - this.valueAsInt = valueAsInt; - } - - public JsonNode valueAsLong(Long valueAsLong) { - this.valueAsLong = valueAsLong; + public JsonNode missingNode(Boolean missingNode) { + this.missingNode = missingNode; return this; } /** - * Get valueAsLong - * @return valueAsLong + * Get missingNode + * @return missingNode **/ @ApiModelProperty(value = "") - public Long getValueAsLong() { - return valueAsLong; + public Boolean getMissingNode() { + return missingNode; } - public void setValueAsLong(Long valueAsLong) { - this.valueAsLong = valueAsLong; + public void setMissingNode(Boolean missingNode) { + this.missingNode = missingNode; } - public JsonNode valueAsDouble(Double valueAsDouble) { - this.valueAsDouble = valueAsDouble; + public JsonNode _object(Boolean _object) { + this._object = _object; return this; } /** - * Get valueAsDouble - * @return valueAsDouble + * Get _object + * @return _object **/ @ApiModelProperty(value = "") - public Double getValueAsDouble() { - return valueAsDouble; + public Boolean getObject() { + return _object; } - public void setValueAsDouble(Double valueAsDouble) { - this.valueAsDouble = valueAsDouble; + public void setObject(Boolean _object) { + this._object = _object; } - public JsonNode valueAsBoolean(Boolean valueAsBoolean) { - this.valueAsBoolean = valueAsBoolean; + public JsonNode valueNode(Boolean valueNode) { + this.valueNode = valueNode; return this; } /** - * Get valueAsBoolean - * @return valueAsBoolean + * Get valueNode + * @return valueNode **/ @ApiModelProperty(value = "") - public Boolean getValueAsBoolean() { - return valueAsBoolean; + public Boolean getValueNode() { + return valueNode; } - public void setValueAsBoolean(Boolean valueAsBoolean) { - this.valueAsBoolean = valueAsBoolean; + public void setValueNode(Boolean valueNode) { + this.valueNode = valueNode; } public JsonNode numberValue(BigDecimal numberValue) { @@ -797,6 +671,132 @@ public void setBinaryValue(List binaryValue) { this.binaryValue = binaryValue; } + public JsonNode valueAsInt(Integer valueAsInt) { + this.valueAsInt = valueAsInt; + return this; + } + + /** + * Get valueAsInt + * @return valueAsInt + **/ + @ApiModelProperty(value = "") + public Integer getValueAsInt() { + return valueAsInt; + } + + public void setValueAsInt(Integer valueAsInt) { + this.valueAsInt = valueAsInt; + } + + public JsonNode valueAsLong(Long valueAsLong) { + this.valueAsLong = valueAsLong; + return this; + } + + /** + * Get valueAsLong + * @return valueAsLong + **/ + @ApiModelProperty(value = "") + public Long getValueAsLong() { + return valueAsLong; + } + + public void setValueAsLong(Long valueAsLong) { + this.valueAsLong = valueAsLong; + } + + public JsonNode valueAsDouble(Double valueAsDouble) { + this.valueAsDouble = valueAsDouble; + return this; + } + + /** + * Get valueAsDouble + * @return valueAsDouble + **/ + @ApiModelProperty(value = "") + public Double getValueAsDouble() { + return valueAsDouble; + } + + public void setValueAsDouble(Double valueAsDouble) { + this.valueAsDouble = valueAsDouble; + } + + public JsonNode valueAsBoolean(Boolean valueAsBoolean) { + this.valueAsBoolean = valueAsBoolean; + return this; + } + + /** + * Get valueAsBoolean + * @return valueAsBoolean + **/ + @ApiModelProperty(value = "") + public Boolean getValueAsBoolean() { + return valueAsBoolean; + } + + public void setValueAsBoolean(Boolean valueAsBoolean) { + this.valueAsBoolean = valueAsBoolean; + } + + public JsonNode fieldNames(Object fieldNames) { + this.fieldNames = fieldNames; + return this; + } + + /** + * Get fieldNames + * @return fieldNames + **/ + @ApiModelProperty(value = "") + public Object getFieldNames() { + return fieldNames; + } + + public void setFieldNames(Object fieldNames) { + this.fieldNames = fieldNames; + } + + public JsonNode textValue(String textValue) { + this.textValue = textValue; + return this; + } + + /** + * Get textValue + * @return textValue + **/ + @ApiModelProperty(value = "") + public String getTextValue() { + return textValue; + } + + public void setTextValue(String textValue) { + this.textValue = textValue; + } + + public JsonNode valueAsText(String valueAsText) { + this.valueAsText = valueAsText; + return this; + } + + /** + * Get valueAsText + * @return valueAsText + **/ + @ApiModelProperty(value = "") + public String getValueAsText() { + return valueAsText; + } + + public void setValueAsText(String valueAsText) { + this.valueAsText = valueAsText; + } + public JsonNode array(Boolean array) { this.array = array; return this; @@ -861,12 +861,9 @@ public boolean equals(java.lang.Object o) { return false; } JsonNode jsonNode = (JsonNode) o; - return Objects.equals(this.textValue, jsonNode.textValue) && - Objects.equals(this.valueAsText, jsonNode.valueAsText) && - Objects.equals(this.fieldNames, jsonNode.fieldNames) && - Objects.equals(this.elements, jsonNode.elements) && - Objects.equals(this.number, jsonNode.number) && + return Objects.equals(this.elements, jsonNode.elements) && Objects.equals(this.pojo, jsonNode.pojo) && + Objects.equals(this.number, jsonNode.number) && Objects.equals(this.integralNumber, jsonNode.integralNumber) && Objects.equals(this.floatingPointNumber, jsonNode.floatingPointNumber) && Objects.equals(this._int, jsonNode._int) && @@ -877,14 +874,10 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.textual, jsonNode.textual) && Objects.equals(this._boolean, jsonNode._boolean) && Objects.equals(this.binary, jsonNode.binary) && - Objects.equals(this._object, jsonNode._object) && + Objects.equals(this.containerNode, jsonNode.containerNode) && Objects.equals(this.missingNode, jsonNode.missingNode) && + Objects.equals(this._object, jsonNode._object) && Objects.equals(this.valueNode, jsonNode.valueNode) && - Objects.equals(this.containerNode, jsonNode.containerNode) && - Objects.equals(this.valueAsInt, jsonNode.valueAsInt) && - Objects.equals(this.valueAsLong, jsonNode.valueAsLong) && - Objects.equals(this.valueAsDouble, jsonNode.valueAsDouble) && - Objects.equals(this.valueAsBoolean, jsonNode.valueAsBoolean) && Objects.equals(this.numberValue, jsonNode.numberValue) && Objects.equals(this.numberType, jsonNode.numberType) && Objects.equals(this.intValue, jsonNode.intValue) && @@ -894,6 +887,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.decimalValue, jsonNode.decimalValue) && Objects.equals(this.booleanValue, jsonNode.booleanValue) && Objects.equals(this.binaryValue, jsonNode.binaryValue) && + Objects.equals(this.valueAsInt, jsonNode.valueAsInt) && + Objects.equals(this.valueAsLong, jsonNode.valueAsLong) && + Objects.equals(this.valueAsDouble, jsonNode.valueAsDouble) && + Objects.equals(this.valueAsBoolean, jsonNode.valueAsBoolean) && + Objects.equals(this.fieldNames, jsonNode.fieldNames) && + Objects.equals(this.textValue, jsonNode.textValue) && + Objects.equals(this.valueAsText, jsonNode.valueAsText) && Objects.equals(this.array, jsonNode.array) && Objects.equals(this.fields, jsonNode.fields) && Objects.equals(this._null, jsonNode._null); @@ -901,7 +901,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(textValue, valueAsText, fieldNames, elements, number, pojo, integralNumber, floatingPointNumber, _int, _long, _double, bigDecimal, bigInteger, textual, _boolean, binary, _object, missingNode, valueNode, containerNode, valueAsInt, valueAsLong, valueAsDouble, valueAsBoolean, numberValue, numberType, intValue, longValue, bigIntegerValue, doubleValue, decimalValue, booleanValue, binaryValue, array, fields, _null); + return Objects.hash(elements, pojo, number, integralNumber, floatingPointNumber, _int, _long, _double, bigDecimal, bigInteger, textual, _boolean, binary, containerNode, missingNode, _object, valueNode, numberValue, numberType, intValue, longValue, bigIntegerValue, doubleValue, decimalValue, booleanValue, binaryValue, valueAsInt, valueAsLong, valueAsDouble, valueAsBoolean, fieldNames, textValue, valueAsText, array, fields, _null); } @@ -910,12 +910,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class JsonNode {\n"); - sb.append(" textValue: ").append(toIndentedString(textValue)).append("\n"); - sb.append(" valueAsText: ").append(toIndentedString(valueAsText)).append("\n"); - sb.append(" fieldNames: ").append(toIndentedString(fieldNames)).append("\n"); sb.append(" elements: ").append(toIndentedString(elements)).append("\n"); - sb.append(" number: ").append(toIndentedString(number)).append("\n"); sb.append(" pojo: ").append(toIndentedString(pojo)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); sb.append(" integralNumber: ").append(toIndentedString(integralNumber)).append("\n"); sb.append(" floatingPointNumber: ").append(toIndentedString(floatingPointNumber)).append("\n"); sb.append(" _int: ").append(toIndentedString(_int)).append("\n"); @@ -926,14 +923,10 @@ public String toString() { sb.append(" textual: ").append(toIndentedString(textual)).append("\n"); sb.append(" _boolean: ").append(toIndentedString(_boolean)).append("\n"); sb.append(" binary: ").append(toIndentedString(binary)).append("\n"); - sb.append(" _object: ").append(toIndentedString(_object)).append("\n"); + sb.append(" containerNode: ").append(toIndentedString(containerNode)).append("\n"); sb.append(" missingNode: ").append(toIndentedString(missingNode)).append("\n"); + sb.append(" _object: ").append(toIndentedString(_object)).append("\n"); sb.append(" valueNode: ").append(toIndentedString(valueNode)).append("\n"); - sb.append(" containerNode: ").append(toIndentedString(containerNode)).append("\n"); - sb.append(" valueAsInt: ").append(toIndentedString(valueAsInt)).append("\n"); - sb.append(" valueAsLong: ").append(toIndentedString(valueAsLong)).append("\n"); - sb.append(" valueAsDouble: ").append(toIndentedString(valueAsDouble)).append("\n"); - sb.append(" valueAsBoolean: ").append(toIndentedString(valueAsBoolean)).append("\n"); sb.append(" numberValue: ").append(toIndentedString(numberValue)).append("\n"); sb.append(" numberType: ").append(toIndentedString(numberType)).append("\n"); sb.append(" intValue: ").append(toIndentedString(intValue)).append("\n"); @@ -943,6 +936,13 @@ public String toString() { sb.append(" decimalValue: ").append(toIndentedString(decimalValue)).append("\n"); sb.append(" booleanValue: ").append(toIndentedString(booleanValue)).append("\n"); sb.append(" binaryValue: ").append(toIndentedString(binaryValue)).append("\n"); + sb.append(" valueAsInt: ").append(toIndentedString(valueAsInt)).append("\n"); + sb.append(" valueAsLong: ").append(toIndentedString(valueAsLong)).append("\n"); + sb.append(" valueAsDouble: ").append(toIndentedString(valueAsDouble)).append("\n"); + sb.append(" valueAsBoolean: ").append(toIndentedString(valueAsBoolean)).append("\n"); + sb.append(" fieldNames: ").append(toIndentedString(fieldNames)).append("\n"); + sb.append(" textValue: ").append(toIndentedString(textValue)).append("\n"); + sb.append(" valueAsText: ").append(toIndentedString(valueAsText)).append("\n"); sb.append(" array: ").append(toIndentedString(array)).append("\n"); sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); sb.append(" _null: ").append(toIndentedString(_null)).append("\n"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JsonTypeBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JsonTypeBean.java index 7e75a8a..d643fcd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JsonTypeBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/JsonTypeBean.java @@ -43,7 +43,7 @@ * The schema of a field. */ @ApiModel(description = "The schema of a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class JsonTypeBean { @JsonProperty("type") private String type; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/KeywordOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/KeywordOperand.java index 0386332..c1f7369 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/KeywordOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/KeywordOperand.java @@ -40,7 +40,7 @@ * An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords. */ @ApiModel(description = "An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class KeywordOperand { /** * The keyword that is the operand value. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/License.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/License.java new file mode 100644 index 0000000..00064b0 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/License.java @@ -0,0 +1,101 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.LicensedApplication; + +/** + * Details about a license for the Jira instance. + */ +@ApiModel(description = "Details about a license for the Jira instance.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class License { + @JsonProperty("applications") + private List applications = new ArrayList<>(); + + /** + * The applications under this license. + * @return applications + **/ + @ApiModelProperty(required = true, value = "The applications under this license.") + public List getApplications() { + return applications; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + License license = (License) o; + return Objects.equals(this.applications, license.applications); + } + + @Override + public int hashCode() { + return Objects.hash(applications); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class License {\n"); + + sb.append(" applications: ").append(toIndentedString(applications)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LicensedApplication.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LicensedApplication.java new file mode 100644 index 0000000..31642b0 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LicensedApplication.java @@ -0,0 +1,149 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details about a licensed Jira application. + */ +@ApiModel(description = "Details about a licensed Jira application.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class LicensedApplication { + @JsonProperty("id") + private String id; + + /** + * The licensing plan. + */ + public enum PlanEnum { + UNLICENSED("UNLICENSED"), + + FREE("FREE"), + + PAID("PAID"); + + private String value; + + PlanEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static PlanEnum fromValue(String value) { + for (PlanEnum b : PlanEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("plan") + private PlanEnum plan; + + /** + * The ID of the application. + * @return id + **/ + @ApiModelProperty(required = true, value = "The ID of the application.") + public String getId() { + return id; + } + + /** + * The licensing plan. + * @return plan + **/ + @ApiModelProperty(required = true, value = "The licensing plan.") + public PlanEnum getPlan() { + return plan; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LicensedApplication licensedApplication = (LicensedApplication) o; + return Objects.equals(this.id, licensedApplication.id) && + Objects.equals(this.plan, licensedApplication.plan); + } + + @Override + public int hashCode() { + return Objects.hash(id, plan); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LicensedApplication {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" plan: ").append(toIndentedString(plan)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkGroup.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkGroup.java index 390ba7e..0ae5d47 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkGroup.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkGroup.java @@ -43,7 +43,7 @@ * Details a link group, which defines issue operations. */ @ApiModel(description = "Details a link group, which defines issue operations.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class LinkGroup { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkIssueRequestJsonBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkIssueRequestJsonBean.java index cd8e7e2..9a47887 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkIssueRequestJsonBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkIssueRequestJsonBean.java @@ -42,7 +42,7 @@ /** * LinkIssueRequestJsonBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class LinkIssueRequestJsonBean { @JsonProperty("type") private IssueLinkType type; @@ -65,7 +65,7 @@ public LinkIssueRequestJsonBean type(IssueLinkType type) { * Get type * @return type **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public IssueLinkType getType() { return type; } @@ -83,7 +83,7 @@ public LinkIssueRequestJsonBean inwardIssue(LinkedIssue inwardIssue) { * Get inwardIssue * @return inwardIssue **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public LinkedIssue getInwardIssue() { return inwardIssue; } @@ -101,7 +101,7 @@ public LinkIssueRequestJsonBean outwardIssue(LinkedIssue outwardIssue) { * Get outwardIssue * @return outwardIssue **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public LinkedIssue getOutwardIssue() { return outwardIssue; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkedIssue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkedIssue.java index 92c3cae..babc68a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkedIssue.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/LinkedIssue.java @@ -42,7 +42,7 @@ * The ID or key of a linked issue. */ @ApiModel(description = "The ID or key of a linked issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class LinkedIssue { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ListOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ListOperand.java index 3cc7b0c..d7b2ee5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ListOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ListOperand.java @@ -43,7 +43,7 @@ * An operand that is a list of values. */ @ApiModel(description = "An operand that is a list of values.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ListOperand { @JsonProperty("values") private List values = new ArrayList<>(); @@ -54,9 +54,6 @@ public ListOperand values(List values) { } public ListOperand addValuesItem(JqlQueryUnitaryOperand valuesItem) { - if (this.values == null) { - this.values = new ArrayList<>(); - } this.values.add(valuesItem); return this; } @@ -65,7 +62,7 @@ public ListOperand addValuesItem(JqlQueryUnitaryOperand valuesItem) { * The list of operand values. * @return values **/ - @ApiModelProperty(value = "The list of operand values.") + @ApiModelProperty(required = true, value = "The list of operand values.") public List getValues() { return values; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Locale.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Locale.java index 58f6114..7a4c163 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Locale.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Locale.java @@ -40,7 +40,7 @@ * Details of a locale. */ @ApiModel(description = "Details of a locale.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Locale { @JsonProperty("locale") private String locale; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ModelConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ModelConfiguration.java index dbab441..5563bec 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ModelConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ModelConfiguration.java @@ -41,7 +41,7 @@ * Details about the configuration of Jira. */ @ApiModel(description = "Details about the configuration of Jira.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ModelConfiguration { @JsonProperty("votingEnabled") private Boolean votingEnabled; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/MoveFieldBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/MoveFieldBean.java index bd1511c..509ccae 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/MoveFieldBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/MoveFieldBean.java @@ -40,7 +40,7 @@ /** * MoveFieldBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class MoveFieldBean { @JsonProperty("after") private URI after; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NestedResponse.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NestedResponse.java index f4df6cf..618115a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NestedResponse.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NestedResponse.java @@ -40,7 +40,7 @@ /** * NestedResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class NestedResponse { @JsonProperty("status") private Integer status; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NewUserDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NewUserDetails.java new file mode 100644 index 0000000..7bdd32b --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NewUserDetails.java @@ -0,0 +1,262 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * The user details. + */ +@ApiModel(description = "The user details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class NewUserDetails { + @JsonProperty("self") + private String self; + + @JsonProperty("key") + private String key; + + @JsonProperty("name") + private String name; + + @JsonProperty("password") + private String password; + + @JsonProperty("emailAddress") + private String emailAddress; + + @JsonProperty("displayName") + private String displayName; + + @JsonProperty("applicationKeys") + private List applicationKeys = new ArrayList<>(); + + private HashMap additionalProperties_ = new HashMap(); + + /** + * The URL of the user. + * @return self + **/ + @ApiModelProperty(value = "The URL of the user.") + public String getSelf() { + return self; + } + + public NewUserDetails key(String key) { + this.key = key; + return this; + } + + /** + * This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * @return key + **/ + @ApiModelProperty(value = "This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public NewUserDetails name(String name) { + this.name = name; + return this; + } + + /** + * This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * @return name + **/ + @ApiModelProperty(value = "This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public NewUserDetails password(String password) { + this.password = password; + return this; + } + + /** + * This property is no longer available. If the user has an Atlassian account, their password is not changed. If the user does not have an Atlassian account, they are sent an email asking them set up an account. + * @return password + **/ + @ApiModelProperty(value = "This property is no longer available. If the user has an Atlassian account, their password is not changed. If the user does not have an Atlassian account, they are sent an email asking them set up an account.") + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public NewUserDetails emailAddress(String emailAddress) { + this.emailAddress = emailAddress; + return this; + } + + /** + * The email address for the user. + * @return emailAddress + **/ + @ApiModelProperty(required = true, value = "The email address for the user.") + public String getEmailAddress() { + return emailAddress; + } + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + public NewUserDetails displayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * A suggested display name for the user. If the user has an Atlassian account, their display name is not changed. If the user does not have an Atlassian account, this display name is used as a suggestion for creating an account. The user is sent an email asking them to set their display name and privacy preferences. + * @return displayName + **/ + @ApiModelProperty(required = true, value = "A suggested display name for the user. If the user has an Atlassian account, their display name is not changed. If the user does not have an Atlassian account, this display name is used as a suggestion for creating an account. The user is sent an email asking them to set their display name and privacy preferences.") + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + public NewUserDetails applicationKeys(List applicationKeys) { + this.applicationKeys = applicationKeys; + return this; + } + + public NewUserDetails addApplicationKeysItem(String applicationKeysItem) { + if (this.applicationKeys == null) { + this.applicationKeys = new ArrayList<>(); + } + this.applicationKeys.add(applicationKeysItem); + return this; + } + + /** + * Deprecated, do not use. + * @return applicationKeys + **/ + @ApiModelProperty(value = "Deprecated, do not use.") + public List getApplicationKeys() { + return applicationKeys; + } + + public void setApplicationKeys(List applicationKeys) { + this.applicationKeys = applicationKeys; + } + + + @com.fasterxml.jackson.annotation.JsonAnyGetter + public Map any() { + return this.additionalProperties_; + } + + @com.fasterxml.jackson.annotation.JsonAnySetter + public void set(String name, Object value) { + this.additionalProperties_.put(name, value); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewUserDetails newUserDetails = (NewUserDetails) o; + return Objects.equals(this.self, newUserDetails.self) && + Objects.equals(this.key, newUserDetails.key) && + Objects.equals(this.name, newUserDetails.name) && + Objects.equals(this.password, newUserDetails.password) && + Objects.equals(this.emailAddress, newUserDetails.emailAddress) && + Objects.equals(this.displayName, newUserDetails.displayName) && + Objects.equals(this.applicationKeys, newUserDetails.applicationKeys) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(self, key, name, password, emailAddress, displayName, applicationKeys, super.hashCode()); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewUserDetails {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append(" applicationKeys: ").append(toIndentedString(applicationKeys)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties_)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Notification.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Notification.java index 44f572b..f87a8ac 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Notification.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Notification.java @@ -44,7 +44,7 @@ * Details about a notification. */ @ApiModel(description = "Details about a notification.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Notification { @JsonProperty("subject") private String subject; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationEvent.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationEvent.java index c1a7a7d..c647b3f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationEvent.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationEvent.java @@ -40,7 +40,7 @@ * Details about a notification event. */ @ApiModel(description = "Details about a notification event.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class NotificationEvent { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationRecipients.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationRecipients.java index 58392bc..1ce875e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationRecipients.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationRecipients.java @@ -46,7 +46,7 @@ * Details of the users and groups to receive the notification. */ @ApiModel(description = "Details of the users and groups to receive the notification.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class NotificationRecipients { @JsonProperty("reporter") private Boolean reporter; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationRecipientsRestrictions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationRecipientsRestrictions.java index b07d9dc..978b84b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationRecipientsRestrictions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationRecipientsRestrictions.java @@ -44,7 +44,7 @@ * Details of the group membership or permissions needed to receive the notification. */ @ApiModel(description = "Details of the group membership or permissions needed to receive the notification.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class NotificationRecipientsRestrictions { @JsonProperty("groups") private List groups = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationScheme.java index 588a50f..dd3e60f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationScheme.java @@ -44,7 +44,7 @@ * Details about a notification scheme. */ @ApiModel(description = "Details about a notification scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class NotificationScheme { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationSchemeEvent.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationSchemeEvent.java index b9a3eb8..33f9a8f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationSchemeEvent.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/NotificationSchemeEvent.java @@ -44,7 +44,7 @@ * Details about a notification scheme event. */ @ApiModel(description = "Details about a notification scheme event.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class NotificationSchemeEvent { @JsonProperty("event") private NotificationEvent event; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OperationMessage.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OperationMessage.java index 6626401..3174a30 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OperationMessage.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OperationMessage.java @@ -39,7 +39,7 @@ /** * OperationMessage */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class OperationMessage { @JsonProperty("message") private String message; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Operations.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Operations.java index 8b7bc9f..08bf1b6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Operations.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Operations.java @@ -45,7 +45,7 @@ * Details of the operations that can be performed on the issue. */ @ApiModel(description = "Details of the operations that can be performed on the issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Operations { @JsonProperty("linkGroups") private List linkGroups = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OrderOfCustomFieldOptions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OrderOfCustomFieldOptions.java index 19971ba..70ad31d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OrderOfCustomFieldOptions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OrderOfCustomFieldOptions.java @@ -42,7 +42,7 @@ * An ordered list of custom field option IDs and information on where to move them. */ @ApiModel(description = "An ordered list of custom field option IDs and information on where to move them.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class OrderOfCustomFieldOptions { @JsonProperty("customFieldOptionIds") private List customFieldOptionIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OrderOfIssueTypes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OrderOfIssueTypes.java index 6a1ad46..427ea25 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OrderOfIssueTypes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/OrderOfIssueTypes.java @@ -42,7 +42,7 @@ * An ordered list of issue type IDs and information about where to move them. */ @ApiModel(description = "An ordered list of issue type IDs and information about where to move them.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class OrderOfIssueTypes { @JsonProperty("issueTypeIds") private List issueTypeIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanChangelog.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanChangelog.java index 95b3754..967cdbf 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanChangelog.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanChangelog.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanChangelog { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanComment.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanComment.java index ea4b6c8..e424a55 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanComment.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanComment.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanComment { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanComponentWithIssueCount.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanComponentWithIssueCount.java index 60e1161..f881c9a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanComponentWithIssueCount.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanComponentWithIssueCount.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanComponentWithIssueCount { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContext.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContext.java index b286f49..7361c91 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContext.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContext.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanContext { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContextForProjectAndIssueType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContextForProjectAndIssueType.java new file mode 100644 index 0000000..3ab2f1b --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContextForProjectAndIssueType.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.ContextForProjectAndIssueType; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PageBeanContextForProjectAndIssueType { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanContextForProjectAndIssueType pageBeanContextForProjectAndIssueType = (PageBeanContextForProjectAndIssueType) o; + return Objects.equals(this.self, pageBeanContextForProjectAndIssueType.self) && + Objects.equals(this.nextPage, pageBeanContextForProjectAndIssueType.nextPage) && + Objects.equals(this.maxResults, pageBeanContextForProjectAndIssueType.maxResults) && + Objects.equals(this.startAt, pageBeanContextForProjectAndIssueType.startAt) && + Objects.equals(this.total, pageBeanContextForProjectAndIssueType.total) && + Objects.equals(this.isLast, pageBeanContextForProjectAndIssueType.isLast) && + Objects.equals(this.values, pageBeanContextForProjectAndIssueType.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanContextForProjectAndIssueType {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContextualConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContextualConfiguration.java new file mode 100644 index 0000000..4e0e888 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanContextualConfiguration.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.ContextualConfiguration; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PageBeanContextualConfiguration { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanContextualConfiguration pageBeanContextualConfiguration = (PageBeanContextualConfiguration) o; + return Objects.equals(this.self, pageBeanContextualConfiguration.self) && + Objects.equals(this.nextPage, pageBeanContextualConfiguration.nextPage) && + Objects.equals(this.maxResults, pageBeanContextualConfiguration.maxResults) && + Objects.equals(this.startAt, pageBeanContextualConfiguration.startAt) && + Objects.equals(this.total, pageBeanContextualConfiguration.total) && + Objects.equals(this.isLast, pageBeanContextualConfiguration.isLast) && + Objects.equals(this.values, pageBeanContextualConfiguration.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanContextualConfiguration {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContext.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContext.java new file mode 100644 index 0000000..20eb2b0 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContext.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldContext; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PageBeanCustomFieldContext { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanCustomFieldContext pageBeanCustomFieldContext = (PageBeanCustomFieldContext) o; + return Objects.equals(this.self, pageBeanCustomFieldContext.self) && + Objects.equals(this.nextPage, pageBeanCustomFieldContext.nextPage) && + Objects.equals(this.maxResults, pageBeanCustomFieldContext.maxResults) && + Objects.equals(this.startAt, pageBeanCustomFieldContext.startAt) && + Objects.equals(this.total, pageBeanCustomFieldContext.total) && + Objects.equals(this.isLast, pageBeanCustomFieldContext.isLast) && + Objects.equals(this.values, pageBeanCustomFieldContext.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanCustomFieldContext {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextDefaultValue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextDefaultValue.java new file mode 100644 index 0000000..b7b562d --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextDefaultValue.java @@ -0,0 +1,185 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PageBeanCustomFieldContextDefaultValue { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanCustomFieldContextDefaultValue pageBeanCustomFieldContextDefaultValue = (PageBeanCustomFieldContextDefaultValue) o; + return Objects.equals(this.self, pageBeanCustomFieldContextDefaultValue.self) && + Objects.equals(this.nextPage, pageBeanCustomFieldContextDefaultValue.nextPage) && + Objects.equals(this.maxResults, pageBeanCustomFieldContextDefaultValue.maxResults) && + Objects.equals(this.startAt, pageBeanCustomFieldContextDefaultValue.startAt) && + Objects.equals(this.total, pageBeanCustomFieldContextDefaultValue.total) && + Objects.equals(this.isLast, pageBeanCustomFieldContextDefaultValue.isLast) && + Objects.equals(this.values, pageBeanCustomFieldContextDefaultValue.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanCustomFieldContextDefaultValue {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextOption.java index 1c99bc8..8de89e3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextOption.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanCustomFieldContextOption { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextProjectMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextProjectMapping.java new file mode 100644 index 0000000..b15b0c0 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanCustomFieldContextProjectMapping.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.CustomFieldContextProjectMapping; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PageBeanCustomFieldContextProjectMapping { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanCustomFieldContextProjectMapping pageBeanCustomFieldContextProjectMapping = (PageBeanCustomFieldContextProjectMapping) o; + return Objects.equals(this.self, pageBeanCustomFieldContextProjectMapping.self) && + Objects.equals(this.nextPage, pageBeanCustomFieldContextProjectMapping.nextPage) && + Objects.equals(this.maxResults, pageBeanCustomFieldContextProjectMapping.maxResults) && + Objects.equals(this.startAt, pageBeanCustomFieldContextProjectMapping.startAt) && + Objects.equals(this.total, pageBeanCustomFieldContextProjectMapping.total) && + Objects.equals(this.isLast, pageBeanCustomFieldContextProjectMapping.isLast) && + Objects.equals(this.values, pageBeanCustomFieldContextProjectMapping.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanCustomFieldContextProjectMapping {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanDashboard.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanDashboard.java index a179616..562e740 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanDashboard.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanDashboard.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanDashboard { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanField.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanField.java index c7ebb9b..5bc2997 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanField.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanField.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanField { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfiguration.java index 4a9070a..f63dd89 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfiguration.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanFieldConfiguration { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationIssueTypeItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationIssueTypeItem.java index 5983e8d..9b6f354 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationIssueTypeItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationIssueTypeItem.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanFieldConfigurationIssueTypeItem { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationItem.java index 9ff3740..1880d0a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationItem.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanFieldConfigurationItem { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationScheme.java index bc8eb96..225dd58 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanFieldConfigurationScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationSchemeProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationSchemeProjects.java index f67451f..f042315 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationSchemeProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFieldConfigurationSchemeProjects.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanFieldConfigurationSchemeProjects { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFilterDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFilterDetails.java index 8f5b0f5..1df628a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFilterDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanFilterDetails.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanFilterDetails { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanGroupDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanGroupDetails.java index 2fdbbef..2cc35a5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanGroupDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanGroupDetails.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanGroupDetails { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueFieldOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueFieldOption.java index 0fdc245..04f9e3b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueFieldOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueFieldOption.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanIssueFieldOption { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueSecurityLevelMember.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueSecurityLevelMember.java index b1fecb8..0f633c5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueSecurityLevelMember.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueSecurityLevelMember.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanIssueSecurityLevelMember { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScheme.java index 0e6e036..63034d8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanIssueTypeScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeSchemeMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeSchemeMapping.java index 464ace9..fcd8f97 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeSchemeMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeSchemeMapping.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanIssueTypeSchemeMapping { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeSchemeProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeSchemeProjects.java index 0da3f0b..2c66408 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeSchemeProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeSchemeProjects.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanIssueTypeSchemeProjects { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenScheme.java index c40974d..fa0d947 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanIssueTypeScreenScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenSchemeItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenSchemeItem.java index b7d661b..8b78195 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenSchemeItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenSchemeItem.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanIssueTypeScreenSchemeItem { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenSchemesProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenSchemesProjects.java index 8a00848..399ce61 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenSchemesProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeScreenSchemesProjects.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanIssueTypeScreenSchemesProjects { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeToContextMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeToContextMapping.java new file mode 100644 index 0000000..4f2dc08 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanIssueTypeToContextMapping.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeToContextMapping; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PageBeanIssueTypeToContextMapping { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanIssueTypeToContextMapping pageBeanIssueTypeToContextMapping = (PageBeanIssueTypeToContextMapping) o; + return Objects.equals(this.self, pageBeanIssueTypeToContextMapping.self) && + Objects.equals(this.nextPage, pageBeanIssueTypeToContextMapping.nextPage) && + Objects.equals(this.maxResults, pageBeanIssueTypeToContextMapping.maxResults) && + Objects.equals(this.startAt, pageBeanIssueTypeToContextMapping.startAt) && + Objects.equals(this.total, pageBeanIssueTypeToContextMapping.total) && + Objects.equals(this.isLast, pageBeanIssueTypeToContextMapping.isLast) && + Objects.equals(this.values, pageBeanIssueTypeToContextMapping.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanIssueTypeToContextMapping {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanNotificationScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanNotificationScheme.java index e87c76f..ab9ab21 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanNotificationScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanNotificationScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanNotificationScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanProject.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanProject.java index e0815b0..92d1aa3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanProject.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanProject.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanProject { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanProjectDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanProjectDetails.java new file mode 100644 index 0000000..8b11db9 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanProjectDetails.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectDetails; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PageBeanProjectDetails { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanProjectDetails pageBeanProjectDetails = (PageBeanProjectDetails) o; + return Objects.equals(this.self, pageBeanProjectDetails.self) && + Objects.equals(this.nextPage, pageBeanProjectDetails.nextPage) && + Objects.equals(this.maxResults, pageBeanProjectDetails.maxResults) && + Objects.equals(this.startAt, pageBeanProjectDetails.startAt) && + Objects.equals(this.total, pageBeanProjectDetails.total) && + Objects.equals(this.isLast, pageBeanProjectDetails.isLast) && + Objects.equals(this.values, pageBeanProjectDetails.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanProjectDetails {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreen.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreen.java index 2cfef00..4ce6dce 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreen.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreen.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanScreen { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreenScheme.java index 5fdc050..d47f80f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreenScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreenScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanScreenScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreenWithTab.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreenWithTab.java new file mode 100644 index 0000000..5970662 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanScreenWithTab.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.ScreenWithTab; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PageBeanScreenWithTab { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanScreenWithTab pageBeanScreenWithTab = (PageBeanScreenWithTab) o; + return Objects.equals(this.self, pageBeanScreenWithTab.self) && + Objects.equals(this.nextPage, pageBeanScreenWithTab.nextPage) && + Objects.equals(this.maxResults, pageBeanScreenWithTab.maxResults) && + Objects.equals(this.startAt, pageBeanScreenWithTab.startAt) && + Objects.equals(this.total, pageBeanScreenWithTab.total) && + Objects.equals(this.isLast, pageBeanScreenWithTab.isLast) && + Objects.equals(this.values, pageBeanScreenWithTab.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanScreenWithTab {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanString.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanString.java index e44bdd5..cb3c7ec 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanString.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanString.java @@ -43,7 +43,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanString { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUser.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUser.java index c916fe4..66c2044 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUser.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUser.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanUser { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUserDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUserDetails.java index 6fde6ac..a8d404f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUserDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUserDetails.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanUserDetails { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUserKey.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUserKey.java index 26a935f..f88e854 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUserKey.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanUserKey.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanUserKey { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanVersion.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanVersion.java index 86f57ae..bbba8ac 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanVersion.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanVersion.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanVersion { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWebhook.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWebhook.java index 7cd80f8..b7885ca 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWebhook.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWebhook.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanWebhook { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflow.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflow.java index 836e253..49b0fde 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflow.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflow.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanWorkflow { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflowScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflowScheme.java index ff94c9a..2e3a3d0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflowScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflowScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanWorkflowScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflowTransitionRules.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflowTransitionRules.java index c67a799..0cef282 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflowTransitionRules.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageBeanWorkflowTransitionRules.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageBeanWorkflowTransitionRules { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfChangelogs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfChangelogs.java index 2833ae0..26334c6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfChangelogs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfChangelogs.java @@ -43,7 +43,7 @@ * A page of changelogs. */ @ApiModel(description = "A page of changelogs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageOfChangelogs { @JsonProperty("startAt") private Integer startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfComments.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfComments.java index 241897d..09b3a90 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfComments.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfComments.java @@ -45,7 +45,7 @@ * A page of comments. */ @ApiModel(description = "A page of comments.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageOfComments { @JsonProperty("startAt") private Long startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfDashboards.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfDashboards.java index 084580e..c850e04 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfDashboards.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfDashboards.java @@ -43,7 +43,7 @@ * A page containing dashboard details. */ @ApiModel(description = "A page containing dashboard details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageOfDashboards { @JsonProperty("startAt") private Integer startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfWorklogs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfWorklogs.java index 5c7ee93..06b631a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfWorklogs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PageOfWorklogs.java @@ -45,7 +45,7 @@ * Paginated list of worklog details */ @ApiModel(description = "Paginated list of worklog details") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PageOfWorklogs { @JsonProperty("startAt") private Integer startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PagedListUserDetailsApplicationUser.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PagedListUserDetailsApplicationUser.java index 04b91fc..eabad81 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PagedListUserDetailsApplicationUser.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PagedListUserDetailsApplicationUser.java @@ -43,7 +43,7 @@ * A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40. */ @ApiModel(description = "A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PagedListUserDetailsApplicationUser { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PaginatedResponseComment.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PaginatedResponseComment.java new file mode 100644 index 0000000..274108e --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PaginatedResponseComment.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.Comment; + +/** + * PaginatedResponseComment + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PaginatedResponseComment { + @JsonProperty("total") + private Long total; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("results") + private List results = new ArrayList<>(); + + public PaginatedResponseComment total(Long total) { + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @ApiModelProperty(value = "") + public Long getTotal() { + return total; + } + + public void setTotal(Long total) { + this.total = total; + } + + public PaginatedResponseComment startAt(Long startAt) { + this.startAt = startAt; + return this; + } + + /** + * Get startAt + * @return startAt + **/ + @ApiModelProperty(value = "") + public Long getStartAt() { + return startAt; + } + + public void setStartAt(Long startAt) { + this.startAt = startAt; + } + + public PaginatedResponseComment maxResults(Integer maxResults) { + this.maxResults = maxResults; + return this; + } + + /** + * Get maxResults + * @return maxResults + **/ + @ApiModelProperty(value = "") + public Integer getMaxResults() { + return maxResults; + } + + public void setMaxResults(Integer maxResults) { + this.maxResults = maxResults; + } + + public PaginatedResponseComment results(List results) { + this.results = results; + return this; + } + + public PaginatedResponseComment addResultsItem(Comment resultsItem) { + if (this.results == null) { + this.results = new ArrayList<>(); + } + this.results.add(resultsItem); + return this; + } + + /** + * Get results + * @return results + **/ + @ApiModelProperty(value = "") + public List getResults() { + return results; + } + + public void setResults(List results) { + this.results = results; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaginatedResponseComment paginatedResponseComment = (PaginatedResponseComment) o; + return Objects.equals(this.total, paginatedResponseComment.total) && + Objects.equals(this.startAt, paginatedResponseComment.startAt) && + Objects.equals(this.maxResults, paginatedResponseComment.maxResults) && + Objects.equals(this.results, paginatedResponseComment.results); + } + + @Override + public int hashCode() { + return Objects.hash(total, startAt, maxResults, results); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaginatedResponseComment {\n"); + + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" results: ").append(toIndentedString(results)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ParsedJqlQueries.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ParsedJqlQueries.java index becf12e..0f6dfe9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ParsedJqlQueries.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ParsedJqlQueries.java @@ -43,7 +43,7 @@ * A list of parsed JQL queries. */ @ApiModel(description = "A list of parsed JQL queries.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ParsedJqlQueries { @JsonProperty("queries") private List queries = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ParsedJqlQuery.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ParsedJqlQuery.java index 65ec7b2..0d1a4bc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ParsedJqlQuery.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ParsedJqlQuery.java @@ -43,7 +43,7 @@ * Details of a parsed JQL query. */ @ApiModel(description = "Details of a parsed JQL query.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ParsedJqlQuery { @JsonProperty("query") private String query; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionGrant.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionGrant.java index 2113503..6f18a4f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionGrant.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionGrant.java @@ -42,7 +42,7 @@ * Details about a permission granted to a user or group. */ @ApiModel(description = "Details about a permission granted to a user or group.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PermissionGrant { @JsonProperty("id") private Long id; @@ -80,10 +80,10 @@ public PermissionGrant holder(PermissionHolder holder) { } /** - * The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information. + * The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information. * @return holder **/ - @ApiModelProperty(value = "The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information.") + @ApiModelProperty(value = "The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.") public PermissionHolder getHolder() { return holder; } @@ -98,10 +98,10 @@ public PermissionGrant permission(String permission) { } /** - * The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions. + * The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions. * @return permission **/ - @ApiModelProperty(value = "The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions.") + @ApiModelProperty(value = "The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions.") public String getPermission() { return permission; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionGrants.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionGrants.java index f1fec04..4933ca6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionGrants.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionGrants.java @@ -43,7 +43,7 @@ * List of permission grants. */ @ApiModel(description = "List of permission grants.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PermissionGrants { @JsonProperty("permissions") private List permissions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionHolder.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionHolder.java index a08bc8e..3c641ba 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionHolder.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionHolder.java @@ -37,10 +37,10 @@ import io.swagger.annotations.ApiModelProperty; /** - * Details of a user, group, field, or project role that holds a permission. See [Holder object](#holder-object) in *Get all permission schemes* for more information. + * Details of a user, group, field, or project role that holds a permission. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information. */ -@ApiModel(description = "Details of a user, group, field, or project role that holds a permission. See [Holder object](#holder-object) in *Get all permission schemes* for more information.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@ApiModel(description = "Details of a user, group, field, or project role that holds a permission. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PermissionHolder { @JsonProperty("type") private String type; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionScheme.java index f05df4d..c2adb83 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionScheme.java @@ -47,7 +47,7 @@ * Details of a permission scheme. */ @ApiModel(description = "Details of a permission scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PermissionScheme { @JsonProperty("expand") private String expand; @@ -167,10 +167,10 @@ public PermissionScheme addPermissionsItem(PermissionGrant permissionsItem) { } /** - * The permission scheme to create or update. See [About permission schemes and grants](#about-permission-schemes-and-grants) for more information. + * The permission scheme to create or update. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information. * @return permissions **/ - @ApiModelProperty(value = "The permission scheme to create or update. See [About permission schemes and grants](#about-permission-schemes-and-grants) for more information.") + @ApiModelProperty(value = "The permission scheme to create or update. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information.") public List getPermissions() { return permissions; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionSchemes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionSchemes.java index fb0d6ed..e86781f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionSchemes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionSchemes.java @@ -43,7 +43,7 @@ * List of all permission schemes. */ @ApiModel(description = "List of all permission schemes.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PermissionSchemes { @JsonProperty("permissionSchemes") private List permissionSchemes = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Permissions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Permissions.java index 6357c8e..7d6a611 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Permissions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Permissions.java @@ -44,7 +44,7 @@ * Details about permissions. */ @ApiModel(description = "Details about permissions.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Permissions { @JsonProperty("permissions") private Map permissions = new HashMap<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionsKeysBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionsKeysBean.java index 9dfc3fb..51eed9c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionsKeysBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermissionsKeysBean.java @@ -41,7 +41,7 @@ /** * PermissionsKeysBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PermissionsKeysBean { @JsonProperty("permissions") private List permissions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermittedProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermittedProjects.java index 00a2d45..1248682 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermittedProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PermittedProjects.java @@ -43,7 +43,7 @@ * A list of projects in which a user is granted permissions. */ @ApiModel(description = "A list of projects in which a user is granted permissions.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PermittedProjects { @JsonProperty("projects") private List projects = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Priority.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Priority.java index 998c040..5935d92 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Priority.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Priority.java @@ -42,7 +42,7 @@ * An issue priority. */ @ApiModel(description = "An issue priority.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Priority { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Project.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Project.java index dfa6860..99e863e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Project.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Project.java @@ -43,11 +43,12 @@ import java.util.Map; import java.util.UUID; import org.everit.atlassian.restclient.jiracloud.v2.model.AvatarUrlsBean; -import org.everit.atlassian.restclient.jiracloud.v2.model.Component; import org.everit.atlassian.restclient.jiracloud.v2.model.Hierarchy; import org.everit.atlassian.restclient.jiracloud.v2.model.IssueTypeDetails; import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectCategory; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectComponent; import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectInsight; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectLandingPageInfo; import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectPermissions; import org.everit.atlassian.restclient.jiracloud.v2.model.User; import org.everit.atlassian.restclient.jiracloud.v2.model.Version; @@ -56,7 +57,7 @@ * Details about a project. */ @ApiModel(description = "Details about a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Project { @JsonProperty("expand") private String expand; @@ -77,7 +78,7 @@ public class Project { private User lead; @JsonProperty("components") - private List components = new ArrayList<>(); + private List components = new ArrayList<>(); @JsonProperty("issueTypes") private List issueTypes = new ArrayList<>(); @@ -264,6 +265,9 @@ public static StyleEnum fromValue(String value) { @JsonProperty("archivedBy") private User archivedBy; + @JsonProperty("landingPageInfo") + private ProjectLandingPageInfo landingPageInfo; + /** * Expand options that include additional project details in the response. * @return expand @@ -332,7 +336,7 @@ public User getLead() { * @return components **/ @ApiModelProperty(value = "List of the components contained in the project.") - public List getComponents() { + public List getComponents() { return components; } @@ -481,10 +485,10 @@ public Boolean getIsPrivate() { } /** - * The issue type hierarchy for the project + * The issue type hierarchy for the project. * @return issueTypeHierarchy **/ - @ApiModelProperty(value = "The issue type hierarchy for the project") + @ApiModelProperty(value = "The issue type hierarchy for the project.") public Hierarchy getIssueTypeHierarchy() { return issueTypeHierarchy; } @@ -588,6 +592,15 @@ public User getArchivedBy() { return archivedBy; } + /** + * The project landing page info. + * @return landingPageInfo + **/ + @ApiModelProperty(value = "The project landing page info.") + public ProjectLandingPageInfo getLandingPageInfo() { + return landingPageInfo; + } + @Override public boolean equals(java.lang.Object o) { @@ -630,12 +643,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.deletedBy, project.deletedBy) && Objects.equals(this.archived, project.archived) && Objects.equals(this.archivedDate, project.archivedDate) && - Objects.equals(this.archivedBy, project.archivedBy); + Objects.equals(this.archivedBy, project.archivedBy) && + Objects.equals(this.landingPageInfo, project.landingPageInfo); } @Override public int hashCode() { - return Objects.hash(expand, self, id, key, description, lead, components, issueTypes, url, email, assigneeType, versions, name, roles, avatarUrls, projectCategory, projectTypeKey, simplified, style, favourite, isPrivate, issueTypeHierarchy, permissions, properties, uuid, insight, deleted, retentionTillDate, deletedDate, deletedBy, archived, archivedDate, archivedBy); + return Objects.hash(expand, self, id, key, description, lead, components, issueTypes, url, email, assigneeType, versions, name, roles, avatarUrls, projectCategory, projectTypeKey, simplified, style, favourite, isPrivate, issueTypeHierarchy, permissions, properties, uuid, insight, deleted, retentionTillDate, deletedDate, deletedBy, archived, archivedDate, archivedBy, landingPageInfo); } @@ -677,6 +691,7 @@ public String toString() { sb.append(" archived: ").append(toIndentedString(archived)).append("\n"); sb.append(" archivedDate: ").append(toIndentedString(archivedDate)).append("\n"); sb.append(" archivedBy: ").append(toIndentedString(archivedBy)).append("\n"); + sb.append(" landingPageInfo: ").append(toIndentedString(landingPageInfo)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectAvatars.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectAvatars.java index e28a027..06aaca9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectAvatars.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectAvatars.java @@ -43,7 +43,7 @@ * List of project avatars. */ @ApiModel(description = "List of project avatars.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectAvatars { @JsonProperty("system") private List system = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectCategory.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectCategory.java index fe23a48..45b1b6f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectCategory.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectCategory.java @@ -41,7 +41,7 @@ * A project category. */ @ApiModel(description = "A project category.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectCategory { @JsonProperty("self") private URI self; @@ -97,10 +97,10 @@ public ProjectCategory description(String description) { } /** - * The description of the project category. Required on create, optional on update. + * The description of the project category. * @return description **/ - @ApiModelProperty(value = "The description of the project category. Required on create, optional on update.") + @ApiModelProperty(value = "The description of the project category.") public String getDescription() { return description; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectComponent.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectComponent.java new file mode 100644 index 0000000..0e43775 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectComponent.java @@ -0,0 +1,414 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import org.everit.atlassian.restclient.jiracloud.v2.model.User; + +/** + * Details about a project component. + */ +@ApiModel(description = "Details about a project component.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ProjectComponent { + @JsonProperty("self") + private URI self; + + @JsonProperty("id") + private String id; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("lead") + private User lead; + + @JsonProperty("leadUserName") + private String leadUserName; + + @JsonProperty("leadAccountId") + private String leadAccountId; + + /** + * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component. + */ + public enum AssigneeTypeEnum { + PROJECT_DEFAULT("PROJECT_DEFAULT"), + + COMPONENT_LEAD("COMPONENT_LEAD"), + + PROJECT_LEAD("PROJECT_LEAD"), + + UNASSIGNED("UNASSIGNED"); + + private String value; + + AssigneeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AssigneeTypeEnum fromValue(String value) { + for (AssigneeTypeEnum b : AssigneeTypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("assigneeType") + private AssigneeTypeEnum assigneeType; + + @JsonProperty("assignee") + private User assignee; + + /** + * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. + */ + public enum RealAssigneeTypeEnum { + PROJECT_DEFAULT("PROJECT_DEFAULT"), + + COMPONENT_LEAD("COMPONENT_LEAD"), + + PROJECT_LEAD("PROJECT_LEAD"), + + UNASSIGNED("UNASSIGNED"); + + private String value; + + RealAssigneeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static RealAssigneeTypeEnum fromValue(String value) { + for (RealAssigneeTypeEnum b : RealAssigneeTypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("realAssigneeType") + private RealAssigneeTypeEnum realAssigneeType; + + @JsonProperty("realAssignee") + private User realAssignee; + + @JsonProperty("isAssigneeTypeValid") + private Boolean isAssigneeTypeValid; + + @JsonProperty("project") + private String project; + + @JsonProperty("projectId") + private Long projectId; + + /** + * The URL of the component. + * @return self + **/ + @ApiModelProperty(value = "The URL of the component.") + public URI getSelf() { + return self; + } + + /** + * The unique identifier for the component. + * @return id + **/ + @ApiModelProperty(value = "The unique identifier for the component.") + public String getId() { + return id; + } + + public ProjectComponent name(String name) { + this.name = name; + return this; + } + + /** + * The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters. + * @return name + **/ + @ApiModelProperty(value = "The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ProjectComponent description(String description) { + this.description = description; + return this; + } + + /** + * The description for the component. Optional when creating or updating a component. + * @return description + **/ + @ApiModelProperty(value = "The description for the component. Optional when creating or updating a component.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + /** + * The user details for the component's lead user. + * @return lead + **/ + @ApiModelProperty(value = "The user details for the component's lead user.") + public User getLead() { + return lead; + } + + public ProjectComponent leadUserName(String leadUserName) { + this.leadUserName = leadUserName; + return this; + } + + /** + * This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * @return leadUserName + **/ + @ApiModelProperty(value = "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + public String getLeadUserName() { + return leadUserName; + } + + public void setLeadUserName(String leadUserName) { + this.leadUserName = leadUserName; + } + + public ProjectComponent leadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + return this; + } + + /** + * The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. + * @return leadAccountId + **/ + @ApiModelProperty(value = "The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.") + public String getLeadAccountId() { + return leadAccountId; + } + + public void setLeadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + } + + public ProjectComponent assigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + return this; + } + + /** + * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component. + * @return assigneeType + **/ + @ApiModelProperty(value = "The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component.") + public AssigneeTypeEnum getAssigneeType() { + return assigneeType; + } + + public void setAssigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + } + + /** + * The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component. + * @return assignee + **/ + @ApiModelProperty(value = "The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.") + public User getAssignee() { + return assignee; + } + + /** + * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. + * @return realAssigneeType + **/ + @ApiModelProperty(value = "The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true.") + public RealAssigneeTypeEnum getRealAssigneeType() { + return realAssigneeType; + } + + /** + * The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee. + * @return realAssignee + **/ + @ApiModelProperty(value = "The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.") + public User getRealAssignee() { + return realAssignee; + } + + /** + * Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned. + * @return isAssigneeTypeValid + **/ + @ApiModelProperty(value = "Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.") + public Boolean getIsAssigneeTypeValid() { + return isAssigneeTypeValid; + } + + public ProjectComponent project(String project) { + this.project = project; + return this; + } + + /** + * The key of the project the component is assigned to. Required when creating a component. Can't be updated. + * @return project + **/ + @ApiModelProperty(value = "The key of the project the component is assigned to. Required when creating a component. Can't be updated.") + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } + + /** + * The ID of the project the component is assigned to. + * @return projectId + **/ + @ApiModelProperty(value = "The ID of the project the component is assigned to.") + public Long getProjectId() { + return projectId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectComponent projectComponent = (ProjectComponent) o; + return Objects.equals(this.self, projectComponent.self) && + Objects.equals(this.id, projectComponent.id) && + Objects.equals(this.name, projectComponent.name) && + Objects.equals(this.description, projectComponent.description) && + Objects.equals(this.lead, projectComponent.lead) && + Objects.equals(this.leadUserName, projectComponent.leadUserName) && + Objects.equals(this.leadAccountId, projectComponent.leadAccountId) && + Objects.equals(this.assigneeType, projectComponent.assigneeType) && + Objects.equals(this.assignee, projectComponent.assignee) && + Objects.equals(this.realAssigneeType, projectComponent.realAssigneeType) && + Objects.equals(this.realAssignee, projectComponent.realAssignee) && + Objects.equals(this.isAssigneeTypeValid, projectComponent.isAssigneeTypeValid) && + Objects.equals(this.project, projectComponent.project) && + Objects.equals(this.projectId, projectComponent.projectId); + } + + @Override + public int hashCode() { + return Objects.hash(self, id, name, description, lead, leadUserName, leadAccountId, assigneeType, assignee, realAssigneeType, realAssignee, isAssigneeTypeValid, project, projectId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectComponent {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" lead: ").append(toIndentedString(lead)).append("\n"); + sb.append(" leadUserName: ").append(toIndentedString(leadUserName)).append("\n"); + sb.append(" leadAccountId: ").append(toIndentedString(leadAccountId)).append("\n"); + sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" realAssigneeType: ").append(toIndentedString(realAssigneeType)).append("\n"); + sb.append(" realAssignee: ").append(toIndentedString(realAssignee)).append("\n"); + sb.append(" isAssigneeTypeValid: ").append(toIndentedString(isAssigneeTypeValid)).append("\n"); + sb.append(" project: ").append(toIndentedString(project)).append("\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectDetails.java new file mode 100644 index 0000000..8036abf --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectDetails.java @@ -0,0 +1,244 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import org.everit.atlassian.restclient.jiracloud.v2.model.AvatarUrlsBean; +import org.everit.atlassian.restclient.jiracloud.v2.model.UpdatedProjectCategory; + +/** + * Details about a project. + */ +@ApiModel(description = "Details about a project.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ProjectDetails { + @JsonProperty("self") + private String self; + + @JsonProperty("id") + private String id; + + @JsonProperty("key") + private String key; + + @JsonProperty("name") + private String name; + + /** + * The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project. + */ + public enum ProjectTypeKeyEnum { + SOFTWARE("software"), + + SERVICE_DESK("service_desk"), + + BUSINESS("business"); + + private String value; + + ProjectTypeKeyEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ProjectTypeKeyEnum fromValue(String value) { + for (ProjectTypeKeyEnum b : ProjectTypeKeyEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("projectTypeKey") + private ProjectTypeKeyEnum projectTypeKey; + + @JsonProperty("simplified") + private Boolean simplified; + + @JsonProperty("avatarUrls") + private AvatarUrlsBean avatarUrls; + + @JsonProperty("projectCategory") + private UpdatedProjectCategory projectCategory; + + /** + * The URL of the project details. + * @return self + **/ + @ApiModelProperty(value = "The URL of the project details.") + public String getSelf() { + return self; + } + + public ProjectDetails id(String id) { + this.id = id; + return this; + } + + /** + * The ID of the project. + * @return id + **/ + @ApiModelProperty(value = "The ID of the project.") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + /** + * The key of the project. + * @return key + **/ + @ApiModelProperty(value = "The key of the project.") + public String getKey() { + return key; + } + + /** + * The name of the project. + * @return name + **/ + @ApiModelProperty(value = "The name of the project.") + public String getName() { + return name; + } + + /** + * The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project. + * @return projectTypeKey + **/ + @ApiModelProperty(value = "The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.") + public ProjectTypeKeyEnum getProjectTypeKey() { + return projectTypeKey; + } + + /** + * Whether or not the project is simplified. + * @return simplified + **/ + @ApiModelProperty(value = "Whether or not the project is simplified.") + public Boolean getSimplified() { + return simplified; + } + + /** + * The URLs of the project's avatars. + * @return avatarUrls + **/ + @ApiModelProperty(value = "The URLs of the project's avatars.") + public AvatarUrlsBean getAvatarUrls() { + return avatarUrls; + } + + /** + * The category the project belongs to. + * @return projectCategory + **/ + @ApiModelProperty(value = "The category the project belongs to.") + public UpdatedProjectCategory getProjectCategory() { + return projectCategory; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectDetails projectDetails = (ProjectDetails) o; + return Objects.equals(this.self, projectDetails.self) && + Objects.equals(this.id, projectDetails.id) && + Objects.equals(this.key, projectDetails.key) && + Objects.equals(this.name, projectDetails.name) && + Objects.equals(this.projectTypeKey, projectDetails.projectTypeKey) && + Objects.equals(this.simplified, projectDetails.simplified) && + Objects.equals(this.avatarUrls, projectDetails.avatarUrls) && + Objects.equals(this.projectCategory, projectDetails.projectCategory); + } + + @Override + public int hashCode() { + return Objects.hash(self, id, key, name, projectTypeKey, simplified, avatarUrls, projectCategory); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectDetails {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" projectTypeKey: ").append(toIndentedString(projectTypeKey)).append("\n"); + sb.append(" simplified: ").append(toIndentedString(simplified)).append("\n"); + sb.append(" avatarUrls: ").append(toIndentedString(avatarUrls)).append("\n"); + sb.append(" projectCategory: ").append(toIndentedString(projectCategory)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectEmailAddress.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectEmailAddress.java index d1d3c2c..9b06f47 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectEmailAddress.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectEmailAddress.java @@ -40,7 +40,7 @@ * A project's sender email address. */ @ApiModel(description = "A project's sender email address.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectEmailAddress { @JsonProperty("emailAddress") private String emailAddress; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIdentifierBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIdentifierBean.java index dad4701..ba7cc4e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIdentifierBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIdentifierBean.java @@ -40,7 +40,7 @@ * The identifiers for a project. */ @ApiModel(description = "The identifiers for a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectIdentifierBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIdentifiers.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIdentifiers.java index 3e2a326..1734f37 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIdentifiers.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIdentifiers.java @@ -41,7 +41,7 @@ * Identifiers for a project. */ @ApiModel(description = "Identifiers for a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectIdentifiers { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIds.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIds.java new file mode 100644 index 0000000..4dd49e8 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIds.java @@ -0,0 +1,114 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * A list of project IDs. + */ +@ApiModel(description = "A list of project IDs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ProjectIds { + @JsonProperty("projectIds") + private List projectIds = new ArrayList<>(); + + public ProjectIds projectIds(List projectIds) { + this.projectIds = projectIds; + return this; + } + + public ProjectIds addProjectIdsItem(String projectIdsItem) { + this.projectIds.add(projectIdsItem); + return this; + } + + /** + * The IDs of projects. + * @return projectIds + **/ + @ApiModelProperty(required = true, value = "The IDs of projects.") + public List getProjectIds() { + return projectIds; + } + + public void setProjectIds(List projectIds) { + this.projectIds = projectIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectIds projectIds = (ProjectIds) o; + return Objects.equals(this.projectIds, projectIds.projectIds); + } + + @Override + public int hashCode() { + return Objects.hash(projectIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectIds {\n"); + + sb.append(" projectIds: ").append(toIndentedString(projectIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectInsight.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectInsight.java index 87430db..f5e453a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectInsight.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectInsight.java @@ -41,7 +41,7 @@ * Additional details about a project. */ @ApiModel(description = "Additional details about a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectInsight { @JsonProperty("totalIssueCount") private Long totalIssueCount; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueCreateMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueCreateMetadata.java index a6337b1..dca0257 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueCreateMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueCreateMetadata.java @@ -44,7 +44,7 @@ * Details of the issue creation metadata for a project. */ @ApiModel(description = "Details of the issue creation metadata for a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectIssueCreateMetadata { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueSecurityLevels.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueSecurityLevels.java index e967914..c8946af 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueSecurityLevels.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueSecurityLevels.java @@ -43,7 +43,7 @@ * List of issue level security items in a project. */ @ApiModel(description = "List of issue level security items in a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectIssueSecurityLevels { @JsonProperty("levels") private List levels = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeHierarchy.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeHierarchy.java index 2c1053a..95be646 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeHierarchy.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeHierarchy.java @@ -43,7 +43,7 @@ * The hierarchy of issue types within a project. */ @ApiModel(description = "The hierarchy of issue types within a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectIssueTypeHierarchy { @JsonProperty("projectId") private Long projectId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeMapping.java new file mode 100644 index 0000000..f42bc15 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeMapping.java @@ -0,0 +1,130 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The project and issue type mapping. + */ +@ApiModel(description = "The project and issue type mapping.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ProjectIssueTypeMapping { + @JsonProperty("projectId") + private String projectId; + + @JsonProperty("issueTypeId") + private String issueTypeId; + + public ProjectIssueTypeMapping projectId(String projectId) { + this.projectId = projectId; + return this; + } + + /** + * The ID of the project. + * @return projectId + **/ + @ApiModelProperty(required = true, value = "The ID of the project.") + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + public ProjectIssueTypeMapping issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the issue type. + * @return issueTypeId + **/ + @ApiModelProperty(required = true, value = "The ID of the issue type.") + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectIssueTypeMapping projectIssueTypeMapping = (ProjectIssueTypeMapping) o; + return Objects.equals(this.projectId, projectIssueTypeMapping.projectId) && + Objects.equals(this.issueTypeId, projectIssueTypeMapping.issueTypeId); + } + + @Override + public int hashCode() { + return Objects.hash(projectId, issueTypeId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectIssueTypeMapping {\n"); + + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeMappings.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeMappings.java new file mode 100644 index 0000000..7913f25 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypeMappings.java @@ -0,0 +1,115 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectIssueTypeMapping; + +/** + * The project and issue type mappings. + */ +@ApiModel(description = "The project and issue type mappings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ProjectIssueTypeMappings { + @JsonProperty("mappings") + private List mappings = new ArrayList<>(); + + public ProjectIssueTypeMappings mappings(List mappings) { + this.mappings = mappings; + return this; + } + + public ProjectIssueTypeMappings addMappingsItem(ProjectIssueTypeMapping mappingsItem) { + this.mappings.add(mappingsItem); + return this; + } + + /** + * The project and issue type mappings. + * @return mappings + **/ + @ApiModelProperty(required = true, value = "The project and issue type mappings.") + public List getMappings() { + return mappings; + } + + public void setMappings(List mappings) { + this.mappings = mappings; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectIssueTypeMappings projectIssueTypeMappings = (ProjectIssueTypeMappings) o; + return Objects.equals(this.mappings, projectIssueTypeMappings.mappings); + } + + @Override + public int hashCode() { + return Objects.hash(mappings); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectIssueTypeMappings {\n"); + + sb.append(" mappings: ").append(toIndentedString(mappings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypesHierarchyLevel.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypesHierarchyLevel.java index e919ca5..26f4f3e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypesHierarchyLevel.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectIssueTypesHierarchyLevel.java @@ -44,7 +44,7 @@ * Details of an issue type hierarchy level. */ @ApiModel(description = "Details of an issue type hierarchy level.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectIssueTypesHierarchyLevel { @JsonProperty("entityId") private UUID entityId; @@ -59,10 +59,10 @@ public class ProjectIssueTypesHierarchyLevel { private List issueTypes = new ArrayList<>(); /** - * The ID of the issue type hierarchy level. + * The ID of the issue type hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return entityId **/ - @ApiModelProperty(value = "The ID of the issue type hierarchy level.") + @ApiModelProperty(value = "The ID of the issue type hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public UUID getEntityId() { return entityId; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectLandingPageInfo.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectLandingPageInfo.java new file mode 100644 index 0000000..44d44cd --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectLandingPageInfo.java @@ -0,0 +1,198 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * ProjectLandingPageInfo + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ProjectLandingPageInfo { + @JsonProperty("url") + private String url; + + @JsonProperty("projectKey") + private String projectKey; + + @JsonProperty("projectType") + private String projectType; + + @JsonProperty("boardId") + private Long boardId; + + @JsonProperty("simplified") + private Boolean simplified; + + public ProjectLandingPageInfo url(String url) { + this.url = url; + return this; + } + + /** + * Get url + * @return url + **/ + @ApiModelProperty(value = "") + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public ProjectLandingPageInfo projectKey(String projectKey) { + this.projectKey = projectKey; + return this; + } + + /** + * Get projectKey + * @return projectKey + **/ + @ApiModelProperty(value = "") + public String getProjectKey() { + return projectKey; + } + + public void setProjectKey(String projectKey) { + this.projectKey = projectKey; + } + + public ProjectLandingPageInfo projectType(String projectType) { + this.projectType = projectType; + return this; + } + + /** + * Get projectType + * @return projectType + **/ + @ApiModelProperty(value = "") + public String getProjectType() { + return projectType; + } + + public void setProjectType(String projectType) { + this.projectType = projectType; + } + + public ProjectLandingPageInfo boardId(Long boardId) { + this.boardId = boardId; + return this; + } + + /** + * Get boardId + * @return boardId + **/ + @ApiModelProperty(value = "") + public Long getBoardId() { + return boardId; + } + + public void setBoardId(Long boardId) { + this.boardId = boardId; + } + + public ProjectLandingPageInfo simplified(Boolean simplified) { + this.simplified = simplified; + return this; + } + + /** + * Get simplified + * @return simplified + **/ + @ApiModelProperty(value = "") + public Boolean getSimplified() { + return simplified; + } + + public void setSimplified(Boolean simplified) { + this.simplified = simplified; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectLandingPageInfo projectLandingPageInfo = (ProjectLandingPageInfo) o; + return Objects.equals(this.url, projectLandingPageInfo.url) && + Objects.equals(this.projectKey, projectLandingPageInfo.projectKey) && + Objects.equals(this.projectType, projectLandingPageInfo.projectType) && + Objects.equals(this.boardId, projectLandingPageInfo.boardId) && + Objects.equals(this.simplified, projectLandingPageInfo.simplified); + } + + @Override + public int hashCode() { + return Objects.hash(url, projectKey, projectType, boardId, simplified); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectLandingPageInfo {\n"); + + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" projectKey: ").append(toIndentedString(projectKey)).append("\n"); + sb.append(" projectType: ").append(toIndentedString(projectType)).append("\n"); + sb.append(" boardId: ").append(toIndentedString(boardId)).append("\n"); + sb.append(" simplified: ").append(toIndentedString(simplified)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectPermissions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectPermissions.java index 970873e..74e146f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectPermissions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectPermissions.java @@ -40,7 +40,7 @@ * Permissions which a user has on a project. */ @ApiModel(description = "Permissions which a user has on a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectPermissions { @JsonProperty("canEdit") private Boolean canEdit; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRole.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRole.java index 5be72ee..bb643d4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRole.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRole.java @@ -45,7 +45,7 @@ * Details about the roles in a project. */ @ApiModel(description = "Details about the roles in a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectRole { @JsonProperty("self") private URI self; @@ -71,12 +71,12 @@ public class ProjectRole { @JsonProperty("currentUserRole") private Boolean currentUserRole; - @JsonProperty("roleConfigurable") - private Boolean roleConfigurable; - @JsonProperty("admin") private Boolean admin; + @JsonProperty("roleConfigurable") + private Boolean roleConfigurable; + @JsonProperty("default") private Boolean _default; @@ -179,15 +179,6 @@ public void setCurrentUserRole(Boolean currentUserRole) { this.currentUserRole = currentUserRole; } - /** - * Whether the roles are configurable for this project. - * @return roleConfigurable - **/ - @ApiModelProperty(value = "Whether the roles are configurable for this project.") - public Boolean getRoleConfigurable() { - return roleConfigurable; - } - /** * Whether this role is the admin role for the project. * @return admin @@ -197,6 +188,15 @@ public Boolean getAdmin() { return admin; } + /** + * Whether the roles are configurable for this project. + * @return roleConfigurable + **/ + @ApiModelProperty(value = "Whether the roles are configurable for this project.") + public Boolean getRoleConfigurable() { + return roleConfigurable; + } + /** * Whether this role is the default role for the project * @return _default @@ -224,14 +224,14 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.scope, projectRole.scope) && Objects.equals(this.translatedName, projectRole.translatedName) && Objects.equals(this.currentUserRole, projectRole.currentUserRole) && - Objects.equals(this.roleConfigurable, projectRole.roleConfigurable) && Objects.equals(this.admin, projectRole.admin) && + Objects.equals(this.roleConfigurable, projectRole.roleConfigurable) && Objects.equals(this._default, projectRole._default); } @Override public int hashCode() { - return Objects.hash(self, name, id, description, actors, scope, translatedName, currentUserRole, roleConfigurable, admin, _default); + return Objects.hash(self, name, id, description, actors, scope, translatedName, currentUserRole, admin, roleConfigurable, _default); } @@ -248,8 +248,8 @@ public String toString() { sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); sb.append(" translatedName: ").append(toIndentedString(translatedName)).append("\n"); sb.append(" currentUserRole: ").append(toIndentedString(currentUserRole)).append("\n"); - sb.append(" roleConfigurable: ").append(toIndentedString(roleConfigurable)).append("\n"); sb.append(" admin: ").append(toIndentedString(admin)).append("\n"); + sb.append(" roleConfigurable: ").append(toIndentedString(roleConfigurable)).append("\n"); sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleActorsUpdateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleActorsUpdateBean.java index 024d92f..b926552 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleActorsUpdateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleActorsUpdateBean.java @@ -42,7 +42,7 @@ /** * ProjectRoleActorsUpdateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectRoleActorsUpdateBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleDetails.java new file mode 100644 index 0000000..e2122b1 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleDetails.java @@ -0,0 +1,230 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import org.everit.atlassian.restclient.jiracloud.v2.model.Scope; + +/** + * Details about a project role. + */ +@ApiModel(description = "Details about a project role.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ProjectRoleDetails { + @JsonProperty("self") + private URI self; + + @JsonProperty("name") + private String name; + + @JsonProperty("id") + private Long id; + + @JsonProperty("description") + private String description; + + @JsonProperty("admin") + private Boolean admin; + + @JsonProperty("scope") + private Scope scope; + + @JsonProperty("roleConfigurable") + private Boolean roleConfigurable; + + @JsonProperty("translatedName") + private String translatedName; + + @JsonProperty("default") + private Boolean _default; + + /** + * The URL the project role details. + * @return self + **/ + @ApiModelProperty(value = "The URL the project role details.") + public URI getSelf() { + return self; + } + + public ProjectRoleDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the project role. + * @return name + **/ + @ApiModelProperty(value = "The name of the project role.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * The ID of the project role. + * @return id + **/ + @ApiModelProperty(value = "The ID of the project role.") + public Long getId() { + return id; + } + + /** + * The description of the project role. + * @return description + **/ + @ApiModelProperty(value = "The description of the project role.") + public String getDescription() { + return description; + } + + /** + * Whether this role is the admin role for the project. + * @return admin + **/ + @ApiModelProperty(value = "Whether this role is the admin role for the project.") + public Boolean getAdmin() { + return admin; + } + + /** + * The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO). + * @return scope + **/ + @ApiModelProperty(value = "The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).") + public Scope getScope() { + return scope; + } + + /** + * Whether the roles are configurable for this project. + * @return roleConfigurable + **/ + @ApiModelProperty(value = "Whether the roles are configurable for this project.") + public Boolean getRoleConfigurable() { + return roleConfigurable; + } + + public ProjectRoleDetails translatedName(String translatedName) { + this.translatedName = translatedName; + return this; + } + + /** + * The translated name of the project role. + * @return translatedName + **/ + @ApiModelProperty(value = "The translated name of the project role.") + public String getTranslatedName() { + return translatedName; + } + + public void setTranslatedName(String translatedName) { + this.translatedName = translatedName; + } + + /** + * Whether this role is the default role for the project. + * @return _default + **/ + @ApiModelProperty(value = "Whether this role is the default role for the project.") + public Boolean getDefault() { + return _default; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectRoleDetails projectRoleDetails = (ProjectRoleDetails) o; + return Objects.equals(this.self, projectRoleDetails.self) && + Objects.equals(this.name, projectRoleDetails.name) && + Objects.equals(this.id, projectRoleDetails.id) && + Objects.equals(this.description, projectRoleDetails.description) && + Objects.equals(this.admin, projectRoleDetails.admin) && + Objects.equals(this.scope, projectRoleDetails.scope) && + Objects.equals(this.roleConfigurable, projectRoleDetails.roleConfigurable) && + Objects.equals(this.translatedName, projectRoleDetails.translatedName) && + Objects.equals(this._default, projectRoleDetails._default); + } + + @Override + public int hashCode() { + return Objects.hash(self, name, id, description, admin, scope, roleConfigurable, translatedName, _default); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectRoleDetails {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" admin: ").append(toIndentedString(admin)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" roleConfigurable: ").append(toIndentedString(roleConfigurable)).append("\n"); + sb.append(" translatedName: ").append(toIndentedString(translatedName)).append("\n"); + sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleGroup.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleGroup.java index 1e44db1..5d08dd3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleGroup.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleGroup.java @@ -40,7 +40,7 @@ * Details of the group associated with the role. */ @ApiModel(description = "Details of the group associated with the role.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectRoleGroup { @JsonProperty("displayName") private String displayName; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleUser.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleUser.java index 3832d41..7b825da 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleUser.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectRoleUser.java @@ -40,7 +40,7 @@ * Details of the user associated with the role. */ @ApiModel(description = "Details of the user associated with the role.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectRoleUser { @JsonProperty("accountId") private String accountId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectScopeBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectScopeBean.java index 6ddc9a0..1757b77 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectScopeBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectScopeBean.java @@ -41,7 +41,7 @@ /** * ProjectScopeBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectScopeBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectType.java index 1ff607d..46db782 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectType.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ProjectType.java @@ -40,7 +40,7 @@ * Details about a project type. */ @ApiModel(description = "Details about a project type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ProjectType { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PropertyKey.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PropertyKey.java index 25c6122..5c7739c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PropertyKey.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PropertyKey.java @@ -40,7 +40,7 @@ * Property key details. */ @ApiModel(description = "Property key details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PropertyKey { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PropertyKeys.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PropertyKeys.java index 88bcc9f..8442b99 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PropertyKeys.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PropertyKeys.java @@ -43,7 +43,7 @@ * List of property keys. */ @ApiModel(description = "List of property keys.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PropertyKeys { @JsonProperty("keys") private List keys = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PublishDraftWorkflowScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PublishDraftWorkflowScheme.java new file mode 100644 index 0000000..55657c2 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PublishDraftWorkflowScheme.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.StatusMapping; + +/** + * Details about the status mappings for publishing a draft workflow scheme. + */ +@ApiModel(description = "Details about the status mappings for publishing a draft workflow scheme.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class PublishDraftWorkflowScheme { + @JsonProperty("statusMappings") + private List statusMappings = new ArrayList<>(); + + public PublishDraftWorkflowScheme statusMappings(List statusMappings) { + this.statusMappings = statusMappings; + return this; + } + + public PublishDraftWorkflowScheme addStatusMappingsItem(StatusMapping statusMappingsItem) { + if (this.statusMappings == null) { + this.statusMappings = new ArrayList<>(); + } + this.statusMappings.add(statusMappingsItem); + return this; + } + + /** + * Mappings of statuses to new statuses for issue types. + * @return statusMappings + **/ + @ApiModelProperty(value = "Mappings of statuses to new statuses for issue types.") + public List getStatusMappings() { + return statusMappings; + } + + public void setStatusMappings(List statusMappings) { + this.statusMappings = statusMappings; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PublishDraftWorkflowScheme publishDraftWorkflowScheme = (PublishDraftWorkflowScheme) o; + return Objects.equals(this.statusMappings, publishDraftWorkflowScheme.statusMappings); + } + + @Override + public int hashCode() { + return Objects.hash(statusMappings); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PublishDraftWorkflowScheme {\n"); + + sb.append(" statusMappings: ").append(toIndentedString(statusMappings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PublishedWorkflowId.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PublishedWorkflowId.java index 8ecfc6a..8108bf5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PublishedWorkflowId.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/PublishedWorkflowId.java @@ -40,11 +40,14 @@ * Properties that identify a published workflow. */ @ApiModel(description = "Properties that identify a published workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class PublishedWorkflowId { @JsonProperty("name") private String name; + @JsonProperty("entityId") + private String entityId; + public PublishedWorkflowId name(String name) { this.name = name; return this; @@ -63,6 +66,24 @@ public void setName(String name) { this.name = name; } + public PublishedWorkflowId entityId(String entityId) { + this.entityId = entityId; + return this; + } + + /** + * The entity ID of the workflow. + * @return entityId + **/ + @ApiModelProperty(value = "The entity ID of the workflow.") + public String getEntityId() { + return entityId; + } + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + @Override public boolean equals(java.lang.Object o) { @@ -73,12 +94,13 @@ public boolean equals(java.lang.Object o) { return false; } PublishedWorkflowId publishedWorkflowId = (PublishedWorkflowId) o; - return Objects.equals(this.name, publishedWorkflowId.name); + return Objects.equals(this.name, publishedWorkflowId.name) && + Objects.equals(this.entityId, publishedWorkflowId.entityId); } @Override public int hashCode() { - return Objects.hash(name); + return Objects.hash(name, entityId); } @@ -88,6 +110,7 @@ public String toString() { sb.append("class PublishedWorkflowId {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RegisteredWebhook.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RegisteredWebhook.java index 4f9347c..955f680 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RegisteredWebhook.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RegisteredWebhook.java @@ -42,7 +42,7 @@ * ID of a registered webhook or error messages explaining why a webhook wasn't registered. */ @ApiModel(description = "ID of a registered webhook or error messages explaining why a webhook wasn't registered.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RegisteredWebhook { @JsonProperty("createdWebhookId") private Long createdWebhookId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLink.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLink.java index 4c358ca..7f76098 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLink.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLink.java @@ -43,7 +43,7 @@ * Details of an issue remote link. */ @ApiModel(description = "Details of an issue remote link.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RemoteIssueLink { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLinkIdentifies.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLinkIdentifies.java index d500650..d38767f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLinkIdentifies.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLinkIdentifies.java @@ -40,7 +40,7 @@ * Details of the identifiers for a created or updated remote issue link. */ @ApiModel(description = "Details of the identifiers for a created or updated remote issue link.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RemoteIssueLinkIdentifies { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLinkRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLinkRequest.java index afe9ff6..04e9617 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLinkRequest.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteIssueLinkRequest.java @@ -44,7 +44,7 @@ * Details of a remote issue link. */ @ApiModel(description = "Details of a remote issue link.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RemoteIssueLinkRequest { @JsonProperty("globalId") private String globalId; @@ -123,7 +123,7 @@ public RemoteIssueLinkRequest _object(RemoteObject _object) { * Details of the item linked to. * @return _object **/ - @ApiModelProperty(value = "Details of the item linked to.") + @ApiModelProperty(required = true, value = "Details of the item linked to.") public RemoteObject getObject() { return _object; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteObject.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteObject.java index 5fb8623..c9f24e8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteObject.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoteObject.java @@ -44,7 +44,7 @@ * The linked item. */ @ApiModel(description = "The linked item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RemoteObject { @JsonProperty("url") private String url; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoveOptionFromIssuesResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoveOptionFromIssuesResult.java index 6407e11..804cd3f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoveOptionFromIssuesResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RemoveOptionFromIssuesResult.java @@ -42,7 +42,7 @@ /** * RemoveOptionFromIssuesResult */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RemoveOptionFromIssuesResult { @JsonProperty("modifiedIssues") private List modifiedIssues = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Resolution.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Resolution.java index bb45d21..d191f1e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Resolution.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Resolution.java @@ -41,7 +41,7 @@ * Details of an issue resolution. */ @ApiModel(description = "Details of an issue resolution.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Resolution { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RestrictedPermission.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RestrictedPermission.java index c09a89e..3399843 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RestrictedPermission.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RestrictedPermission.java @@ -42,7 +42,7 @@ * Details of the permission. */ @ApiModel(description = "Details of the permission.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RestrictedPermission { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RichText.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RichText.java index e9c85a5..56e2368 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RichText.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RichText.java @@ -39,30 +39,33 @@ /** * RichText */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RichText { - @JsonProperty("emptyAdf") - private Boolean emptyAdf; + @JsonProperty("finalised") + private Boolean finalised; @JsonProperty("valueSet") private Boolean valueSet; - public RichText emptyAdf(Boolean emptyAdf) { - this.emptyAdf = emptyAdf; + @JsonProperty("emptyAdf") + private Boolean emptyAdf; + + public RichText finalised(Boolean finalised) { + this.finalised = finalised; return this; } /** - * Get emptyAdf - * @return emptyAdf + * Get finalised + * @return finalised **/ @ApiModelProperty(value = "") - public Boolean getEmptyAdf() { - return emptyAdf; + public Boolean getFinalised() { + return finalised; } - public void setEmptyAdf(Boolean emptyAdf) { - this.emptyAdf = emptyAdf; + public void setFinalised(Boolean finalised) { + this.finalised = finalised; } public RichText valueSet(Boolean valueSet) { @@ -83,6 +86,24 @@ public void setValueSet(Boolean valueSet) { this.valueSet = valueSet; } + public RichText emptyAdf(Boolean emptyAdf) { + this.emptyAdf = emptyAdf; + return this; + } + + /** + * Get emptyAdf + * @return emptyAdf + **/ + @ApiModelProperty(value = "") + public Boolean getEmptyAdf() { + return emptyAdf; + } + + public void setEmptyAdf(Boolean emptyAdf) { + this.emptyAdf = emptyAdf; + } + @Override public boolean equals(java.lang.Object o) { @@ -93,13 +114,14 @@ public boolean equals(java.lang.Object o) { return false; } RichText richText = (RichText) o; - return Objects.equals(this.emptyAdf, richText.emptyAdf) && - Objects.equals(this.valueSet, richText.valueSet); + return Objects.equals(this.finalised, richText.finalised) && + Objects.equals(this.valueSet, richText.valueSet) && + Objects.equals(this.emptyAdf, richText.emptyAdf); } @Override public int hashCode() { - return Objects.hash(emptyAdf, valueSet); + return Objects.hash(finalised, valueSet, emptyAdf); } @@ -108,8 +130,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class RichText {\n"); - sb.append(" emptyAdf: ").append(toIndentedString(emptyAdf)).append("\n"); + sb.append(" finalised: ").append(toIndentedString(finalised)).append("\n"); sb.append(" valueSet: ").append(toIndentedString(valueSet)).append("\n"); + sb.append(" emptyAdf: ").append(toIndentedString(emptyAdf)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RoleActor.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RoleActor.java index 66ef04f..7ba9309 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RoleActor.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RoleActor.java @@ -43,7 +43,7 @@ * Details about a user assigned to a project role. */ @ApiModel(description = "Details about a user assigned to a project role.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RoleActor { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RuleConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RuleConfiguration.java index 9a9eaa5..8b31086 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RuleConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/RuleConfiguration.java @@ -40,11 +40,17 @@ * A rule configuration. */ @ApiModel(description = "A rule configuration.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class RuleConfiguration { @JsonProperty("value") private String value; + @JsonProperty("disabled") + private Boolean disabled = false; + + @JsonProperty("tag") + private String tag; + public RuleConfiguration value(String value) { this.value = value; return this; @@ -63,6 +69,42 @@ public void setValue(String value) { this.value = value; } + public RuleConfiguration disabled(Boolean disabled) { + this.disabled = disabled; + return this; + } + + /** + * EXPERIMENTAL: Whether the rule is disabled. + * @return disabled + **/ + @ApiModelProperty(value = "EXPERIMENTAL: Whether the rule is disabled.") + public Boolean getDisabled() { + return disabled; + } + + public void setDisabled(Boolean disabled) { + this.disabled = disabled; + } + + public RuleConfiguration tag(String tag) { + this.tag = tag; + return this; + } + + /** + * EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get). + * @return tag + **/ + @ApiModelProperty(value = "EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).") + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + @Override public boolean equals(java.lang.Object o) { @@ -73,12 +115,14 @@ public boolean equals(java.lang.Object o) { return false; } RuleConfiguration ruleConfiguration = (RuleConfiguration) o; - return Objects.equals(this.value, ruleConfiguration.value); + return Objects.equals(this.value, ruleConfiguration.value) && + Objects.equals(this.disabled, ruleConfiguration.disabled) && + Objects.equals(this.tag, ruleConfiguration.tag); } @Override public int hashCode() { - return Objects.hash(value); + return Objects.hash(value, disabled, tag); } @@ -88,6 +132,8 @@ public String toString() { sb.append("class RuleConfiguration {\n"); sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" disabled: ").append(toIndentedString(disabled)).append("\n"); + sb.append(" tag: ").append(toIndentedString(tag)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Scope.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Scope.java index eb67ce2..de1f912 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Scope.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Scope.java @@ -37,13 +37,13 @@ import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.Map; -import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectForScope; +import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectDetails; /** * The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO). */ @ApiModel(description = "The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Scope { /** * The type of scope. @@ -84,7 +84,7 @@ public static TypeEnum fromValue(String value) { private TypeEnum type; @JsonProperty("project") - private ProjectForScope project; + private ProjectDetails project; private HashMap additionalProperties_ = new HashMap(); @@ -102,7 +102,7 @@ public TypeEnum getType() { * @return project **/ @ApiModelProperty(value = "The project the item has scope in.") - public ProjectForScope getProject() { + public ProjectDetails getProject() { return project; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Screen.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Screen.java index 912eebf..a518554 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Screen.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Screen.java @@ -41,7 +41,7 @@ * A screen. */ @ApiModel(description = "A screen.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Screen { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenDetails.java index f932017..a4856bc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenDetails.java @@ -40,7 +40,7 @@ * Details of a screen. */ @ApiModel(description = "Details of a screen.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ScreenDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenID.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenID.java index 0aed93e..decf919 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenID.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenID.java @@ -40,7 +40,7 @@ * ID of a screen. */ @ApiModel(description = "ID of a screen.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ScreenID { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenScheme.java index 7ad332f..514fc9d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenScheme.java @@ -35,13 +35,14 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.everit.atlassian.restclient.jiracloud.v2.model.PageBeanIssueTypeScreenScheme; import org.everit.atlassian.restclient.jiracloud.v2.model.ScreenTypes; /** * A screen scheme. */ @ApiModel(description = "A screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ScreenScheme { @JsonProperty("id") private Long id; @@ -55,6 +56,9 @@ public class ScreenScheme { @JsonProperty("screens") private ScreenTypes screens; + @JsonProperty("issueTypeScreenSchemes") + private PageBeanIssueTypeScreenScheme issueTypeScreenSchemes; + public ScreenScheme id(Long id) { this.id = id; return this; @@ -127,6 +131,24 @@ public void setScreens(ScreenTypes screens) { this.screens = screens; } + public ScreenScheme issueTypeScreenSchemes(PageBeanIssueTypeScreenScheme issueTypeScreenSchemes) { + this.issueTypeScreenSchemes = issueTypeScreenSchemes; + return this; + } + + /** + * Details of the issue type screen schemes associated with the screen scheme. + * @return issueTypeScreenSchemes + **/ + @ApiModelProperty(value = "Details of the issue type screen schemes associated with the screen scheme.") + public PageBeanIssueTypeScreenScheme getIssueTypeScreenSchemes() { + return issueTypeScreenSchemes; + } + + public void setIssueTypeScreenSchemes(PageBeanIssueTypeScreenScheme issueTypeScreenSchemes) { + this.issueTypeScreenSchemes = issueTypeScreenSchemes; + } + @Override public boolean equals(java.lang.Object o) { @@ -140,12 +162,13 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.id, screenScheme.id) && Objects.equals(this.name, screenScheme.name) && Objects.equals(this.description, screenScheme.description) && - Objects.equals(this.screens, screenScheme.screens); + Objects.equals(this.screens, screenScheme.screens) && + Objects.equals(this.issueTypeScreenSchemes, screenScheme.issueTypeScreenSchemes); } @Override public int hashCode() { - return Objects.hash(id, name, description, screens); + return Objects.hash(id, name, description, screens, issueTypeScreenSchemes); } @@ -158,6 +181,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" screens: ").append(toIndentedString(screens)).append("\n"); + sb.append(" issueTypeScreenSchemes: ").append(toIndentedString(issueTypeScreenSchemes)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenSchemeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenSchemeDetails.java index b57877e..2bc51e0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenSchemeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenSchemeDetails.java @@ -41,7 +41,7 @@ * Details of a screen scheme. */ @ApiModel(description = "Details of a screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ScreenSchemeDetails { @JsonProperty("name") private String name; @@ -97,7 +97,7 @@ public ScreenSchemeDetails screens(ScreenTypes screens) { * The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted. * @return screens **/ - @ApiModelProperty(value = "The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.") + @ApiModelProperty(required = true, value = "The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.") public ScreenTypes getScreens() { return screens; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenSchemeId.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenSchemeId.java index 4cffd5b..b6f101e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenSchemeId.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenSchemeId.java @@ -40,7 +40,7 @@ * The ID of a screen scheme. */ @ApiModel(description = "The ID of a screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ScreenSchemeId { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenTypes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenTypes.java index 091ad96..e6f0fb9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenTypes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenTypes.java @@ -40,7 +40,7 @@ * The IDs of the screens for the screen types of the screen scheme. */ @ApiModel(description = "The IDs of the screens for the screen types of the screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ScreenTypes { @JsonProperty("edit") private Long edit; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenWithTab.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenWithTab.java new file mode 100644 index 0000000..ac151fa --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenWithTab.java @@ -0,0 +1,174 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import org.everit.atlassian.restclient.jiracloud.v2.model.Scope; +import org.everit.atlassian.restclient.jiracloud.v2.model.ScreenableTab; + +/** + * A screen with tab details. + */ +@ApiModel(description = "A screen with tab details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class ScreenWithTab { + @JsonProperty("id") + private Long id; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("scope") + private Scope scope; + + @JsonProperty("tab") + private ScreenableTab tab; + + /** + * The ID of the screen. + * @return id + **/ + @ApiModelProperty(value = "The ID of the screen.") + public Long getId() { + return id; + } + + /** + * The name of the screen. + * @return name + **/ + @ApiModelProperty(value = "The name of the screen.") + public String getName() { + return name; + } + + /** + * The description of the screen. + * @return description + **/ + @ApiModelProperty(value = "The description of the screen.") + public String getDescription() { + return description; + } + + public ScreenWithTab scope(Scope scope) { + this.scope = scope; + return this; + } + + /** + * The scope of the screen. + * @return scope + **/ + @ApiModelProperty(value = "The scope of the screen.") + public Scope getScope() { + return scope; + } + + public void setScope(Scope scope) { + this.scope = scope; + } + + public ScreenWithTab tab(ScreenableTab tab) { + this.tab = tab; + return this; + } + + /** + * The tab for the screen. + * @return tab + **/ + @ApiModelProperty(value = "The tab for the screen.") + public ScreenableTab getTab() { + return tab; + } + + public void setTab(ScreenableTab tab) { + this.tab = tab; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScreenWithTab screenWithTab = (ScreenWithTab) o; + return Objects.equals(this.id, screenWithTab.id) && + Objects.equals(this.name, screenWithTab.name) && + Objects.equals(this.description, screenWithTab.description) && + Objects.equals(this.scope, screenWithTab.scope) && + Objects.equals(this.tab, screenWithTab.tab); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, description, scope, tab); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScreenWithTab {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" tab: ").append(toIndentedString(tab)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenableField.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenableField.java index 25ab6fa..0d910b3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenableField.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenableField.java @@ -40,7 +40,7 @@ * A screen tab field. */ @ApiModel(description = "A screen tab field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ScreenableField { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenableTab.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenableTab.java index e7ce8c4..f40769a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenableTab.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ScreenableTab.java @@ -40,7 +40,7 @@ * A screen tab. */ @ApiModel(description = "A screen tab.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ScreenableTab { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchAutoCompleteFilter.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchAutoCompleteFilter.java new file mode 100644 index 0000000..91f5af7 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchAutoCompleteFilter.java @@ -0,0 +1,140 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * Details of how to filter and list search auto complete information. + */ +@ApiModel(description = "Details of how to filter and list search auto complete information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class SearchAutoCompleteFilter { + @JsonProperty("projectIds") + private List projectIds = new ArrayList<>(); + + @JsonProperty("includeCollapsedFields") + private Boolean includeCollapsedFields = false; + + public SearchAutoCompleteFilter projectIds(List projectIds) { + this.projectIds = projectIds; + return this; + } + + public SearchAutoCompleteFilter addProjectIdsItem(Long projectIdsItem) { + if (this.projectIds == null) { + this.projectIds = new ArrayList<>(); + } + this.projectIds.add(projectIdsItem); + return this; + } + + /** + * List of project IDs used to filter the visible field details returned. + * @return projectIds + **/ + @ApiModelProperty(value = "List of project IDs used to filter the visible field details returned.") + public List getProjectIds() { + return projectIds; + } + + public void setProjectIds(List projectIds) { + this.projectIds = projectIds; + } + + public SearchAutoCompleteFilter includeCollapsedFields(Boolean includeCollapsedFields) { + this.includeCollapsedFields = includeCollapsedFields; + return this; + } + + /** + * Include collapsed fields for fields that have non-unique names. + * @return includeCollapsedFields + **/ + @ApiModelProperty(value = "Include collapsed fields for fields that have non-unique names.") + public Boolean getIncludeCollapsedFields() { + return includeCollapsedFields; + } + + public void setIncludeCollapsedFields(Boolean includeCollapsedFields) { + this.includeCollapsedFields = includeCollapsedFields; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SearchAutoCompleteFilter searchAutoCompleteFilter = (SearchAutoCompleteFilter) o; + return Objects.equals(this.projectIds, searchAutoCompleteFilter.projectIds) && + Objects.equals(this.includeCollapsedFields, searchAutoCompleteFilter.includeCollapsedFields); + } + + @Override + public int hashCode() { + return Objects.hash(projectIds, includeCollapsedFields); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SearchAutoCompleteFilter {\n"); + + sb.append(" projectIds: ").append(toIndentedString(projectIds)).append("\n"); + sb.append(" includeCollapsedFields: ").append(toIndentedString(includeCollapsedFields)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchRequestBean.java index 06f353c..58b53cc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchRequestBean.java @@ -41,7 +41,7 @@ /** * SearchRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SearchRequestBean { @JsonProperty("jql") private String jql; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchResults.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchResults.java index 4e89624..628bce9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchResults.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SearchResults.java @@ -46,7 +46,7 @@ * The result of a JQL search. */ @ApiModel(description = "The result of a JQL search.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SearchResults { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecurityLevel.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecurityLevel.java index 9db1fc1..065a2ff 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecurityLevel.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecurityLevel.java @@ -40,7 +40,7 @@ * Details of an issue level security item. */ @ApiModel(description = "Details of an issue level security item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SecurityLevel { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecurityScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecurityScheme.java index dd1e990..df459d3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecurityScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecurityScheme.java @@ -43,7 +43,7 @@ * Details about a security scheme. */ @ApiModel(description = "Details about a security scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SecurityScheme { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecuritySchemes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecuritySchemes.java index 5f450a2..76d539d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecuritySchemes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SecuritySchemes.java @@ -43,7 +43,7 @@ * List of security schemes. */ @ApiModel(description = "List of security schemes.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SecuritySchemes { @JsonProperty("issueSecuritySchemes") private List issueSecuritySchemes = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ServerInformation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ServerInformation.java index c1089d6..d9550da 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ServerInformation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ServerInformation.java @@ -44,7 +44,7 @@ * Details about the Jira instance. */ @ApiModel(description = "Details about the Jira instance.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ServerInformation { @JsonProperty("baseUrl") private String baseUrl; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SharePermission.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SharePermission.java index 928c15a..77d996d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SharePermission.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SharePermission.java @@ -38,20 +38,23 @@ import org.everit.atlassian.restclient.jiracloud.v2.model.GroupName; import org.everit.atlassian.restclient.jiracloud.v2.model.Project; import org.everit.atlassian.restclient.jiracloud.v2.model.ProjectRole; +import org.everit.atlassian.restclient.jiracloud.v2.model.UserBean; /** * Details of a share permission for the filter. */ @ApiModel(description = "Details of a share permission for the filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SharePermission { @JsonProperty("id") private Long id; /** - * The type of share permission: * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request. + * The type of share permission: * `user` Shared with a user. * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request. */ public enum TypeEnum { + USER("user"), + GROUP("group"), PROJECT("project"), @@ -105,6 +108,9 @@ public static TypeEnum fromValue(String value) { @JsonProperty("group") private GroupName group; + @JsonProperty("user") + private UserBean user; + /** * The unique identifier of the share permission. * @return id @@ -120,10 +126,10 @@ public SharePermission type(TypeEnum type) { } /** - * The type of share permission: * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request. + * The type of share permission: * `user` Shared with a user. * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request. * @return type **/ - @ApiModelProperty(required = true, value = "The type of share permission: * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.") + @ApiModelProperty(required = true, value = "The type of share permission: * `user` Shared with a user. * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.") public TypeEnum getType() { return type; } @@ -186,6 +192,24 @@ public void setGroup(GroupName group) { this.group = group; } + public SharePermission user(UserBean user) { + this.user = user; + return this; + } + + /** + * The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user. + * @return user + **/ + @ApiModelProperty(value = "The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user.") + public UserBean getUser() { + return user; + } + + public void setUser(UserBean user) { + this.user = user; + } + @Override public boolean equals(java.lang.Object o) { @@ -200,12 +224,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.type, sharePermission.type) && Objects.equals(this.project, sharePermission.project) && Objects.equals(this.role, sharePermission.role) && - Objects.equals(this.group, sharePermission.group); + Objects.equals(this.group, sharePermission.group) && + Objects.equals(this.user, sharePermission.user); } @Override public int hashCode() { - return Objects.hash(id, type, project, role, group); + return Objects.hash(id, type, project, role, group, user); } @@ -219,6 +244,7 @@ public String toString() { sb.append(" project: ").append(toIndentedString(project)).append("\n"); sb.append(" role: ").append(toIndentedString(role)).append("\n"); sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SharePermissionInputBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SharePermissionInputBean.java index 45ae557..4a96118 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SharePermissionInputBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SharePermissionInputBean.java @@ -39,12 +39,14 @@ /** * SharePermissionInputBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SharePermissionInputBean { /** - * The type of the share permission.Specify the type as follows: * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. + * The type of the share permission.Specify the type as follows: * `user` Share with a user. * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. */ public enum TypeEnum { + USER("user"), + PROJECT("project"), GROUP("group"), @@ -94,16 +96,22 @@ public static TypeEnum fromValue(String value) { @JsonProperty("projectRoleId") private String projectRoleId; + @JsonProperty("accountId") + private String accountId; + + @JsonProperty("rights") + private Integer rights; + public SharePermissionInputBean type(TypeEnum type) { this.type = type; return this; } /** - * The type of the share permission.Specify the type as follows: * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. + * The type of the share permission.Specify the type as follows: * `user` Share with a user. * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * @return type **/ - @ApiModelProperty(required = true, value = "The type of the share permission.Specify the type as follows: * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.") + @ApiModelProperty(required = true, value = "The type of the share permission.Specify the type as follows: * `user` Share with a user. * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.") public TypeEnum getType() { return type; } @@ -166,6 +174,42 @@ public void setProjectRoleId(String projectRoleId) { this.projectRoleId = projectRoleId; } + public SharePermissionInputBean accountId(String accountId) { + this.accountId = accountId; + return this; + } + + /** + * The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user. + * @return accountId + **/ + @ApiModelProperty(value = "The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user.") + public String getAccountId() { + return accountId; + } + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + public SharePermissionInputBean rights(Integer rights) { + this.rights = rights; + return this; + } + + /** + * The rights for the share permission. + * @return rights + **/ + @ApiModelProperty(value = "The rights for the share permission.") + public Integer getRights() { + return rights; + } + + public void setRights(Integer rights) { + this.rights = rights; + } + @Override public boolean equals(java.lang.Object o) { @@ -179,12 +223,14 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.type, sharePermissionInputBean.type) && Objects.equals(this.projectId, sharePermissionInputBean.projectId) && Objects.equals(this.groupname, sharePermissionInputBean.groupname) && - Objects.equals(this.projectRoleId, sharePermissionInputBean.projectRoleId); + Objects.equals(this.projectRoleId, sharePermissionInputBean.projectRoleId) && + Objects.equals(this.accountId, sharePermissionInputBean.accountId) && + Objects.equals(this.rights, sharePermissionInputBean.rights); } @Override public int hashCode() { - return Objects.hash(type, projectId, groupname, projectRoleId); + return Objects.hash(type, projectId, groupname, projectRoleId, accountId, rights); } @@ -197,6 +243,8 @@ public String toString() { sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); sb.append(" groupname: ").append(toIndentedString(groupname)).append("\n"); sb.append(" projectRoleId: ").append(toIndentedString(projectRoleId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" rights: ").append(toIndentedString(rights)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleApplicationPropertyBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleApplicationPropertyBean.java index 8f25ee4..5f92573 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleApplicationPropertyBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleApplicationPropertyBean.java @@ -39,7 +39,7 @@ /** * SimpleApplicationPropertyBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SimpleApplicationPropertyBean { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleErrorCollection.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleErrorCollection.java index 1b58ec0..54815cb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleErrorCollection.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleErrorCollection.java @@ -43,7 +43,7 @@ /** * SimpleErrorCollection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SimpleErrorCollection { @JsonProperty("errors") private Map errors = new HashMap<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleLink.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleLink.java index 1058b1b..10a7c84 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleLink.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleLink.java @@ -40,7 +40,7 @@ * Details about the operations available in this version. */ @ApiModel(description = "Details about the operations available in this version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SimpleLink { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleListWrapperApplicationRole.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleListWrapperApplicationRole.java index c22eed4..f259717 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleListWrapperApplicationRole.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleListWrapperApplicationRole.java @@ -42,7 +42,7 @@ /** * SimpleListWrapperApplicationRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SimpleListWrapperApplicationRole { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleListWrapperGroupName.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleListWrapperGroupName.java index b4590f3..05649c6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleListWrapperGroupName.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SimpleListWrapperGroupName.java @@ -42,7 +42,7 @@ /** * SimpleListWrapperGroupName */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SimpleListWrapperGroupName { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Status.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Status.java index de0868d..cba27fe 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Status.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Status.java @@ -43,7 +43,7 @@ * The status of the item. */ @ApiModel(description = "The status of the item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Status { @JsonProperty("resolved") private Boolean resolved; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusCategory.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusCategory.java index 8ba056a..c49c70b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusCategory.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusCategory.java @@ -42,7 +42,7 @@ * A status category. */ @ApiModel(description = "A status category.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class StatusCategory { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusDetails.java index 372b0f5..a7ee8ff 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusDetails.java @@ -43,7 +43,7 @@ * A status. */ @ApiModel(description = "A status.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class StatusDetails { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusMapping.java new file mode 100644 index 0000000..1a556e9 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/StatusMapping.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details about the mapping from a status to a new status for an issue type. + */ +@ApiModel(description = "Details about the mapping from a status to a new status for an issue type.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class StatusMapping { + @JsonProperty("issueTypeId") + private String issueTypeId; + + @JsonProperty("statusId") + private String statusId; + + @JsonProperty("newStatusId") + private String newStatusId; + + public StatusMapping issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the issue type. + * @return issueTypeId + **/ + @ApiModelProperty(required = true, value = "The ID of the issue type.") + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + public StatusMapping statusId(String statusId) { + this.statusId = statusId; + return this; + } + + /** + * The ID of the status. + * @return statusId + **/ + @ApiModelProperty(required = true, value = "The ID of the status.") + public String getStatusId() { + return statusId; + } + + public void setStatusId(String statusId) { + this.statusId = statusId; + } + + public StatusMapping newStatusId(String newStatusId) { + this.newStatusId = newStatusId; + return this; + } + + /** + * The ID of the new status. + * @return newStatusId + **/ + @ApiModelProperty(required = true, value = "The ID of the new status.") + public String getNewStatusId() { + return newStatusId; + } + + public void setNewStatusId(String newStatusId) { + this.newStatusId = newStatusId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusMapping statusMapping = (StatusMapping) o; + return Objects.equals(this.issueTypeId, statusMapping.issueTypeId) && + Objects.equals(this.statusId, statusMapping.statusId) && + Objects.equals(this.newStatusId, statusMapping.newStatusId); + } + + @Override + public int hashCode() { + return Objects.hash(issueTypeId, statusId, newStatusId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusMapping {\n"); + + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append(" statusId: ").append(toIndentedString(statusId)).append("\n"); + sb.append(" newStatusId: ").append(toIndentedString(newStatusId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SuggestedIssue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SuggestedIssue.java index 0dbd4b0..ce4f9d8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SuggestedIssue.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SuggestedIssue.java @@ -40,7 +40,7 @@ * An issue suggested for use in the issue picker auto-completion. */ @ApiModel(description = "An issue suggested for use in the issue picker auto-completion.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SuggestedIssue { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SystemAvatars.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SystemAvatars.java index 6d170eb..8cf44ab 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SystemAvatars.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/SystemAvatars.java @@ -43,7 +43,7 @@ * List of system avatars. */ @ApiModel(description = "List of system avatars.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class SystemAvatars { @JsonProperty("system") private List system = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TaskProgressBeanObject.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TaskProgressBeanObject.java index c6cdaf1..60f99d6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TaskProgressBeanObject.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TaskProgressBeanObject.java @@ -41,7 +41,7 @@ * Details about a task. */ @ApiModel(description = "Details about a task.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class TaskProgressBeanObject { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TaskProgressBeanRemoveOptionFromIssuesResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TaskProgressBeanRemoveOptionFromIssuesResult.java index 582a0b7..eff245b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TaskProgressBeanRemoveOptionFromIssuesResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TaskProgressBeanRemoveOptionFromIssuesResult.java @@ -42,7 +42,7 @@ * Details about a task. */ @ApiModel(description = "Details about a task.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class TaskProgressBeanRemoveOptionFromIssuesResult { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingConfiguration.java index 9f67e27..6924c87 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingConfiguration.java @@ -40,7 +40,7 @@ * Details of the time tracking configuration. */ @ApiModel(description = "Details of the time tracking configuration.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class TimeTrackingConfiguration { @JsonProperty("workingHoursPerDay") private Double workingHoursPerDay; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingDetails.java index 8ddacb6..1ea29f4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingDetails.java @@ -40,7 +40,7 @@ * Time tracking details. */ @ApiModel(description = "Time tracking details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class TimeTrackingDetails { @JsonProperty("originalEstimate") private String originalEstimate; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingProvider.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingProvider.java index 69cc778..4ee2575 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingProvider.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/TimeTrackingProvider.java @@ -40,7 +40,7 @@ * Details about the time tracking provider. */ @ApiModel(description = "Details about the time tracking provider.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class TimeTrackingProvider { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Transition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Transition.java index 47e1273..140a317 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Transition.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Transition.java @@ -44,7 +44,7 @@ * Details of a workflow transition. */ @ApiModel(description = "Details of a workflow transition.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Transition { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Transitions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Transitions.java index 1b6ab26..a61b0e1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Transitions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Transitions.java @@ -43,7 +43,7 @@ * List of issue transitions. */ @ApiModel(description = "List of issue transitions.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Transitions { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UnrestrictedUserEmail.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UnrestrictedUserEmail.java index c830960..06aff64 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UnrestrictedUserEmail.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UnrestrictedUserEmail.java @@ -39,7 +39,7 @@ /** * UnrestrictedUserEmail */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UnrestrictedUserEmail { @JsonProperty("accountId") private String accountId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateCustomFieldDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateCustomFieldDetails.java new file mode 100644 index 0000000..19d9d37 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateCustomFieldDetails.java @@ -0,0 +1,210 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a custom field. + */ +@ApiModel(description = "Details of a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class UpdateCustomFieldDetails { + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + /** + * The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` + */ + public enum SearcherKeyEnum { + CASCADINGSELECTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher"), + + DATERANGE("com.atlassian.jira.plugin.system.customfieldtypes:daterange"), + + DATETIMERANGE("com.atlassian.jira.plugin.system.customfieldtypes:datetimerange"), + + EXACTNUMBER("com.atlassian.jira.plugin.system.customfieldtypes:exactnumber"), + + EXACTTEXTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher"), + + GROUPPICKERSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher"), + + LABELSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher"), + + MULTISELECTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher"), + + NUMBERRANGE("com.atlassian.jira.plugin.system.customfieldtypes:numberrange"), + + PROJECTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher"), + + TEXTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:textsearcher"), + + USERPICKERGROUPSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher"), + + VERSIONSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher"); + + private String value; + + SearcherKeyEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static SearcherKeyEnum fromValue(String value) { + for (SearcherKeyEnum b : SearcherKeyEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("searcherKey") + private SearcherKeyEnum searcherKey; + + public UpdateCustomFieldDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters. + * @return name + **/ + @ApiModelProperty(value = "The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public UpdateCustomFieldDetails description(String description) { + this.description = description; + return this; + } + + /** + * The description of the custom field. The maximum length is 40000 characters. + * @return description + **/ + @ApiModelProperty(value = "The description of the custom field. The maximum length is 40000 characters.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public UpdateCustomFieldDetails searcherKey(SearcherKeyEnum searcherKey) { + this.searcherKey = searcherKey; + return this; + } + + /** + * The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` + * @return searcherKey + **/ + @ApiModelProperty(value = "The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher`") + public SearcherKeyEnum getSearcherKey() { + return searcherKey; + } + + public void setSearcherKey(SearcherKeyEnum searcherKey) { + this.searcherKey = searcherKey; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCustomFieldDetails updateCustomFieldDetails = (UpdateCustomFieldDetails) o; + return Objects.equals(this.name, updateCustomFieldDetails.name) && + Objects.equals(this.description, updateCustomFieldDetails.description) && + Objects.equals(this.searcherKey, updateCustomFieldDetails.searcherKey); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, searcherKey); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCustomFieldDetails {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" searcherKey: ").append(toIndentedString(searcherKey)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateDefaultScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateDefaultScreenScheme.java new file mode 100644 index 0000000..f3af164 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateDefaultScreenScheme.java @@ -0,0 +1,107 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The ID of a screen scheme. + */ +@ApiModel(description = "The ID of a screen scheme.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class UpdateDefaultScreenScheme { + @JsonProperty("screenSchemeId") + private String screenSchemeId; + + public UpdateDefaultScreenScheme screenSchemeId(String screenSchemeId) { + this.screenSchemeId = screenSchemeId; + return this; + } + + /** + * The ID of the screen scheme. + * @return screenSchemeId + **/ + @ApiModelProperty(required = true, value = "The ID of the screen scheme.") + public String getScreenSchemeId() { + return screenSchemeId; + } + + public void setScreenSchemeId(String screenSchemeId) { + this.screenSchemeId = screenSchemeId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateDefaultScreenScheme updateDefaultScreenScheme = (UpdateDefaultScreenScheme) o; + return Objects.equals(this.screenSchemeId, updateDefaultScreenScheme.screenSchemeId); + } + + @Override + public int hashCode() { + return Objects.hash(screenSchemeId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateDefaultScreenScheme {\n"); + + sb.append(" screenSchemeId: ").append(toIndentedString(screenSchemeId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateProjectDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateProjectDetails.java new file mode 100644 index 0000000..02a18a0 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateProjectDetails.java @@ -0,0 +1,395 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details about the project. + */ +@ApiModel(description = "Details about the project.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class UpdateProjectDetails { + @JsonProperty("key") + private String key; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("lead") + private String lead; + + @JsonProperty("leadAccountId") + private String leadAccountId; + + @JsonProperty("url") + private String url; + + /** + * The default assignee when creating issues for this project. + */ + public enum AssigneeTypeEnum { + PROJECT_LEAD("PROJECT_LEAD"), + + UNASSIGNED("UNASSIGNED"); + + private String value; + + AssigneeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AssigneeTypeEnum fromValue(String value) { + for (AssigneeTypeEnum b : AssigneeTypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("assigneeType") + private AssigneeTypeEnum assigneeType; + + @JsonProperty("avatarId") + private Long avatarId; + + @JsonProperty("issueSecurityScheme") + private Long issueSecurityScheme; + + @JsonProperty("permissionScheme") + private Long permissionScheme; + + @JsonProperty("notificationScheme") + private Long notificationScheme; + + @JsonProperty("categoryId") + private Long categoryId; + + public UpdateProjectDetails key(String key) { + this.key = key; + return this; + } + + /** + * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters. + * @return key + **/ + @ApiModelProperty(value = "Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters.") + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public UpdateProjectDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the project. + * @return name + **/ + @ApiModelProperty(value = "The name of the project.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public UpdateProjectDetails description(String description) { + this.description = description; + return this; + } + + /** + * A brief description of the project. + * @return description + **/ + @ApiModelProperty(value = "A brief description of the project.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public UpdateProjectDetails lead(String lead) { + this.lead = lead; + return this; + } + + /** + * This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Cannot be provided with `leadAccountId`. + * @return lead + **/ + @ApiModelProperty(value = "This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Cannot be provided with `leadAccountId`.") + public String getLead() { + return lead; + } + + public void setLead(String lead) { + this.lead = lead; + } + + public UpdateProjectDetails leadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + return this; + } + + /** + * The account ID of the project lead. Cannot be provided with `lead`. + * @return leadAccountId + **/ + @ApiModelProperty(value = "The account ID of the project lead. Cannot be provided with `lead`.") + public String getLeadAccountId() { + return leadAccountId; + } + + public void setLeadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + } + + public UpdateProjectDetails url(String url) { + this.url = url; + return this; + } + + /** + * A link to information about this project, such as project documentation + * @return url + **/ + @ApiModelProperty(value = "A link to information about this project, such as project documentation") + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public UpdateProjectDetails assigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + return this; + } + + /** + * The default assignee when creating issues for this project. + * @return assigneeType + **/ + @ApiModelProperty(value = "The default assignee when creating issues for this project.") + public AssigneeTypeEnum getAssigneeType() { + return assigneeType; + } + + public void setAssigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + } + + public UpdateProjectDetails avatarId(Long avatarId) { + this.avatarId = avatarId; + return this; + } + + /** + * An integer value for the project's avatar. + * @return avatarId + **/ + @ApiModelProperty(value = "An integer value for the project's avatar.") + public Long getAvatarId() { + return avatarId; + } + + public void setAvatarId(Long avatarId) { + this.avatarId = avatarId; + } + + public UpdateProjectDetails issueSecurityScheme(Long issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + return this; + } + + /** + * The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security scheme IDs. + * @return issueSecurityScheme + **/ + @ApiModelProperty(value = "The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security scheme IDs.") + public Long getIssueSecurityScheme() { + return issueSecurityScheme; + } + + public void setIssueSecurityScheme(Long issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + } + + public UpdateProjectDetails permissionScheme(Long permissionScheme) { + this.permissionScheme = permissionScheme; + return this; + } + + /** + * The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs. + * @return permissionScheme + **/ + @ApiModelProperty(value = "The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs.") + public Long getPermissionScheme() { + return permissionScheme; + } + + public void setPermissionScheme(Long permissionScheme) { + this.permissionScheme = permissionScheme; + } + + public UpdateProjectDetails notificationScheme(Long notificationScheme) { + this.notificationScheme = notificationScheme; + return this; + } + + /** + * The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs. + * @return notificationScheme + **/ + @ApiModelProperty(value = "The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs.") + public Long getNotificationScheme() { + return notificationScheme; + } + + public void setNotificationScheme(Long notificationScheme) { + this.notificationScheme = notificationScheme; + } + + public UpdateProjectDetails categoryId(Long categoryId) { + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation. + * @return categoryId + **/ + @ApiModelProperty(value = "The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation.") + public Long getCategoryId() { + return categoryId; + } + + public void setCategoryId(Long categoryId) { + this.categoryId = categoryId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateProjectDetails updateProjectDetails = (UpdateProjectDetails) o; + return Objects.equals(this.key, updateProjectDetails.key) && + Objects.equals(this.name, updateProjectDetails.name) && + Objects.equals(this.description, updateProjectDetails.description) && + Objects.equals(this.lead, updateProjectDetails.lead) && + Objects.equals(this.leadAccountId, updateProjectDetails.leadAccountId) && + Objects.equals(this.url, updateProjectDetails.url) && + Objects.equals(this.assigneeType, updateProjectDetails.assigneeType) && + Objects.equals(this.avatarId, updateProjectDetails.avatarId) && + Objects.equals(this.issueSecurityScheme, updateProjectDetails.issueSecurityScheme) && + Objects.equals(this.permissionScheme, updateProjectDetails.permissionScheme) && + Objects.equals(this.notificationScheme, updateProjectDetails.notificationScheme) && + Objects.equals(this.categoryId, updateProjectDetails.categoryId); + } + + @Override + public int hashCode() { + return Objects.hash(key, name, description, lead, leadAccountId, url, assigneeType, avatarId, issueSecurityScheme, permissionScheme, notificationScheme, categoryId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateProjectDetails {\n"); + + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" lead: ").append(toIndentedString(lead)).append("\n"); + sb.append(" leadAccountId: ").append(toIndentedString(leadAccountId)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); + sb.append(" avatarId: ").append(toIndentedString(avatarId)).append("\n"); + sb.append(" issueSecurityScheme: ").append(toIndentedString(issueSecurityScheme)).append("\n"); + sb.append(" permissionScheme: ").append(toIndentedString(permissionScheme)).append("\n"); + sb.append(" notificationScheme: ").append(toIndentedString(notificationScheme)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenDetails.java index 09b1ee1..1f8bd86 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenDetails.java @@ -40,7 +40,7 @@ * Details of a screen. */ @ApiModel(description = "Details of a screen.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UpdateScreenDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenSchemeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenSchemeDetails.java index 8d11d78..a320bc2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenSchemeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenSchemeDetails.java @@ -41,7 +41,7 @@ * Details of a screen scheme. */ @ApiModel(description = "Details of a screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UpdateScreenSchemeDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenTypes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenTypes.java index 4283d43..676c060 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenTypes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateScreenTypes.java @@ -40,7 +40,7 @@ * The IDs of the screens for the screen types of the screen scheme. */ @ApiModel(description = "The IDs of the screens for the screen types of the screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UpdateScreenTypes { @JsonProperty("edit") private String edit; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateUserToGroupBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateUserToGroupBean.java index 8499a4d..129f17b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateUserToGroupBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdateUserToGroupBean.java @@ -41,7 +41,7 @@ /** * UpdateUserToGroupBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UpdateUserToGroupBean { @JsonProperty("name") private String name; @@ -57,10 +57,10 @@ public UpdateUserToGroupBean name(String name) { } /** - * This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. * @return name **/ - @ApiModelProperty(value = "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + @ApiModelProperty(value = "This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") public String getName() { return name; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdatedProjectCategory.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdatedProjectCategory.java index 7642577..abbaf05 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdatedProjectCategory.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UpdatedProjectCategory.java @@ -40,7 +40,7 @@ * A project category. */ @ApiModel(description = "A project category.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UpdatedProjectCategory { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/User.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/User.java index fba92b2..04aba80 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/User.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/User.java @@ -44,7 +44,7 @@ * A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values. */ @ApiModel(description = "A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class User { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserBean.java index 760c7e7..474cee0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserBean.java @@ -41,7 +41,7 @@ /** * UserBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UserBean { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserBeanAvatarUrls.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserBeanAvatarUrls.java index 86a90e1..d97b61d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserBeanAvatarUrls.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserBeanAvatarUrls.java @@ -40,36 +40,36 @@ /** * UserBeanAvatarUrls */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UserBeanAvatarUrls { - @JsonProperty("24x24") - private URI _24x24; + @JsonProperty("48x48") + private URI _48x48; @JsonProperty("32x32") private URI _32x32; - @JsonProperty("48x48") - private URI _48x48; - @JsonProperty("16x16") private URI _16x16; - public UserBeanAvatarUrls _24x24(URI _24x24) { - this._24x24 = _24x24; + @JsonProperty("24x24") + private URI _24x24; + + public UserBeanAvatarUrls _48x48(URI _48x48) { + this._48x48 = _48x48; return this; } /** - * The URL of the user's 24x24 pixel avatar. - * @return _24x24 + * The URL of the user's 48x48 pixel avatar. + * @return _48x48 **/ - @ApiModelProperty(value = "The URL of the user's 24x24 pixel avatar.") - public URI get24x24() { - return _24x24; + @ApiModelProperty(value = "The URL of the user's 48x48 pixel avatar.") + public URI get48x48() { + return _48x48; } - public void set24x24(URI _24x24) { - this._24x24 = _24x24; + public void set48x48(URI _48x48) { + this._48x48 = _48x48; } public UserBeanAvatarUrls _32x32(URI _32x32) { @@ -90,24 +90,6 @@ public void set32x32(URI _32x32) { this._32x32 = _32x32; } - public UserBeanAvatarUrls _48x48(URI _48x48) { - this._48x48 = _48x48; - return this; - } - - /** - * The URL of the user's 48x48 pixel avatar. - * @return _48x48 - **/ - @ApiModelProperty(value = "The URL of the user's 48x48 pixel avatar.") - public URI get48x48() { - return _48x48; - } - - public void set48x48(URI _48x48) { - this._48x48 = _48x48; - } - public UserBeanAvatarUrls _16x16(URI _16x16) { this._16x16 = _16x16; return this; @@ -126,6 +108,24 @@ public void set16x16(URI _16x16) { this._16x16 = _16x16; } + public UserBeanAvatarUrls _24x24(URI _24x24) { + this._24x24 = _24x24; + return this; + } + + /** + * The URL of the user's 24x24 pixel avatar. + * @return _24x24 + **/ + @ApiModelProperty(value = "The URL of the user's 24x24 pixel avatar.") + public URI get24x24() { + return _24x24; + } + + public void set24x24(URI _24x24) { + this._24x24 = _24x24; + } + @Override public boolean equals(java.lang.Object o) { @@ -136,15 +136,15 @@ public boolean equals(java.lang.Object o) { return false; } UserBeanAvatarUrls userBeanAvatarUrls = (UserBeanAvatarUrls) o; - return Objects.equals(this._24x24, userBeanAvatarUrls._24x24) && + return Objects.equals(this._48x48, userBeanAvatarUrls._48x48) && Objects.equals(this._32x32, userBeanAvatarUrls._32x32) && - Objects.equals(this._48x48, userBeanAvatarUrls._48x48) && - Objects.equals(this._16x16, userBeanAvatarUrls._16x16); + Objects.equals(this._16x16, userBeanAvatarUrls._16x16) && + Objects.equals(this._24x24, userBeanAvatarUrls._24x24); } @Override public int hashCode() { - return Objects.hash(_24x24, _32x32, _48x48, _16x16); + return Objects.hash(_48x48, _32x32, _16x16, _24x24); } @@ -153,10 +153,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class UserBeanAvatarUrls {\n"); - sb.append(" _24x24: ").append(toIndentedString(_24x24)).append("\n"); - sb.append(" _32x32: ").append(toIndentedString(_32x32)).append("\n"); sb.append(" _48x48: ").append(toIndentedString(_48x48)).append("\n"); + sb.append(" _32x32: ").append(toIndentedString(_32x32)).append("\n"); sb.append(" _16x16: ").append(toIndentedString(_16x16)).append("\n"); + sb.append(" _24x24: ").append(toIndentedString(_24x24)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserDetails.java index 3ac7894..e52b5f0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserDetails.java @@ -41,7 +41,7 @@ * User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values. */ @ApiModel(description = "User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UserDetails { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserKey.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserKey.java index 22e3b5a..7549a55 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserKey.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserKey.java @@ -40,7 +40,7 @@ * List of user account IDs. */ @ApiModel(description = "List of user account IDs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UserKey { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserList.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserList.java index d23b5c1..a8ff898 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserList.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserList.java @@ -43,7 +43,7 @@ * A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with. */ @ApiModel(description = "A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UserList { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserMigrationBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserMigrationBean.java index 8737734..5323937 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserMigrationBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserMigrationBean.java @@ -39,7 +39,7 @@ /** * UserMigrationBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UserMigrationBean { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserPermission.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserPermission.java index acca041..e3adb68 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserPermission.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserPermission.java @@ -42,7 +42,7 @@ * Details of a permission and its availability to a user. */ @ApiModel(description = "Details of a permission and its availability to a user.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UserPermission { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserPickerUser.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserPickerUser.java index 56f7e18..3168a58 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserPickerUser.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/UserPickerUser.java @@ -41,7 +41,7 @@ * A user found in a search. */ @ApiModel(description = "A user found in a search.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class UserPickerUser { @JsonProperty("accountId") private String accountId; @@ -85,10 +85,10 @@ public UserPickerUser name(String name) { } /** - * This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * This property is no longer available . See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. * @return name **/ - @ApiModelProperty(value = "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + @ApiModelProperty(value = "This property is no longer available . See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") public String getName() { return name; } @@ -103,10 +103,10 @@ public UserPickerUser key(String key) { } /** - * This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. * @return key **/ - @ApiModelProperty(value = "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + @ApiModelProperty(value = "This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") public String getKey() { return key; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ValueOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ValueOperand.java index fca9f52..1c08915 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ValueOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/ValueOperand.java @@ -40,7 +40,7 @@ * An operand that is a user-provided value. */ @ApiModel(description = "An operand that is a user-provided value.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class ValueOperand { @JsonProperty("value") private String value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Version.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Version.java index 1c39bbb..185236d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Version.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Version.java @@ -46,7 +46,7 @@ * Details about a project version. */ @ApiModel(description = "Details about a project version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Version { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionIssueCounts.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionIssueCounts.java index 5e5008a..f099231 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionIssueCounts.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionIssueCounts.java @@ -44,7 +44,7 @@ * Various counts of issues within a version. */ @ApiModel(description = "Various counts of issues within a version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class VersionIssueCounts { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionIssuesStatus.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionIssuesStatus.java index 322019d..0f97eee 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionIssuesStatus.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionIssuesStatus.java @@ -42,7 +42,7 @@ * Counts of the number of issues in various statuses. */ @ApiModel(description = "Counts of the number of issues in various statuses.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class VersionIssuesStatus { @JsonProperty("unmapped") private Long unmapped; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionMoveBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionMoveBean.java index d098efe..4b1da6f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionMoveBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionMoveBean.java @@ -40,7 +40,7 @@ /** * VersionMoveBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class VersionMoveBean { @JsonProperty("after") private URI after; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionUnresolvedIssuesCount.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionUnresolvedIssuesCount.java index 5c92cd1..6174fac 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionUnresolvedIssuesCount.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionUnresolvedIssuesCount.java @@ -41,7 +41,7 @@ * Count of a version's unresolved issues. */ @ApiModel(description = "Count of a version's unresolved issues.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class VersionUnresolvedIssuesCount { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionUsageInCustomField.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionUsageInCustomField.java index e00df92..53e4615 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionUsageInCustomField.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/VersionUsageInCustomField.java @@ -40,7 +40,7 @@ * List of custom fields using the version. */ @ApiModel(description = "List of custom fields using the version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class VersionUsageInCustomField { @JsonProperty("fieldName") private String fieldName; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Visibility.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Visibility.java index c4c1357..bdd9c1d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Visibility.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Visibility.java @@ -42,7 +42,7 @@ * The group or role to which this item is visible. */ @ApiModel(description = "The group or role to which this item is visible.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Visibility { /** * Whether visibility of this item is restricted to a group or role. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Votes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Votes.java index 835d58e..6ede320 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Votes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Votes.java @@ -44,7 +44,7 @@ * The details of votes on an issue. */ @ApiModel(description = "The details of votes on an issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Votes { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Watchers.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Watchers.java index c0d2ed4..d17c17d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Watchers.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Watchers.java @@ -43,7 +43,7 @@ * The details of watchers on an issue. */ @ApiModel(description = "The details of watchers on an issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Watchers { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Webhook.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Webhook.java index dca1c46..fa3d5b8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Webhook.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Webhook.java @@ -42,7 +42,7 @@ * A webhook. */ @ApiModel(description = "A webhook.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Webhook { @JsonProperty("id") private Long id; @@ -50,6 +50,12 @@ public class Webhook { @JsonProperty("jqlFilter") private String jqlFilter; + @JsonProperty("fieldIdsFilter") + private List fieldIdsFilter = new ArrayList<>(); + + @JsonProperty("issuePropertyKeysFilter") + private List issuePropertyKeysFilter = new ArrayList<>(); + /** * Gets or Sets events */ @@ -139,15 +145,64 @@ public void setJqlFilter(String jqlFilter) { this.jqlFilter = jqlFilter; } + public Webhook fieldIdsFilter(List fieldIdsFilter) { + this.fieldIdsFilter = fieldIdsFilter; + return this; + } + + public Webhook addFieldIdsFilterItem(String fieldIdsFilterItem) { + if (this.fieldIdsFilter == null) { + this.fieldIdsFilter = new ArrayList<>(); + } + this.fieldIdsFilter.add(fieldIdsFilterItem); + return this; + } + + /** + * A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates. + * @return fieldIdsFilter + **/ + @ApiModelProperty(value = "A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.") + public List getFieldIdsFilter() { + return fieldIdsFilter; + } + + public void setFieldIdsFilter(List fieldIdsFilter) { + this.fieldIdsFilter = fieldIdsFilter; + } + + public Webhook issuePropertyKeysFilter(List issuePropertyKeysFilter) { + this.issuePropertyKeysFilter = issuePropertyKeysFilter; + return this; + } + + public Webhook addIssuePropertyKeysFilterItem(String issuePropertyKeysFilterItem) { + if (this.issuePropertyKeysFilter == null) { + this.issuePropertyKeysFilter = new ArrayList<>(); + } + this.issuePropertyKeysFilter.add(issuePropertyKeysFilterItem); + return this; + } + + /** + * A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates. + * @return issuePropertyKeysFilter + **/ + @ApiModelProperty(value = "A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.") + public List getIssuePropertyKeysFilter() { + return issuePropertyKeysFilter; + } + + public void setIssuePropertyKeysFilter(List issuePropertyKeysFilter) { + this.issuePropertyKeysFilter = issuePropertyKeysFilter; + } + public Webhook events(List events) { this.events = events; return this; } public Webhook addEventsItem(EventsEnum eventsItem) { - if (this.events == null) { - this.events = new ArrayList<>(); - } this.events.add(eventsItem); return this; } @@ -156,7 +211,7 @@ public Webhook addEventsItem(EventsEnum eventsItem) { * The Jira events that trigger the webhook. * @return events **/ - @ApiModelProperty(value = "The Jira events that trigger the webhook.") + @ApiModelProperty(required = true, value = "The Jira events that trigger the webhook.") public List getEvents() { return events; } @@ -169,7 +224,7 @@ public void setEvents(List events) { * Get expirationDate * @return expirationDate **/ - @ApiModelProperty(required = true, value = "") + @ApiModelProperty(value = "") public Long getExpirationDate() { return expirationDate; } @@ -186,13 +241,15 @@ public boolean equals(java.lang.Object o) { Webhook webhook = (Webhook) o; return Objects.equals(this.id, webhook.id) && Objects.equals(this.jqlFilter, webhook.jqlFilter) && + Objects.equals(this.fieldIdsFilter, webhook.fieldIdsFilter) && + Objects.equals(this.issuePropertyKeysFilter, webhook.issuePropertyKeysFilter) && Objects.equals(this.events, webhook.events) && Objects.equals(this.expirationDate, webhook.expirationDate); } @Override public int hashCode() { - return Objects.hash(id, jqlFilter, events, expirationDate); + return Objects.hash(id, jqlFilter, fieldIdsFilter, issuePropertyKeysFilter, events, expirationDate); } @@ -203,6 +260,8 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" jqlFilter: ").append(toIndentedString(jqlFilter)).append("\n"); + sb.append(" fieldIdsFilter: ").append(toIndentedString(fieldIdsFilter)).append("\n"); + sb.append(" issuePropertyKeysFilter: ").append(toIndentedString(issuePropertyKeysFilter)).append("\n"); sb.append(" events: ").append(toIndentedString(events)).append("\n"); sb.append(" expirationDate: ").append(toIndentedString(expirationDate)).append("\n"); sb.append("}"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhookDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhookDetails.java index 9a5fc4c..e23d316 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhookDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhookDetails.java @@ -42,11 +42,17 @@ * A list of webhooks. */ @ApiModel(description = "A list of webhooks.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WebhookDetails { @JsonProperty("jqlFilter") private String jqlFilter; + @JsonProperty("fieldIdsFilter") + private List fieldIdsFilter = new ArrayList<>(); + + @JsonProperty("issuePropertyKeysFilter") + private List issuePropertyKeysFilter = new ArrayList<>(); + /** * Gets or Sets events */ @@ -103,10 +109,10 @@ public WebhookDetails jqlFilter(String jqlFilter) { } /** - * The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are: * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]` (for custom fields—only the epic label custom field is supported). * Operators: `=`, `!=`, `IN`, and `NOT IN`. + * The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are: * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`), only the epic label custom field is supported.\". * Operators: `=`, `!=`, `IN`, and `NOT IN`. * @return jqlFilter **/ - @ApiModelProperty(required = true, value = "The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are: * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]` (for custom fields—only the epic label custom field is supported). * Operators: `=`, `!=`, `IN`, and `NOT IN`.") + @ApiModelProperty(required = true, value = "The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are: * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`), only the epic label custom field is supported.\". * Operators: `=`, `!=`, `IN`, and `NOT IN`.") public String getJqlFilter() { return jqlFilter; } @@ -115,15 +121,64 @@ public void setJqlFilter(String jqlFilter) { this.jqlFilter = jqlFilter; } + public WebhookDetails fieldIdsFilter(List fieldIdsFilter) { + this.fieldIdsFilter = fieldIdsFilter; + return this; + } + + public WebhookDetails addFieldIdsFilterItem(String fieldIdsFilterItem) { + if (this.fieldIdsFilter == null) { + this.fieldIdsFilter = new ArrayList<>(); + } + this.fieldIdsFilter.add(fieldIdsFilterItem); + return this; + } + + /** + * A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates. + * @return fieldIdsFilter + **/ + @ApiModelProperty(value = "A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.") + public List getFieldIdsFilter() { + return fieldIdsFilter; + } + + public void setFieldIdsFilter(List fieldIdsFilter) { + this.fieldIdsFilter = fieldIdsFilter; + } + + public WebhookDetails issuePropertyKeysFilter(List issuePropertyKeysFilter) { + this.issuePropertyKeysFilter = issuePropertyKeysFilter; + return this; + } + + public WebhookDetails addIssuePropertyKeysFilterItem(String issuePropertyKeysFilterItem) { + if (this.issuePropertyKeysFilter == null) { + this.issuePropertyKeysFilter = new ArrayList<>(); + } + this.issuePropertyKeysFilter.add(issuePropertyKeysFilterItem); + return this; + } + + /** + * A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates. + * @return issuePropertyKeysFilter + **/ + @ApiModelProperty(value = "A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.") + public List getIssuePropertyKeysFilter() { + return issuePropertyKeysFilter; + } + + public void setIssuePropertyKeysFilter(List issuePropertyKeysFilter) { + this.issuePropertyKeysFilter = issuePropertyKeysFilter; + } + public WebhookDetails events(List events) { this.events = events; return this; } public WebhookDetails addEventsItem(EventsEnum eventsItem) { - if (this.events == null) { - this.events = new ArrayList<>(); - } this.events.add(eventsItem); return this; } @@ -132,7 +187,7 @@ public WebhookDetails addEventsItem(EventsEnum eventsItem) { * The Jira events that trigger the webhook. * @return events **/ - @ApiModelProperty(value = "The Jira events that trigger the webhook.") + @ApiModelProperty(required = true, value = "The Jira events that trigger the webhook.") public List getEvents() { return events; } @@ -152,12 +207,14 @@ public boolean equals(java.lang.Object o) { } WebhookDetails webhookDetails = (WebhookDetails) o; return Objects.equals(this.jqlFilter, webhookDetails.jqlFilter) && + Objects.equals(this.fieldIdsFilter, webhookDetails.fieldIdsFilter) && + Objects.equals(this.issuePropertyKeysFilter, webhookDetails.issuePropertyKeysFilter) && Objects.equals(this.events, webhookDetails.events); } @Override public int hashCode() { - return Objects.hash(jqlFilter, events); + return Objects.hash(jqlFilter, fieldIdsFilter, issuePropertyKeysFilter, events); } @@ -167,6 +224,8 @@ public String toString() { sb.append("class WebhookDetails {\n"); sb.append(" jqlFilter: ").append(toIndentedString(jqlFilter)).append("\n"); + sb.append(" fieldIdsFilter: ").append(toIndentedString(fieldIdsFilter)).append("\n"); + sb.append(" issuePropertyKeysFilter: ").append(toIndentedString(issuePropertyKeysFilter)).append("\n"); sb.append(" events: ").append(toIndentedString(events)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhookRegistrationDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhookRegistrationDetails.java index e89e2ed..38e7d92 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhookRegistrationDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhookRegistrationDetails.java @@ -43,7 +43,7 @@ * Details of webhooks to register. */ @ApiModel(description = "Details of webhooks to register.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WebhookRegistrationDetails { @JsonProperty("webhooks") private List webhooks = new ArrayList<>(); @@ -80,10 +80,10 @@ public WebhookRegistrationDetails url(String url) { } /** - * The URL that specifies where to send the webhooks. + * The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app. * @return url **/ - @ApiModelProperty(required = true, value = "The URL that specifies where to send the webhooks.") + @ApiModelProperty(required = true, value = "The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app.") public String getUrl() { return url; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhooksExpirationDate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhooksExpirationDate.java index b138448..425ad6e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhooksExpirationDate.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WebhooksExpirationDate.java @@ -40,7 +40,7 @@ * The date the newly refreshed webhooks expire. */ @ApiModel(description = "The date the newly refreshed webhooks expire.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WebhooksExpirationDate { @JsonProperty("expirationDate") private Long expirationDate; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Workflow.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Workflow.java index cd46c33..e42ec17 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Workflow.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Workflow.java @@ -45,7 +45,7 @@ * Details about a workflow. */ @ApiModel(description = "Details about a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Workflow { @JsonProperty("id") private PublishedWorkflowId id; @@ -59,6 +59,9 @@ public class Workflow { @JsonProperty("statuses") private List statuses = new ArrayList<>(); + @JsonProperty("isDefault") + private Boolean isDefault; + public Workflow id(PublishedWorkflowId id) { this.id = id; return this; @@ -68,7 +71,7 @@ public Workflow id(PublishedWorkflowId id) { * Get id * @return id **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public PublishedWorkflowId getId() { return id; } @@ -147,6 +150,24 @@ public void setStatuses(List statuses) { this.statuses = statuses; } + public Workflow isDefault(Boolean isDefault) { + this.isDefault = isDefault; + return this; + } + + /** + * Whether this is the default workflow. + * @return isDefault + **/ + @ApiModelProperty(value = "Whether this is the default workflow.") + public Boolean getIsDefault() { + return isDefault; + } + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + @Override public boolean equals(java.lang.Object o) { @@ -160,12 +181,13 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.id, workflow.id) && Objects.equals(this.description, workflow.description) && Objects.equals(this.transitions, workflow.transitions) && - Objects.equals(this.statuses, workflow.statuses); + Objects.equals(this.statuses, workflow.statuses) && + Objects.equals(this.isDefault, workflow.isDefault); } @Override public int hashCode() { - return Objects.hash(id, description, transitions, statuses); + return Objects.hash(id, description, transitions, statuses, isDefault); } @@ -178,6 +200,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" transitions: ").append(toIndentedString(transitions)).append("\n"); sb.append(" statuses: ").append(toIndentedString(statuses)).append("\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowCompoundCondition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowCompoundCondition.java new file mode 100644 index 0000000..7cfd1f5 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowCompoundCondition.java @@ -0,0 +1,195 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * A compound workflow transition rule condition. This object returns `nodeType` as `compound`. + */ +@ApiModel(description = "A compound workflow transition rule condition. This object returns `nodeType` as `compound`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class WorkflowCompoundCondition { + /** + * The compound condition operator. + */ + public enum OperatorEnum { + AND("AND"), + + OR("OR"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("operator") + private OperatorEnum operator; + + @JsonProperty("conditions") + private List conditions = new ArrayList<>(); + + @JsonProperty("nodeType") + private String nodeType; + + public WorkflowCompoundCondition operator(OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * The compound condition operator. + * @return operator + **/ + @ApiModelProperty(required = true, value = "The compound condition operator.") + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(OperatorEnum operator) { + this.operator = operator; + } + + public WorkflowCompoundCondition conditions(List conditions) { + this.conditions = conditions; + return this; + } + + public WorkflowCompoundCondition addConditionsItem(Object conditionsItem) { + this.conditions.add(conditionsItem); + return this; + } + + /** + * The list of workflow conditions. + * @return conditions + **/ + @ApiModelProperty(required = true, value = "The list of workflow conditions.") + public List getConditions() { + return conditions; + } + + public void setConditions(List conditions) { + this.conditions = conditions; + } + + public WorkflowCompoundCondition nodeType(String nodeType) { + this.nodeType = nodeType; + return this; + } + + /** + * Get nodeType + * @return nodeType + **/ + @ApiModelProperty(required = true, value = "") + public String getNodeType() { + return nodeType; + } + + public void setNodeType(String nodeType) { + this.nodeType = nodeType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowCompoundCondition workflowCompoundCondition = (WorkflowCompoundCondition) o; + return Objects.equals(this.operator, workflowCompoundCondition.operator) && + Objects.equals(this.conditions, workflowCompoundCondition.conditions) && + Objects.equals(this.nodeType, workflowCompoundCondition.nodeType); + } + + @Override + public int hashCode() { + return Objects.hash(operator, conditions, nodeType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowCompoundCondition {\n"); + + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" nodeType: ").append(toIndentedString(nodeType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowIDs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowIDs.java new file mode 100644 index 0000000..c275a33 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowIDs.java @@ -0,0 +1,130 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The classic workflow identifiers. + */ +@ApiModel(description = "The classic workflow identifiers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class WorkflowIDs { + @JsonProperty("name") + private String name; + + @JsonProperty("entityId") + private String entityId; + + public WorkflowIDs name(String name) { + this.name = name; + return this; + } + + /** + * The name of the workflow. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the workflow.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public WorkflowIDs entityId(String entityId) { + this.entityId = entityId; + return this; + } + + /** + * The entity ID of the workflow. + * @return entityId + **/ + @ApiModelProperty(value = "The entity ID of the workflow.") + public String getEntityId() { + return entityId; + } + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowIDs workflowIDs = (WorkflowIDs) o; + return Objects.equals(this.name, workflowIDs.name) && + Objects.equals(this.entityId, workflowIDs.entityId); + } + + @Override + public int hashCode() { + return Objects.hash(name, entityId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowIDs {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowId.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowId.java index d96b83c..3b664e7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowId.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowId.java @@ -40,7 +40,7 @@ * Properties that identify a workflow. */ @ApiModel(description = "Properties that identify a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowId { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRules.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRules.java index 424c510..abf5579 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRules.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRules.java @@ -43,11 +43,14 @@ * A collection of transition rules. */ @ApiModel(description = "A collection of transition rules.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowRules { @JsonProperty("conditions") private List conditions = new ArrayList<>(); + @JsonProperty("conditionsTree") + private Object conditionsTree = null; + @JsonProperty("validators") private List validators = new ArrayList<>(); @@ -60,15 +63,18 @@ public WorkflowRules conditions(List conditions) { } public WorkflowRules addConditionsItem(WorkflowTransitionRule conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } this.conditions.add(conditionsItem); return this; } /** - * The workflow conditions. + * The workflow conditions. ([Deprecated](https://community.developer.atlassian.com/t/deprecation-of-conditions-body-param/48884)) * @return conditions **/ - @ApiModelProperty(required = true, value = "The workflow conditions.") + @ApiModelProperty(value = "The workflow conditions. ([Deprecated](https://community.developer.atlassian.com/t/deprecation-of-conditions-body-param/48884))") public List getConditions() { return conditions; } @@ -77,12 +83,33 @@ public void setConditions(List conditions) { this.conditions = conditions; } + public WorkflowRules conditionsTree(Object conditionsTree) { + this.conditionsTree = conditionsTree; + return this; + } + + /** + * The workflow transition rule conditions tree. + * @return conditionsTree + **/ + @ApiModelProperty(value = "The workflow transition rule conditions tree.") + public Object getConditionsTree() { + return conditionsTree; + } + + public void setConditionsTree(Object conditionsTree) { + this.conditionsTree = conditionsTree; + } + public WorkflowRules validators(List validators) { this.validators = validators; return this; } public WorkflowRules addValidatorsItem(WorkflowTransitionRule validatorsItem) { + if (this.validators == null) { + this.validators = new ArrayList<>(); + } this.validators.add(validatorsItem); return this; } @@ -91,7 +118,7 @@ public WorkflowRules addValidatorsItem(WorkflowTransitionRule validatorsItem) { * The workflow validators. * @return validators **/ - @ApiModelProperty(required = true, value = "The workflow validators.") + @ApiModelProperty(value = "The workflow validators.") public List getValidators() { return validators; } @@ -106,6 +133,9 @@ public WorkflowRules postFunctions(List postFunctions) { } public WorkflowRules addPostFunctionsItem(WorkflowTransitionRule postFunctionsItem) { + if (this.postFunctions == null) { + this.postFunctions = new ArrayList<>(); + } this.postFunctions.add(postFunctionsItem); return this; } @@ -114,7 +144,7 @@ public WorkflowRules addPostFunctionsItem(WorkflowTransitionRule postFunctionsIt * The workflow post functions. * @return postFunctions **/ - @ApiModelProperty(required = true, value = "The workflow post functions.") + @ApiModelProperty(value = "The workflow post functions.") public List getPostFunctions() { return postFunctions; } @@ -134,13 +164,14 @@ public boolean equals(java.lang.Object o) { } WorkflowRules workflowRules = (WorkflowRules) o; return Objects.equals(this.conditions, workflowRules.conditions) && + Objects.equals(this.conditionsTree, workflowRules.conditionsTree) && Objects.equals(this.validators, workflowRules.validators) && Objects.equals(this.postFunctions, workflowRules.postFunctions); } @Override public int hashCode() { - return Objects.hash(conditions, validators, postFunctions); + return Objects.hash(conditions, conditionsTree, validators, postFunctions); } @@ -150,6 +181,7 @@ public String toString() { sb.append("class WorkflowRules {\n"); sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" conditionsTree: ").append(toIndentedString(conditionsTree)).append("\n"); sb.append(" validators: ").append(toIndentedString(validators)).append("\n"); sb.append(" postFunctions: ").append(toIndentedString(postFunctions)).append("\n"); sb.append("}"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRulesSearch.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRulesSearch.java new file mode 100644 index 0000000..2617b90 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRulesSearch.java @@ -0,0 +1,161 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +/** + * Details of the workflow and its transition rules. + */ +@ApiModel(description = "Details of the workflow and its transition rules.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class WorkflowRulesSearch { + @JsonProperty("workflowEntityId") + private UUID workflowEntityId; + + @JsonProperty("ruleIds") + private List ruleIds = new ArrayList<>(); + + @JsonProperty("expand") + private String expand; + + public WorkflowRulesSearch workflowEntityId(UUID workflowEntityId) { + this.workflowEntityId = workflowEntityId; + return this; + } + + /** + * The workflow ID. + * @return workflowEntityId + **/ + @ApiModelProperty(example = "a498d711-685d-428d-8c3e-bc03bb450ea7", required = true, value = "The workflow ID.") + public UUID getWorkflowEntityId() { + return workflowEntityId; + } + + public void setWorkflowEntityId(UUID workflowEntityId) { + this.workflowEntityId = workflowEntityId; + } + + public WorkflowRulesSearch ruleIds(List ruleIds) { + this.ruleIds = ruleIds; + return this; + } + + public WorkflowRulesSearch addRuleIdsItem(UUID ruleIdsItem) { + this.ruleIds.add(ruleIdsItem); + return this; + } + + /** + * The list of workflow rule IDs. + * @return ruleIds + **/ + @ApiModelProperty(required = true, value = "The list of workflow rule IDs.") + public List getRuleIds() { + return ruleIds; + } + + public void setRuleIds(List ruleIds) { + this.ruleIds = ruleIds; + } + + public WorkflowRulesSearch expand(String expand) { + this.expand = expand; + return this; + } + + /** + * Use expand to include additional information in the response. This parameter accepts `transition` which, for each rule, returns information about the transition the rule is assigned to. + * @return expand + **/ + @ApiModelProperty(example = "transition", value = "Use expand to include additional information in the response. This parameter accepts `transition` which, for each rule, returns information about the transition the rule is assigned to.") + public String getExpand() { + return expand; + } + + public void setExpand(String expand) { + this.expand = expand; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowRulesSearch workflowRulesSearch = (WorkflowRulesSearch) o; + return Objects.equals(this.workflowEntityId, workflowRulesSearch.workflowEntityId) && + Objects.equals(this.ruleIds, workflowRulesSearch.ruleIds) && + Objects.equals(this.expand, workflowRulesSearch.expand); + } + + @Override + public int hashCode() { + return Objects.hash(workflowEntityId, ruleIds, expand); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowRulesSearch {\n"); + + sb.append(" workflowEntityId: ").append(toIndentedString(workflowEntityId)).append("\n"); + sb.append(" ruleIds: ").append(toIndentedString(ruleIds)).append("\n"); + sb.append(" expand: ").append(toIndentedString(expand)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRulesSearchDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRulesSearchDetails.java new file mode 100644 index 0000000..4cb79ce --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowRulesSearchDetails.java @@ -0,0 +1,173 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowTransitionRules; + +/** + * Details of workflow transition rules. + */ +@ApiModel(description = "Details of workflow transition rules.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class WorkflowRulesSearchDetails { + @JsonProperty("workflowEntityId") + private UUID workflowEntityId; + + @JsonProperty("invalidRules") + private List invalidRules = new ArrayList<>(); + + @JsonProperty("validRules") + private List validRules = new ArrayList<>(); + + public WorkflowRulesSearchDetails workflowEntityId(UUID workflowEntityId) { + this.workflowEntityId = workflowEntityId; + return this; + } + + /** + * The workflow ID. + * @return workflowEntityId + **/ + @ApiModelProperty(example = "a498d711-685d-428d-8c3e-bc03bb450ea7", value = "The workflow ID.") + public UUID getWorkflowEntityId() { + return workflowEntityId; + } + + public void setWorkflowEntityId(UUID workflowEntityId) { + this.workflowEntityId = workflowEntityId; + } + + public WorkflowRulesSearchDetails invalidRules(List invalidRules) { + this.invalidRules = invalidRules; + return this; + } + + public WorkflowRulesSearchDetails addInvalidRulesItem(UUID invalidRulesItem) { + if (this.invalidRules == null) { + this.invalidRules = new ArrayList<>(); + } + this.invalidRules.add(invalidRulesItem); + return this; + } + + /** + * List of workflow rule IDs that do not belong to the workflow or can not be found. + * @return invalidRules + **/ + @ApiModelProperty(value = "List of workflow rule IDs that do not belong to the workflow or can not be found.") + public List getInvalidRules() { + return invalidRules; + } + + public void setInvalidRules(List invalidRules) { + this.invalidRules = invalidRules; + } + + public WorkflowRulesSearchDetails validRules(List validRules) { + this.validRules = validRules; + return this; + } + + public WorkflowRulesSearchDetails addValidRulesItem(WorkflowTransitionRules validRulesItem) { + if (this.validRules == null) { + this.validRules = new ArrayList<>(); + } + this.validRules.add(validRulesItem); + return this; + } + + /** + * List of valid workflow transition rules. + * @return validRules + **/ + @ApiModelProperty(value = "List of valid workflow transition rules.") + public List getValidRules() { + return validRules; + } + + public void setValidRules(List validRules) { + this.validRules = validRules; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowRulesSearchDetails workflowRulesSearchDetails = (WorkflowRulesSearchDetails) o; + return Objects.equals(this.workflowEntityId, workflowRulesSearchDetails.workflowEntityId) && + Objects.equals(this.invalidRules, workflowRulesSearchDetails.invalidRules) && + Objects.equals(this.validRules, workflowRulesSearchDetails.validRules); + } + + @Override + public int hashCode() { + return Objects.hash(workflowEntityId, invalidRules, validRules); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowRulesSearchDetails {\n"); + + sb.append(" workflowEntityId: ").append(toIndentedString(workflowEntityId)).append("\n"); + sb.append(" invalidRules: ").append(toIndentedString(invalidRules)).append("\n"); + sb.append(" validRules: ").append(toIndentedString(validRules)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowScheme.java index 77db77e..8ae7a29 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowScheme.java @@ -46,7 +46,7 @@ * Details about a workflow scheme. */ @ApiModel(description = "Details about a workflow scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowScheme { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSchemeAssociations.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSchemeAssociations.java index d5a925d..272c4aa 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSchemeAssociations.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSchemeAssociations.java @@ -43,7 +43,7 @@ * A workflow scheme along with a list of projects that use it. */ @ApiModel(description = "A workflow scheme along with a list of projects that use it.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowSchemeAssociations { @JsonProperty("projectIds") private List projectIds = new ArrayList<>(); @@ -83,7 +83,7 @@ public WorkflowSchemeAssociations workflowScheme(WorkflowScheme workflowScheme) * The workflow scheme. * @return workflowScheme **/ - @ApiModelProperty(value = "The workflow scheme.") + @ApiModelProperty(required = true, value = "The workflow scheme.") public WorkflowScheme getWorkflowScheme() { return workflowScheme; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSchemeProjectAssociation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSchemeProjectAssociation.java index 0cd22c6..7b7d75c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSchemeProjectAssociation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSchemeProjectAssociation.java @@ -40,7 +40,7 @@ * An associated workflow scheme and project. */ @ApiModel(description = "An associated workflow scheme and project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowSchemeProjectAssociation { @JsonProperty("workflowSchemeId") private String workflowSchemeId; @@ -54,10 +54,10 @@ public WorkflowSchemeProjectAssociation workflowSchemeId(String workflowSchemeId } /** - * The ID of the workflow scheme. + * The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow scheme. * @return workflowSchemeId **/ - @ApiModelProperty(required = true, value = "The ID of the workflow scheme.") + @ApiModelProperty(value = "The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow scheme.") public String getWorkflowSchemeId() { return workflowSchemeId; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSimpleCondition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSimpleCondition.java new file mode 100644 index 0000000..d193c16 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowSimpleCondition.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * A workflow transition rule condition. This object returns `nodeType` as `simple`. + */ +@ApiModel(description = "A workflow transition rule condition. This object returns `nodeType` as `simple`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class WorkflowSimpleCondition { + @JsonProperty("type") + private String type; + + @JsonProperty("configuration") + private Object _configuration = null; + + @JsonProperty("nodeType") + private String nodeType; + + public WorkflowSimpleCondition type(String type) { + this.type = type; + return this; + } + + /** + * The type of the transition rule. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the transition rule.") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public WorkflowSimpleCondition _configuration(Object _configuration) { + this._configuration = _configuration; + return this; + } + + /** + * EXPERIMENTAL. The configuration of the transition rule. + * @return _configuration + **/ + @ApiModelProperty(value = "EXPERIMENTAL. The configuration of the transition rule.") + public Object getConfiguration() { + return _configuration; + } + + public void setConfiguration(Object _configuration) { + this._configuration = _configuration; + } + + public WorkflowSimpleCondition nodeType(String nodeType) { + this.nodeType = nodeType; + return this; + } + + /** + * Get nodeType + * @return nodeType + **/ + @ApiModelProperty(required = true, value = "") + public String getNodeType() { + return nodeType; + } + + public void setNodeType(String nodeType) { + this.nodeType = nodeType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowSimpleCondition workflowSimpleCondition = (WorkflowSimpleCondition) o; + return Objects.equals(this.type, workflowSimpleCondition.type) && + Objects.equals(this._configuration, workflowSimpleCondition._configuration) && + Objects.equals(this.nodeType, workflowSimpleCondition.nodeType); + } + + @Override + public int hashCode() { + return Objects.hash(type, _configuration, nodeType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowSimpleCondition {\n"); + + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" _configuration: ").append(toIndentedString(_configuration)).append("\n"); + sb.append(" nodeType: ").append(toIndentedString(nodeType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowStatus.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowStatus.java index 9d97acb..ceb9796 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowStatus.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowStatus.java @@ -35,13 +35,15 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowStatusProperties; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * Details of a workflow status. */ @ApiModel(description = "Details of a workflow status.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowStatus { @JsonProperty("id") private String id; @@ -50,7 +52,7 @@ public class WorkflowStatus { private String name; @JsonProperty("properties") - private WorkflowStatusProperties properties; + private Map properties = new HashMap<>(); public WorkflowStatus id(String id) { this.id = id; @@ -88,21 +90,29 @@ public void setName(String name) { this.name = name; } - public WorkflowStatus properties(WorkflowStatusProperties properties) { + public WorkflowStatus properties(Map properties) { this.properties = properties; return this; } + public WorkflowStatus putPropertiesItem(String key, Object propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + /** - * Get properties + * Additional properties that modify the behavior of issues in this status. Supports the properties `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable. * @return properties **/ - @ApiModelProperty(value = "") - public WorkflowStatusProperties getProperties() { + @ApiModelProperty(value = "Additional properties that modify the behavior of issues in this status. Supports the properties `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable.") + public Map getProperties() { return properties; } - public void setProperties(WorkflowStatusProperties properties) { + public void setProperties(Map properties) { this.properties = properties; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransition.java index a5c57ea..cd7acde 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransition.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransition.java @@ -40,7 +40,7 @@ * A workflow transition. */ @ApiModel(description = "A workflow transition.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowTransition { @JsonProperty("id") private Integer id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionProperty.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionProperty.java index ed1f9d0..b3d619c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionProperty.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionProperty.java @@ -42,7 +42,7 @@ * Details about the server Jira is running on. */ @ApiModel(description = "Details about the server Jira is running on.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowTransitionProperty { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRule.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRule.java index 89b4595..0e8859d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRule.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRule.java @@ -40,7 +40,7 @@ * A workflow transition rule. */ @ApiModel(description = "A workflow transition rule.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowTransitionRule { @JsonProperty("type") private String type; @@ -72,10 +72,10 @@ public WorkflowTransitionRule _configuration(Object _configuration) { } /** - * The configuration of the transition rule. This is currently returned only for some of the rule types. Availability of this property is subject to change. + * EXPERIMENTAL. The configuration of the transition rule. * @return _configuration **/ - @ApiModelProperty(value = "The configuration of the transition rule. This is currently returned only for some of the rule types. Availability of this property is subject to change.") + @ApiModelProperty(value = "EXPERIMENTAL. The configuration of the transition rule.") public Object getConfiguration() { return _configuration; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRules.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRules.java index af439f4..36a9928 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRules.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRules.java @@ -44,7 +44,7 @@ * A workflow with transition rules. */ @ApiModel(description = "A workflow with transition rules.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowTransitionRules { @JsonProperty("workflowId") private WorkflowId workflowId; @@ -67,7 +67,7 @@ public WorkflowTransitionRules workflowId(WorkflowId workflowId) { * Get workflowId * @return workflowId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public WorkflowId getWorkflowId() { return workflowId; } @@ -82,9 +82,6 @@ public WorkflowTransitionRules postFunctions(List } public WorkflowTransitionRules addPostFunctionsItem(ConnectWorkflowTransitionRule postFunctionsItem) { - if (this.postFunctions == null) { - this.postFunctions = new ArrayList<>(); - } this.postFunctions.add(postFunctionsItem); return this; } @@ -93,7 +90,7 @@ public WorkflowTransitionRules addPostFunctionsItem(ConnectWorkflowTransitionRul * The list of post functions within the workflow. * @return postFunctions **/ - @ApiModelProperty(value = "The list of post functions within the workflow.") + @ApiModelProperty(required = true, value = "The list of post functions within the workflow.") public List getPostFunctions() { return postFunctions; } @@ -108,9 +105,6 @@ public WorkflowTransitionRules conditions(List co } public WorkflowTransitionRules addConditionsItem(ConnectWorkflowTransitionRule conditionsItem) { - if (this.conditions == null) { - this.conditions = new ArrayList<>(); - } this.conditions.add(conditionsItem); return this; } @@ -119,7 +113,7 @@ public WorkflowTransitionRules addConditionsItem(ConnectWorkflowTransitionRule c * The list of conditions within the workflow. * @return conditions **/ - @ApiModelProperty(value = "The list of conditions within the workflow.") + @ApiModelProperty(required = true, value = "The list of conditions within the workflow.") public List getConditions() { return conditions; } @@ -134,9 +128,6 @@ public WorkflowTransitionRules validators(List va } public WorkflowTransitionRules addValidatorsItem(ConnectWorkflowTransitionRule validatorsItem) { - if (this.validators == null) { - this.validators = new ArrayList<>(); - } this.validators.add(validatorsItem); return this; } @@ -145,7 +136,7 @@ public WorkflowTransitionRules addValidatorsItem(ConnectWorkflowTransitionRule v * The list of validators within the workflow. * @return validators **/ - @ApiModelProperty(value = "The list of validators within the workflow.") + @ApiModelProperty(required = true, value = "The list of validators within the workflow.") public List getValidators() { return validators; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesDetails.java new file mode 100644 index 0000000..a328b30 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesDetails.java @@ -0,0 +1,138 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowId; + +/** + * Details about a workflow configuration update request. + */ +@ApiModel(description = "Details about a workflow configuration update request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class WorkflowTransitionRulesDetails { + @JsonProperty("workflowId") + private WorkflowId workflowId; + + @JsonProperty("workflowRuleIds") + private List workflowRuleIds = new ArrayList<>(); + + public WorkflowTransitionRulesDetails workflowId(WorkflowId workflowId) { + this.workflowId = workflowId; + return this; + } + + /** + * Get workflowId + * @return workflowId + **/ + @ApiModelProperty(required = true, value = "") + public WorkflowId getWorkflowId() { + return workflowId; + } + + public void setWorkflowId(WorkflowId workflowId) { + this.workflowId = workflowId; + } + + public WorkflowTransitionRulesDetails workflowRuleIds(List workflowRuleIds) { + this.workflowRuleIds = workflowRuleIds; + return this; + } + + public WorkflowTransitionRulesDetails addWorkflowRuleIdsItem(String workflowRuleIdsItem) { + this.workflowRuleIds.add(workflowRuleIdsItem); + return this; + } + + /** + * The list of connect workflow rule IDs. + * @return workflowRuleIds + **/ + @ApiModelProperty(required = true, value = "The list of connect workflow rule IDs.") + public List getWorkflowRuleIds() { + return workflowRuleIds; + } + + public void setWorkflowRuleIds(List workflowRuleIds) { + this.workflowRuleIds = workflowRuleIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowTransitionRulesDetails workflowTransitionRulesDetails = (WorkflowTransitionRulesDetails) o; + return Objects.equals(this.workflowId, workflowTransitionRulesDetails.workflowId) && + Objects.equals(this.workflowRuleIds, workflowTransitionRulesDetails.workflowRuleIds); + } + + @Override + public int hashCode() { + return Objects.hash(workflowId, workflowRuleIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowTransitionRulesDetails {\n"); + + sb.append(" workflowId: ").append(toIndentedString(workflowId)).append("\n"); + sb.append(" workflowRuleIds: ").append(toIndentedString(workflowRuleIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdate.java index c1da297..06b83ac 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdate.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdate.java @@ -43,7 +43,7 @@ * Details about a workflow configuration update request. */ @ApiModel(description = "Details about a workflow configuration update request.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowTransitionRulesUpdate { @JsonProperty("workflows") private List workflows = new ArrayList<>(); @@ -54,9 +54,6 @@ public WorkflowTransitionRulesUpdate workflows(List wor } public WorkflowTransitionRulesUpdate addWorkflowsItem(WorkflowTransitionRules workflowsItem) { - if (this.workflows == null) { - this.workflows = new ArrayList<>(); - } this.workflows.add(workflowsItem); return this; } @@ -65,7 +62,7 @@ public WorkflowTransitionRulesUpdate addWorkflowsItem(WorkflowTransitionRules wo * The list of workflows with transition rules to update. * @return workflows **/ - @ApiModelProperty(value = "The list of workflows with transition rules to update.") + @ApiModelProperty(required = true, value = "The list of workflows with transition rules to update.") public List getWorkflows() { return workflows; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdateErrorDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdateErrorDetails.java index e726962..f3ea394 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdateErrorDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdateErrorDetails.java @@ -45,7 +45,7 @@ * Details of any errors encountered while updating workflow transition rules for a workflow. */ @ApiModel(description = "Details of any errors encountered while updating workflow transition rules for a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowTransitionRulesUpdateErrorDetails { @JsonProperty("workflowId") private WorkflowId workflowId; @@ -65,7 +65,7 @@ public WorkflowTransitionRulesUpdateErrorDetails workflowId(WorkflowId workflowI * Get workflowId * @return workflowId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public WorkflowId getWorkflowId() { return workflowId; } @@ -103,9 +103,6 @@ public WorkflowTransitionRulesUpdateErrorDetails updateErrors(List updat } public WorkflowTransitionRulesUpdateErrorDetails addUpdateErrorsItem(String updateErrorsItem) { - if (this.updateErrors == null) { - this.updateErrors = new ArrayList<>(); - } this.updateErrors.add(updateErrorsItem); return this; } @@ -114,7 +111,7 @@ public WorkflowTransitionRulesUpdateErrorDetails addUpdateErrorsItem(String upda * The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries. * @return updateErrors **/ - @ApiModelProperty(value = "The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.") + @ApiModelProperty(required = true, value = "The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.") public List getUpdateErrors() { return updateErrors; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdateErrors.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdateErrors.java index d0548c2..3a127e3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdateErrors.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowTransitionRulesUpdateErrors.java @@ -43,7 +43,7 @@ * Details of any errors encountered while updating workflow transition rules. */ @ApiModel(description = "Details of any errors encountered while updating workflow transition rules.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorkflowTransitionRulesUpdateErrors { @JsonProperty("updateResults") private List updateResults = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowsWithTransitionRulesDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowsWithTransitionRulesDetails.java new file mode 100644 index 0000000..57b52f4 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorkflowsWithTransitionRulesDetails.java @@ -0,0 +1,115 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v2.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v2.model.WorkflowTransitionRulesDetails; + +/** + * Details of workflows and their transition rules to delete. + */ +@ApiModel(description = "Details of workflows and their transition rules to delete.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") +public class WorkflowsWithTransitionRulesDetails { + @JsonProperty("workflows") + private List workflows = new ArrayList<>(); + + public WorkflowsWithTransitionRulesDetails workflows(List workflows) { + this.workflows = workflows; + return this; + } + + public WorkflowsWithTransitionRulesDetails addWorkflowsItem(WorkflowTransitionRulesDetails workflowsItem) { + this.workflows.add(workflowsItem); + return this; + } + + /** + * The list of workflows with transition rules to delete. + * @return workflows + **/ + @ApiModelProperty(required = true, value = "The list of workflows with transition rules to delete.") + public List getWorkflows() { + return workflows; + } + + public void setWorkflows(List workflows) { + this.workflows = workflows; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowsWithTransitionRulesDetails workflowsWithTransitionRulesDetails = (WorkflowsWithTransitionRulesDetails) o; + return Objects.equals(this.workflows, workflowsWithTransitionRulesDetails.workflows); + } + + @Override + public int hashCode() { + return Objects.hash(workflows); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowsWithTransitionRulesDetails {\n"); + + sb.append(" workflows: ").append(toIndentedString(workflows)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Worklog.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Worklog.java index d97d846..8444f25 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Worklog.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/Worklog.java @@ -49,7 +49,7 @@ * Details of a worklog. */ @ApiModel(description = "Details of a worklog.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class Worklog { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorklogIdsRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorklogIdsRequestBean.java index 8d2c7ae..b6403c5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorklogIdsRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/model/WorklogIdsRequestBean.java @@ -41,7 +41,7 @@ /** * WorklogIdsRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:34.799+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:17.349+02:00[Europe/Prague]") public class WorklogIdsRequestBean { @JsonProperty("ids") private List ids = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AppMigrationApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AppMigrationApi.java new file mode 100644 index 0000000..1e7b63f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AppMigrationApi.java @@ -0,0 +1,157 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.everit.atlassian.restclient.jiracloud.v3.api; + +import java.util.Optional; + +import io.reactivex.Single; +import io.reactivex.Completable; + +import org.everit.http.client.HttpMethod; + +import org.everit.http.restclient.RestClient; +import org.everit.http.restclient.RestClientUtil; +import org.everit.http.restclient.RestRequest; +import org.everit.http.restclient.RestRequestEnhancer; +import org.everit.http.restclient.TypeReference; + +import org.everit.atlassian.restclient.jiracloud.v3.model.ConnectCustomFieldValues; +import org.everit.atlassian.restclient.jiracloud.v3.model.EntityPropertyDetails; +import java.util.UUID; +import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowRulesSearch; +import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowRulesSearchDetails; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class AppMigrationApi { + + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_appIssueFieldValueUpdateResourceUpdateIssueFieldsPut = new TypeReference() {}; + + private static final TypeReference returnType_migrationResourceWorkflowRuleSearchPost = new TypeReference() {}; + + private final RestClient restClient; + + public AppMigrationApi(RestClient restClient) { + this.restClient = restClient; + } + + /** + * Bulk update custom field value + * Updates the value of a custom field added by Connect apps on one or more issues. The values of up to 200 custom fields can be updated. **[Permissions](#permissions) required:** Only Connect apps can make this request. + * @param atlassianTransferId The ID of the transfer. (required) + * @param atlassianAccountId The Atlassian account ID of the impersonated user. This user must be a member of the site admin group. (required) + * @param connectCustomFieldValues (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single appIssueFieldValueUpdateResourceUpdateIssueFieldsPut( + String atlassianTransferId, String atlassianAccountId, ConnectCustomFieldValues connectCustomFieldValues, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/atlassian-connect/1/migration/field"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + headers.put("Atlassian-Transfer-Id", atlassianTransferId); + headers.put("Atlassian-Account-Id", atlassianAccountId); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(connectCustomFieldValues)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_appIssueFieldValueUpdateResourceUpdateIssueFieldsPut); + } + + /** + * Bulk update entity properties + * Updates the values of multiple entity properties for an object. This operation is for use by Connect apps during app migration. + * @param atlassianTransferId The app migration transfer ID. (required) + * @param atlassianAccountId The Atlassian account ID of the impersonated user. This user must be a member of the site admin group. (required) + * @param entityType The type indicating the object that contains the entity properties. (required) + * @param entityPropertyDetails (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Completable + */ + public Completable migrationResourceUpdateEntityPropertiesValuePut( + String atlassianTransferId, String atlassianAccountId, String entityType, List entityPropertyDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/atlassian-connect/1/migration/properties/{entityType}"); + + Map pathParams = new HashMap<>(); + pathParams.put("entityType", String.valueOf(entityType)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + headers.put("Atlassian-Transfer-Id", atlassianTransferId); + headers.put("Atlassian-Account-Id", atlassianAccountId); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(entityPropertyDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer); + } + + /** + * Get workflow transition rule configurations + * Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect app. + * @param atlassianTransferId The app migration transfer ID. (required) + * @param workflowRulesSearch (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<WorkflowRulesSearchDetails> + */ + public Single migrationResourceWorkflowRuleSearchPost( + String atlassianTransferId, WorkflowRulesSearch workflowRulesSearch, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/atlassian-connect/1/migration/workflow/rule/search"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + headers.put("Atlassian-Transfer-Id", atlassianTransferId); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(workflowRulesSearch)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_migrationResourceWorkflowRuleSearchPost); + } + +} diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AppPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AppPropertiesApi.java index 6e2b229..a68be5c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AppPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AppPropertiesApi.java @@ -41,7 +41,7 @@ public class AppPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addonPropertiesResourceGetAddonPropertiesGet = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ApplicationRolesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ApplicationRolesApi.java index 329da15..be43c58 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ApplicationRolesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ApplicationRolesApi.java @@ -39,7 +39,7 @@ public class ApplicationRolesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getAllApplicationRoles = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AuditRecordsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AuditRecordsApi.java index d83f6e1..50185df 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AuditRecordsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AuditRecordsApi.java @@ -40,7 +40,7 @@ public class AuditRecordsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAuditRecords = new TypeReference() {}; @@ -52,10 +52,10 @@ public AuditRecordsApi(RestClient restClient) { /** * Get audit records - * Returns a list of audit records. The list can be filtered to include items: * containing a string in at least one field. For example, providing *up* will return all audit records where one or more fields contains words such as *update*. * created on or after a date and time. * created or or before a date and time. * created during a time period. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Returns a list of audit records. The list can be filtered to include items: * where each item in `filter` has at least one match in any of these fields: * `summary` * `category` * `eventSource` * `objectItem.name` If the object is a user, account ID is available to filter. * `objectItem.parentName` * `objectItem.typeName` * `changedValues.changedFrom` * `changedValues.changedTo` * `remoteAddress` For example, if `filter` contains *man ed*, an audit record containing `summary\": \"User added to group\"` and `\"category\": \"group management\"` is returned. * created on or after a date and time. * created or or before a date and time. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param offset The number of records to skip before returning the first result. (optional, default to 0) * @param limit The maximum number of results to return. (optional, default to 1000) - * @param filter The query string. (optional) + * @param filter The strings to match with audit field content, space separated. (optional) * @param from The date and time on or after which returned audit records must have been created. If `to` is provided `from` must be before `to` or no audit records are returned. (optional) * @param to The date and time on or before which returned audit results must have been created. If `from` is provided `to` must be after `from` or no audit records are returned. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AvatarsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AvatarsApi.java index 2447674..2ec5434 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AvatarsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/AvatarsApi.java @@ -41,7 +41,7 @@ public class AvatarsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAllSystemAvatars = new TypeReference() {}; @@ -117,7 +117,7 @@ public Single getAllSystemAvatars( /** * Get avatars - * Returns the system and custom avatars for a project or issue type. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. + * Returns the system and custom avatars for a project or issue type. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * for custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to. * for custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in. * for system avatars, none. * @param type The avatar type. (required) * @param entityId The ID of the item the avatar is associated with. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/DashboardsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/DashboardsApi.java index 19b60a8..9d6aa5a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/DashboardsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/DashboardsApi.java @@ -45,7 +45,7 @@ public class DashboardsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_copyDashboard = new TypeReference() {}; @@ -330,7 +330,7 @@ public Single getDashboardItemPropertyKeys( * @param orderBy [Order](#ordering) the results by a field: * `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use. * `favourite_count` Sorts by dashboard popularity. * `id` Sorts by dashboard ID. * `is_favourite` Sorts by whether the dashboard is marked as a favorite. * `name` Sorts by dashboard name. * `owner` Sorts by dashboard owner name. (optional, default to name) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) - * @param expand Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include: * `description` Returns the description of the dashboard. * `owner` Returns the owner of the dashboard. * `viewUrl` Returns the URL that is used to view the dashboard. * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite. * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite. * `sharePermissions` Returns details of the share permissions defined for the dashboard. (optional) + * @param expand Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include: * `description` Returns the description of the dashboard. * `owner` Returns the owner of the dashboard. * `viewUrl` Returns the URL that is used to view the dashboard. * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite. * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite. * `sharePermissions` Returns details of the share permissions defined for the dashboard. * `editPermissions` Returns details of the edit permissions defined for the dashboard. * `isWritable` Returns whether the current user has permission to edit the dashboard. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanDashboard> */ diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/DynamicModulesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/DynamicModulesApi.java index 073c782..adc4711 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/DynamicModulesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/DynamicModulesApi.java @@ -40,7 +40,7 @@ public class DynamicModulesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_dynamicModulesResourceGetModulesGet = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/FilterSharingApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/FilterSharingApi.java index 6e58816..af712a7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/FilterSharingApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/FilterSharingApi.java @@ -41,7 +41,7 @@ public class FilterSharingApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_addSharePermission = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/FiltersApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/FiltersApi.java index dc5a9ff..d673a5e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/FiltersApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/FiltersApi.java @@ -42,7 +42,7 @@ public class FiltersApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createFilter = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/GroupAndUserPickerApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/GroupAndUserPickerApi.java index 9c9c2d6..1278e18 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/GroupAndUserPickerApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/GroupAndUserPickerApi.java @@ -39,7 +39,7 @@ public class GroupAndUserPickerApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_findUsersAndGroups = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/GroupsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/GroupsApi.java index 2c48a6d..0a38e1f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/GroupsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/GroupsApi.java @@ -28,12 +28,10 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; -import org.everit.atlassian.restclient.jiracloud.v3.model.AddGroupBean; import org.everit.atlassian.restclient.jiracloud.v3.model.FoundGroups; import org.everit.atlassian.restclient.jiracloud.v3.model.Group; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanGroupDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanUserDetails; -import org.everit.atlassian.restclient.jiracloud.v3.model.UpdateUserToGroupBean; import java.util.ArrayList; import java.util.Collection; @@ -44,7 +42,7 @@ public class GroupsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addUserToGroup = new TypeReference() {}; @@ -73,7 +71,7 @@ public GroupsApi(RestClient restClient) { * @return Single<Group> */ public Single addUserToGroup( - String groupname, UpdateUserToGroupBean requestBody, Optional restRequestEnhancer) { + String groupname, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -97,15 +95,16 @@ public Single addUserToGroup( /** * Bulk get groups - * Returns a [paginated](#pagination) list of the groups specified by one or more group IDs. **[Permissions](#permissions) required:** Permission to access Jira. - * @param groupId The ID of a group. To specify multiple groups, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`. (required) + * Returns a [paginated](#pagination) list of groups. **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) - * @param maxResults The maximum number of items to return per page. (optional, default to 10) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param groupId The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`. (optional, default to new ArrayList<>()) + * @param groupName The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example, `groupName=administrators&groupName=jira-software-users`. (optional, default to new ArrayList<>()) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanGroupDetails> */ public Single bulkGetGroups( - List groupId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + Optional startAt, Optional maxResults, Optional> groupId, Optional> groupName, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -122,7 +121,12 @@ public Single bulkGetGroups( if (maxResults.isPresent()) { queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); } - queryParams.put("groupId", RestClientUtil.objectCollectionToStringCollection(groupId)); + if (groupId.isPresent()) { + queryParams.put("groupId", RestClientUtil.objectCollectionToStringCollection(groupId.get())); + } + if (groupName.isPresent()) { + queryParams.put("groupName", RestClientUtil.objectCollectionToStringCollection(groupName.get())); + } requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); @@ -139,7 +143,7 @@ public Single bulkGetGroups( * @return Single<Group> */ public Single createGroup( - AddGroupBean requestBody, Optional restRequestEnhancer) { + Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -167,7 +171,7 @@ public Single createGroup( * @param query The string to find in group names. (optional) * @param exclude A group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`. (optional, default to new ArrayList<>()) * @param maxResults The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`. (optional) - * @param userName This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param userName This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<FoundGroups> */ @@ -317,7 +321,7 @@ public Completable removeGroup( * Removes a user from a group. **[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)). * @param groupname The name of the group. (required) * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (required) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable */ diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/InstanceInformationApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/InstanceInformationApi.java new file mode 100644 index 0000000..6fbfd45 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/InstanceInformationApi.java @@ -0,0 +1,78 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.everit.atlassian.restclient.jiracloud.v3.api; + +import java.util.Optional; + +import io.reactivex.Single; +import io.reactivex.Completable; + +import org.everit.http.client.HttpMethod; + +import org.everit.http.restclient.RestClient; +import org.everit.http.restclient.RestClientUtil; +import org.everit.http.restclient.RestRequest; +import org.everit.http.restclient.RestRequestEnhancer; +import org.everit.http.restclient.TypeReference; + +import org.everit.atlassian.restclient.jiracloud.v3.model.License; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class InstanceInformationApi { + + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_getLicense = new TypeReference() {}; + + private final RestClient restClient; + + public InstanceInformationApi(RestClient restClient) { + this.restClient = restClient; + } + + /** + * Get license + * Returns licensing information about the Jira instance. **[Permissions](#permissions) required:** None. + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<License> + */ + public Single getLicense(Optional restRequestEnhancer) + { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/instance/license"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getLicense); + } + +} diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueAttachmentsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueAttachmentsApi.java index 66cd473..859a6a8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueAttachmentsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueAttachmentsApi.java @@ -43,7 +43,7 @@ public class IssueAttachmentsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_addAttachment = new TypeReference>() {}; @@ -63,7 +63,7 @@ public IssueAttachmentsApi(RestClient restClient) { /** * Add attachment - * Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)). Note that: * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information. * The name of the multipart/form-data parameter that contains the attachments must be `file`. The following example uploads a file called *myfile.txt* to the issue *TEST-123*: `curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: no-check\" -F \"file=@myfile.txt\" https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments` Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. + * Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)). Note that: * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information. * The name of the multipart/form-data parameter that contains the attachments must be `file`. The following examples upload a file called *myfile.txt* to the issue *TEST-123*: #### curl #### curl --location --request POST 'https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments' -u 'email@example.com:' -H 'X-Atlassian-Token: no-check' --form 'file=@\"myfile.txt\"' #### Node.js #### // This code sample uses the 'node-fetch' and 'form-data' libraries: // https://www.npmjs.com/package/node-fetch // https://www.npmjs.com/package/form-data const fetch = require('node-fetch'); const FormData = require('form-data'); const fs = require('fs'); const filePath = 'myfile.txt'; const form = new FormData(); const stats = fs.statSync(filePath); const fileSizeInBytes = stats.size; const fileStream = fs.createReadStream(filePath); form.append('file', fileStream, {knownLength: fileSizeInBytes}); fetch('https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments', { method: 'POST', body: form, headers: { 'Authorization': `Basic ${Buffer.from( 'email@example.com:' ).toString('base64')}`, 'Accept': 'application/json', 'X-Atlassian-Token': 'no-check' } }) .then(response => { console.log( `Response: ${response.status} ${response.statusText}` ); return response.text(); }) .then(text => console.log(text)) .catch(err => console.error(err)); #### Java #### // This code sample uses the 'Unirest' library: // http://unirest.io/java.html HttpResponse response = Unirest.post(\"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\") .basicAuth(\"email@example.com\", \"\") .header(\"Accept\", \"application/json\") .header(\"X-Atlassian-Token\", \"no-check\") .field(\"file\", new File(\"myfile.txt\")) .asJson(); System.out.println(response.getBody()); #### Python #### # This code sample uses the 'requests' library: # http://docs.python-requests.org import requests from requests.auth import HTTPBasicAuth import json url = \"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\" auth = HTTPBasicAuth(\"email@example.com\", \"\") headers = { \"Accept\": \"application/json\", \"X-Atlassian-Token\": \"no-check\" } response = requests.request( \"POST\", url, headers = headers, auth = auth, files = { \"file\": (\"myfile.txt\", open(\"myfile.txt\",\"rb\"), \"application-type\") } ) print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(\",\", \": \"))) #### PHP #### // This code sample uses the 'Unirest' library: // http://unirest.io/php.html Unirest\\Request::auth('email@example.com', ''); $headers = array( 'Accept' => 'application/json', 'X-Atlassian-Token' => 'no-check' ); $parameters = array( 'file' => File::add('myfile.txt') ); $response = Unirest\\Request::post( 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments', $headers, $parameters ); var_dump($response) #### Forge #### // This sample uses Atlassian Forge and the `form-data` library. // https://developer.atlassian.com/platform/forge/ // https://www.npmjs.com/package/form-data import api from \"@forge/api\"; import FormData from \"form-data\"; const form = new FormData(); form.append('file', fileStream, {knownLength: fileSizeInBytes}); const response = await api.asApp().requestJira('/rest/api/2/issue/{issueIdOrKey}/attachments', { method: 'POST', body: form, headers: { 'Accept': 'application/json', 'X-Atlassian-Token': 'no-check' } }); console.log(`Response: ${response.status} ${response.statusText}`); console.log(await response.json()); Tip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * @param issueIdOrKey The ID or key of the issue that attachments are added to. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<List<Attachment>> diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCommentPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCommentPropertiesApi.java index 54ad8e8..9e570d3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCommentPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCommentPropertiesApi.java @@ -40,7 +40,7 @@ public class IssueCommentPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getCommentProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCommentsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCommentsApi.java index 8f25da2..505f1fd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCommentsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCommentsApi.java @@ -42,7 +42,7 @@ public class IssueCommentsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addComment = new TypeReference() {}; @@ -70,7 +70,7 @@ public IssueCommentsApi(RestClient restClient) { * @return Single<Comment> */ public Single addComment( - String issueIdOrKey, Comment requestBody, Optional expand, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -205,7 +205,7 @@ public Single getComments( /** * Get comments by IDs - * Returns a [paginated](#pagination) list of just the comments for a list of comments specified by comment IDs. This operation can be accessed anonymously. **[Permissions](#permissions) required:** Comments are returned where the user: * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to. + * Returns a [paginated](#pagination) list of comments specified by a list of comment IDs. This operation can be accessed anonymously. **[Permissions](#permissions) required:** Comments are returned where the user: * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to. * @param issueCommentListRequestBean The list of comment IDs. (required) * @param expand Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include: * `renderedBody` Returns the comment body rendered in HTML. * `properties` Returns the comment's properties. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -247,7 +247,7 @@ public Single getCommentsByIds( * @return Single<Comment> */ public Single updateComment( - String issueIdOrKey, String id, Comment requestBody, Optional expand, Optional restRequestEnhancer) { + String issueIdOrKey, String id, Map requestBody, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldConfigurationAppsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldConfigurationAppsApi.java new file mode 100644 index 0000000..3a4a731 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldConfigurationAppsApi.java @@ -0,0 +1,138 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.everit.atlassian.restclient.jiracloud.v3.api; + +import java.util.Optional; + +import io.reactivex.Single; +import io.reactivex.Completable; + +import org.everit.http.client.HttpMethod; + +import org.everit.http.restclient.RestClient; +import org.everit.http.restclient.RestClientUtil; +import org.everit.http.restclient.RestRequest; +import org.everit.http.restclient.RestRequestEnhancer; +import org.everit.http.restclient.TypeReference; + +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldConfigurations; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanContextualConfiguration; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class IssueCustomFieldConfigurationAppsApi { + + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_getCustomFieldConfiguration = new TypeReference() {}; + + private static final TypeReference returnType_updateCustomFieldConfiguration = new TypeReference() {}; + + private final RestClient restClient; + + public IssueCustomFieldConfigurationAppsApi(RestClient restClient) { + this.restClient = restClient; + } + + /** + * Get custom field configurations + * Returns a [paginated](#pagination) list of configurations for a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/). The result can be filtered by one of these criteria: * `contextId`. * `issueId`. * `projectKeyOrId` and `issueTypeId`. Otherwise, all configurations are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field. + * @param fieldIdOrKey The ID or key of the custom field, for example `customfield_10000`. (required) + * @param contextId The list of context IDs. To include multiple contexts, separate IDs with an ampersand: `contextId=10000&contextId=10001`. Can't be provided with `issueId`, `projectKeyOrId`, or `issueTypeId`. (optional, default to new ArrayList<>()) + * @param issueId The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided with `contextIds`, `projectKeyOrId`, or `issueTypeId`. (optional) + * @param projectKeyOrId The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with `contextIds` or `issueId`. (optional) + * @param issueTypeId The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with `contextIds` or `issueId`. (optional) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 100) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanContextualConfiguration> + */ + public Single getCustomFieldConfiguration( + String fieldIdOrKey, Optional> contextId, Optional issueId, Optional projectKeyOrId, Optional issueTypeId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/app/field/{fieldIdOrKey}/context/configuration"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldIdOrKey", String.valueOf(fieldIdOrKey)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (issueId.isPresent()) { + queryParams.put("issueId", Collections.singleton(String.valueOf(issueId.get()))); + } + if (projectKeyOrId.isPresent()) { + queryParams.put("projectKeyOrId", Collections.singleton(String.valueOf(projectKeyOrId.get()))); + } + if (issueTypeId.isPresent()) { + queryParams.put("issueTypeId", Collections.singleton(String.valueOf(issueTypeId.get()))); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getCustomFieldConfiguration); + } + + /** + * Update custom field configurations + * Update the configuration for contexts of a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field. + * @param fieldIdOrKey The ID or key of the custom field, for example `customfield_10000`. (required) + * @param customFieldConfigurations (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateCustomFieldConfiguration( + String fieldIdOrKey, CustomFieldConfigurations customFieldConfigurations, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/app/field/{fieldIdOrKey}/context/configuration"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldIdOrKey", String.valueOf(fieldIdOrKey)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(customFieldConfigurations)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldConfiguration); + } + +} diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldContextsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldContextsApi.java index 361b4d0..440b363 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldContextsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldContextsApi.java @@ -28,6 +28,17 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; +import org.everit.atlassian.restclient.jiracloud.v3.model.CreateCustomFieldContext; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldContextDefaultValueUpdate; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldContextUpdateDetails; +import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeIDs; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanContextForProjectAndIssueType; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanCustomFieldContext; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanCustomFieldContextDefaultValue; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanCustomFieldContextProjectMapping; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanIssueTypeToContextMapping; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectIds; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectIssueTypeMappings; import java.util.ArrayList; import java.util.Collection; @@ -38,19 +49,140 @@ public class IssueCustomFieldContextsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_addIssueTypesToContext = new TypeReference() {}; + + private static final TypeReference returnType_assignProjectsToCustomFieldContext = new TypeReference() {}; + + private static final TypeReference returnType_createCustomFieldContext = new TypeReference() {}; private static final TypeReference returnType_deleteCustomFieldContext = new TypeReference() {}; + private static final TypeReference returnType_getContextsForField = new TypeReference() {}; + + private static final TypeReference returnType_getCustomFieldContextsForProjectsAndIssueTypes = new TypeReference() {}; + + private static final TypeReference returnType_getDefaultValues = new TypeReference() {}; + + private static final TypeReference returnType_getIssueTypeMappingsForContexts = new TypeReference() {}; + + private static final TypeReference returnType_getProjectContextMapping = new TypeReference() {}; + + private static final TypeReference returnType_removeCustomFieldContextFromProjects = new TypeReference() {}; + + private static final TypeReference returnType_removeIssueTypesFromContext = new TypeReference() {}; + + private static final TypeReference returnType_setDefaultValues = new TypeReference() {}; + + private static final TypeReference returnType_updateCustomFieldContext = new TypeReference() {}; + private final RestClient restClient; public IssueCustomFieldContextsApi(RestClient restClient) { this.restClient = restClient; } + /** + * Add issue types to context + * Adds issue types to a custom field context, appending the issue types to the issue types list. A custom field context without any issue types applies to all issue types. Adding issue types to such a custom field context would result in it applying to only the listed issue types. If any of the issue types exists in the custom field context, the operation fails and no issue types are added. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param issueTypeIDs (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single addIssueTypesToContext( + String fieldId, Long contextId, IssueTypeIDs issueTypeIDs, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/{contextId}/issuetype"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueTypeIDs)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_addIssueTypesToContext); + } + + /** + * Assign custom field context to projects + * Assigns a custom field context to projects. If any project in the request is assigned to any context of the custom field, the operation fails. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param projectIds (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single assignProjectsToCustomFieldContext( + String fieldId, Long contextId, ProjectIds projectIds, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/{contextId}/project"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(projectIds)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_assignProjectsToCustomFieldContext); + } + + /** + * Create custom field context + * Creates a custom field context. If `projectIds` is empty, a global context is created. A global context is one that applies to all project. If `issueTypeIds` is empty, the context applies to all issue types. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param createCustomFieldContext (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<CreateCustomFieldContext> + */ + public Single createCustomFieldContext( + String fieldId, CreateCustomFieldContext createCustomFieldContext, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(createCustomFieldContext)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createCustomFieldContext); + } + /** * Delete custom field context - * Deletes [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html). Only custom field contexts used in classic projects can be deleted. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Deletes a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param fieldId The ID of the custom field. (required) * @param contextId The ID of the context. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -78,4 +210,341 @@ public Single deleteCustomFieldContext( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_deleteCustomFieldContext); } + /** + * Get custom field contexts + * Returns a [paginated](#pagination) list of [ contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a custom field. Contexts can be returned as follows: * With no other parameters set, all contexts. * By defining `id` only, all contexts from the list of IDs. * By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types (true) or those that apply to only a subset of issue types (false) * By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global contexts) (true) or those that apply to only a subset of projects (false). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param isAnyIssueType Whether to return contexts that apply to all issue types. (optional) + * @param isGlobalContext Whether to return contexts that apply to all projects. (optional) + * @param contextId The list of context IDs. To include multiple contexts, separate IDs with ampersand: `contextId=10000&contextId=10001`. (optional, default to new ArrayList<>()) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanCustomFieldContext> + */ + public Single getContextsForField( + String fieldId, Optional isAnyIssueType, Optional isGlobalContext, Optional> contextId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (isAnyIssueType.isPresent()) { + queryParams.put("isAnyIssueType", Collections.singleton(String.valueOf(isAnyIssueType.get()))); + } + if (isGlobalContext.isPresent()) { + queryParams.put("isGlobalContext", Collections.singleton(String.valueOf(isGlobalContext.get()))); + } + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getContextsForField); + } + + /** + * Get custom field contexts for projects and issue types + * Returns a [paginated](#pagination) list of project and issue type mappings and, for each mapping, the ID of a [custom field context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type. If there is no custom field context assigned to the project then, if present, the custom field context that applies to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is not found, the returned custom field context ID is `null`. Duplicate project and issue type mappings cannot be provided in the request. The order of the returned values is the same as provided in the request. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param projectIssueTypeMappings The list of project and issue type mappings. (required) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanContextForProjectAndIssueType> + */ + public Single getCustomFieldContextsForProjectsAndIssueTypes( + String fieldId, ProjectIssueTypeMappings projectIssueTypeMappings, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/mapping"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(projectIssueTypeMappings)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getCustomFieldContextsForProjectsAndIssueTypes); + } + + /** + * Get custom field contexts default values + * Returns a [paginated](#pagination) list of defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no defaults are set for a context, nothing is returned. The returned object depends on type of the custom field: * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons. * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes. * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field, for example `customfield\\_10000`. (required) + * @param contextId The IDs of the contexts. (optional, default to new ArrayList<>()) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanCustomFieldContextDefaultValue> + */ + public Single getDefaultValues( + String fieldId, Optional> contextId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/defaultValue"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getDefaultValues); + } + + /** + * Get issue types for custom field context + * Returns a [paginated](#pagination) list of context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts. Mappings are ordered first by context ID and then by issue type ID. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. To include multiple contexts, provide an ampersand-separated list. For example, `contextId=10001&contextId=10002`. (optional, default to new ArrayList<>()) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanIssueTypeToContextMapping> + */ + public Single getIssueTypeMappingsForContexts( + String fieldId, Optional> contextId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/issuetypemapping"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getIssueTypeMappingsForContexts); + } + + /** + * Get project mappings for custom field context + * Returns a [paginated](#pagination) list of context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings are returned. Invalid IDs are ignored. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field, for example `customfield\\_10000`. (required) + * @param contextId The list of context IDs. To include multiple context, separate IDs with ampersand: `contextId=10000&contextId=10001`. (optional, default to new ArrayList<>()) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanCustomFieldContextProjectMapping> + */ + public Single getProjectContextMapping( + String fieldId, Optional> contextId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/projectmapping"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (contextId.isPresent()) { + queryParams.put("contextId", RestClientUtil.objectCollectionToStringCollection(contextId.get())); + } + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getProjectContextMapping); + } + + /** + * Remove custom field context from projects + * Removes a custom field context from projects. A custom field context without any projects applies to all projects. Removing all projects from a custom field context would result in it applying to all projects. If any project in the request is not assigned to the context, or the operation would result in two global contexts for the field, the operation fails. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param projectIds (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single removeCustomFieldContextFromProjects( + String fieldId, Long contextId, ProjectIds projectIds, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/{contextId}/project/remove"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(projectIds)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_removeCustomFieldContextFromProjects); + } + + /** + * Remove issue types from context + * Removes issue types from a custom field context. A custom field context without any issue types applies to all issue types. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param issueTypeIDs (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single removeIssueTypesFromContext( + String fieldId, Long contextId, IssueTypeIDs issueTypeIDs, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/{contextId}/issuetype/remove"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueTypeIDs)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_removeIssueTypesFromContext); + } + + /** + * Set custom field contexts default values + * Sets default for contexts of a custom field. Default are defined using these objects: * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons. * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes. * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists. Only one type of default object can be included in a request. To remove a default for a context, set the default parameter to `null`. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param customFieldContextDefaultValueUpdate (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single setDefaultValues( + String fieldId, CustomFieldContextDefaultValueUpdate customFieldContextDefaultValueUpdate, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/defaultValue"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(customFieldContextDefaultValueUpdate)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_setDefaultValues); + } + + /** + * Update custom field context + * Updates a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param customFieldContextUpdateDetails (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateCustomFieldContext( + String fieldId, Long contextId, CustomFieldContextUpdateDetails customFieldContextUpdateDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}/context/{contextId}"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(customFieldContextUpdateDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldContext); + } + } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldOptionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldOptionsApi.java index f65ca36..da681f5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldOptionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldOptionsApi.java @@ -28,13 +28,13 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; -import org.everit.atlassian.restclient.jiracloud.v3.model.BulkCreateCustomFieldOptionRequest; +import org.everit.atlassian.restclient.jiracloud.v3.model.BulkCustomFieldOptionCreateRequest; +import org.everit.atlassian.restclient.jiracloud.v3.model.BulkCustomFieldOptionUpdateRequest; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldCreatedContextOptionsList; import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldOption; -import org.everit.atlassian.restclient.jiracloud.v3.model.ErrorCollection; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldUpdatedContextOptionsList; import org.everit.atlassian.restclient.jiracloud.v3.model.OrderOfCustomFieldOptions; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanCustomFieldContextOption; -import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanCustomFieldOptionDetails; -import org.everit.atlassian.restclient.jiracloud.v3.model.UpdateCustomFieldOption; import java.util.ArrayList; import java.util.Collection; @@ -45,19 +45,17 @@ public class IssueCustomFieldOptionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; - private static final TypeReference returnType_createCustomFieldOptions = new TypeReference() {}; + private static final TypeReference returnType_createCustomFieldOption = new TypeReference() {}; private static final TypeReference returnType_getCustomFieldOption = new TypeReference() {}; private static final TypeReference returnType_getOptionsForContext = new TypeReference() {}; - private static final TypeReference returnType_getOptionsForField = new TypeReference() {}; - private static final TypeReference returnType_reorderCustomFieldOptions = new TypeReference() {}; - private static final TypeReference returnType_updateCustomFieldOptions = new TypeReference() {}; + private static final TypeReference returnType_updateCustomFieldOption = new TypeReference() {}; private final RestClient restClient; @@ -66,23 +64,25 @@ public IssueCustomFieldOptionsApi(RestClient restClient) { } /** - * Create custom field options - * Creates options and, where the custom select field is of the type *Select List (cascading)*, cascading options for a custom select field. The options are added to the global context of the field. Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*. (required) - * @param bulkCreateCustomFieldOptionRequest (required) + * Create custom field options (context) + * Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a custom select field. The options are added to a context of the field. The maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000 options. This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.** **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param bulkCustomFieldOptionCreateRequest (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Object> + * @return Single<CustomFieldCreatedContextOptionsList> */ - public Single createCustomFieldOptions( - Long fieldId, BulkCreateCustomFieldOptionRequest bulkCreateCustomFieldOptionRequest, Optional restRequestEnhancer) { + public Single createCustomFieldOption( + String fieldId, Long contextId, BulkCustomFieldOptionCreateRequest bulkCustomFieldOptionCreateRequest, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) .basePath(DEFAULT_BASE_PATH) - .path("/rest/api/3/customField/{fieldId}/option"); + .path("/rest/api/3/field/{fieldId}/context/{contextId}/option"); Map pathParams = new HashMap<>(); pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); requestBuilder.pathParams(pathParams); Map> queryParams = new HashMap<>(); @@ -91,15 +91,15 @@ public Single createCustomFieldOptions( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(bulkCreateCustomFieldOptionRequest)); + requestBuilder.requestBody(Optional.of(bulkCustomFieldOptionCreateRequest)); - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createCustomFieldOptions); + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createCustomFieldOption); } /** - * Delete custom field option (context) + * Delete custom field options (context) * Deletes a custom field option. Options with cascading options cannot be deleted without deleting the cascading options first. This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.** **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*. (required) + * @param fieldId The ID of the custom field. (required) * @param contextId The ID of the context from which an option should be deleted. (required) * @param optionId The ID of the option to delete. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -157,14 +157,14 @@ public Single getCustomFieldOption( } /** - * Get options for field (context) + * Get custom field options (context) * Returns a [paginated](#pagination) list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira. This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.** **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*. (required) + * @param fieldId The ID of the custom field. (required) * @param contextId The ID of the context. (required) * @param optionId The ID of the option. (optional) * @param onlyOptions Whether only options are returned. (optional, default to false) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) - * @param maxResults The maximum number of items to return per page. (optional, default to 1000) + * @param maxResults The maximum number of items to return per page. (optional, default to 100) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanCustomFieldContextOption> */ @@ -203,45 +203,9 @@ public Single getOptionsForContext( } /** - * Get options for field - * Returns a [paginated](#pagination) list of options and, where the custom select field is of the type *Select List (cascading)*, cascading options for custom select fields. Cascading options are included in the item count when determining pagination. Only options from the global context are returned. Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*. (required) - * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) - * @param maxResults The maximum number of items to return per page. (optional, default to 1000) - * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<PageBeanCustomFieldOptionDetails> - */ - public Single getOptionsForField( - Long fieldId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { - - RestRequest.Builder requestBuilder = RestRequest.builder() - .method(HttpMethod.GET) - .basePath(DEFAULT_BASE_PATH) - .path("/rest/api/3/customField/{fieldId}/option"); - - Map pathParams = new HashMap<>(); - pathParams.put("fieldId", String.valueOf(fieldId)); - requestBuilder.pathParams(pathParams); - - Map> queryParams = new HashMap<>(); - if (startAt.isPresent()) { - queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); - } - if (maxResults.isPresent()) { - queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); - } - requestBuilder.queryParams(queryParams); - - Map headers = new HashMap<>(); - requestBuilder.headers(headers); - - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getOptionsForField); - } - - /** - * Reorder options (context) + * Reorder custom field options (context) * Changes the order of custom field options or cascading options in a context. This operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.** **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*. (required) + * @param fieldId The ID of the custom field. (required) * @param contextId The ID of the context. (required) * @param orderOfCustomFieldOptions (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -272,23 +236,25 @@ public Single reorderCustomFieldOptions( } /** - * Update custom field options - * Updates the options on a custom select field. Where an updated option is in use on an issue, the value on the issue is also updated. Options that are not found are ignored. A maximum of 1000 options, including sub-options of *Select List (cascading)* fields, can be updated per request. The options are updated on the global context of the field. Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param fieldId The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*. (required) - * @param updateCustomFieldOption (required) + * Update custom field options (context) + * Updates the options of a custom field. If any of the options are not found, no options are updated. Options where the values in the request match the current values aren't updated and aren't reported in the response. Note that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param contextId The ID of the context. (required) + * @param bulkCustomFieldOptionUpdateRequest (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Object> + * @return Single<CustomFieldUpdatedContextOptionsList> */ - public Single updateCustomFieldOptions( - Long fieldId, UpdateCustomFieldOption updateCustomFieldOption, Optional restRequestEnhancer) { + public Single updateCustomFieldOption( + String fieldId, Long contextId, BulkCustomFieldOptionUpdateRequest bulkCustomFieldOptionUpdateRequest, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) .basePath(DEFAULT_BASE_PATH) - .path("/rest/api/3/customField/{fieldId}/option"); + .path("/rest/api/3/field/{fieldId}/context/{contextId}/option"); Map pathParams = new HashMap<>(); pathParams.put("fieldId", String.valueOf(fieldId)); + pathParams.put("contextId", String.valueOf(contextId)); requestBuilder.pathParams(pathParams); Map> queryParams = new HashMap<>(); @@ -297,9 +263,9 @@ public Single updateCustomFieldOptions( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(updateCustomFieldOption)); + requestBuilder.requestBody(Optional.of(bulkCustomFieldOptionUpdateRequest)); - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldOptions); + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldOption); } } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldOptionsAppsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldOptionsAppsApi.java index 6f4a908..6b3a1bf 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldOptionsAppsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldOptionsAppsApi.java @@ -29,7 +29,6 @@ import org.everit.http.restclient.TypeReference; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueFieldOption; -import org.everit.atlassian.restclient.jiracloud.v3.model.IssueFieldOptionCreateBean; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanIssueFieldOption; import org.everit.atlassian.restclient.jiracloud.v3.model.TaskProgressBeanRemoveOptionFromIssuesResult; @@ -42,7 +41,7 @@ public class IssueCustomFieldOptionsAppsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createIssueFieldOption = new TypeReference() {}; @@ -73,7 +72,7 @@ public IssueCustomFieldOptionsAppsApi(RestClient restClient) { * @return Single<IssueFieldOption> */ public Single createIssueFieldOption( - String fieldKey, IssueFieldOptionCreateBean requestBody, Optional restRequestEnhancer) { + String fieldKey, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldValuesAppsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldValuesAppsApi.java new file mode 100644 index 0000000..ad4eb0a --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueCustomFieldValuesAppsApi.java @@ -0,0 +1,87 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.everit.atlassian.restclient.jiracloud.v3.api; + +import java.util.Optional; + +import io.reactivex.Single; +import io.reactivex.Completable; + +import org.everit.http.client.HttpMethod; + +import org.everit.http.restclient.RestClient; +import org.everit.http.restclient.RestClientUtil; +import org.everit.http.restclient.RestRequest; +import org.everit.http.restclient.RestRequestEnhancer; +import org.everit.http.restclient.TypeReference; + +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldValueUpdateRequest; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class IssueCustomFieldValuesAppsApi { + + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_updateCustomFieldValue = new TypeReference() {}; + + private final RestClient restClient; + + public IssueCustomFieldValuesAppsApi(RestClient restClient) { + this.restClient = restClient; + } + + /** + * Update custom field value + * Updates the value of a custom field on one or more issues. Custom fields can only be updated by the Forge app that created them. **[Permissions](#permissions) required:** Only the app that created the custom field can update its values with this operation. + * @param fieldIdOrKey The ID or key of the custom field. For example, `customfield_10010`. (required) + * @param customFieldValueUpdateRequest (required) + * @param generateChangelog Whether to generate a changelog for this update. Default: true. (optional, default to true) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateCustomFieldValue( + String fieldIdOrKey, CustomFieldValueUpdateRequest customFieldValueUpdateRequest, Optional generateChangelog, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/app/field/{fieldIdOrKey}/value"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldIdOrKey", String.valueOf(fieldIdOrKey)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (generateChangelog.isPresent()) { + queryParams.put("generateChangelog", Collections.singleton(String.valueOf(generateChangelog.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(customFieldValueUpdateRequest)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomFieldValue); + } + +} diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueFieldConfigurationsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueFieldConfigurationsApi.java index 2c095df..ed877db 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueFieldConfigurationsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueFieldConfigurationsApi.java @@ -44,7 +44,7 @@ public class IssueFieldConfigurationsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_assignFieldConfigurationSchemeToProject = new TypeReference() {}; @@ -133,16 +133,17 @@ public Single getAllFieldConfigurationSchemes( /** * Get all field configurations - * Returns a [paginated](#pagination) list of all field configurations. Only field configurations used in classic projects are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Returns a [paginated](#pagination) list of field configurations. The list can be for all field configurations or a subset determined by any combination of these criteria: * a list of field configuration item IDs. * whether the field configuration is a default. * whether the field configuration name or description contains a query string. Only field configurations used in classic projects are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) * @param id The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. (optional, default to new ArrayList<>()) - * @param isDefault If *true* returns the default field configuration only. (optional, default to false) + * @param isDefault If *true* returns default field configurations only. (optional, default to false) + * @param query The query string used to match against field configuration names and descriptions. (optional, default to "") * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanFieldConfiguration> */ public Single getAllFieldConfigurations( - Optional startAt, Optional maxResults, Optional> id, Optional isDefault, Optional restRequestEnhancer) { + Optional startAt, Optional maxResults, Optional> id, Optional isDefault, Optional query, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -165,6 +166,9 @@ public Single getAllFieldConfigurations( if (isDefault.isPresent()) { queryParams.put("isDefault", Collections.singleton(String.valueOf(isDefault.get()))); } + if (query.isPresent()) { + queryParams.put("query", Collections.singleton(String.valueOf(query.get()))); + } requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueFieldsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueFieldsApi.java index 16653c8..007017d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueFieldsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueFieldsApi.java @@ -33,6 +33,7 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.FieldDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanContext; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanField; +import org.everit.atlassian.restclient.jiracloud.v3.model.UpdateCustomFieldDetails; import java.util.ArrayList; import java.util.Collection; @@ -43,16 +44,18 @@ public class IssueFieldsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createCustomField = new TypeReference() {}; - private static final TypeReference returnType_getContextsForField = new TypeReference() {}; + private static final TypeReference returnType_getContextsForFieldDeprecated = new TypeReference() {}; private static final TypeReference> returnType_getFields = new TypeReference>() {}; private static final TypeReference returnType_getFieldsPaginated = new TypeReference() {}; + private static final TypeReference returnType_updateCustomField = new TypeReference() {}; + private final RestClient restClient; public IssueFieldsApi(RestClient restClient) { @@ -90,14 +93,16 @@ public Single createCustomField( /** * Get contexts for a field - * Returns a [paginated](#pagination) list of the contexts a field is used in. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Returns a [paginated](#pagination) list of the contexts a field is used in. Deprecated, use [ Get custom field contexts](#api-rest-api-3-field-fieldId-context-get). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param fieldId The ID of the field to return contexts for. (required) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 20) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanContext> + * @deprecated */ - public Single getContextsForField( + @Deprecated + public Single getContextsForFieldDeprecated( String fieldId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() @@ -121,7 +126,7 @@ public Single getContextsForField( Map headers = new HashMap<>(); requestBuilder.headers(headers); - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getContextsForField); + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getContextsForFieldDeprecated); } /** @@ -156,10 +161,10 @@ public Single> getFields(Optional restRe * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) * @param type The type of fields to search. (optional, default to new ArrayList<>()) - * @param id The IDs of the custom fields to return or, where`query is specified, filter. IDs should be provided in the format customfield_XXXXX.` (optional, default to new ArrayList<>()) + * @param id The IDs of the custom fields to return or, where `query` is specified, filter. (optional, default to new ArrayList<>()) * @param query String used to perform a case-insensitive partial match with field names or descriptions. (optional) * @param orderBy [Order](#ordering) the results by a field: * `contextsCount` Sorts by the number of contexts related to a field. * `lastUsed` Sorts by the date when the value of the field last changed. * `name` Sorts by the field name. * `screensCount` Sorts by the number of screens related to a field. (optional) - * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * `key` Returns the key for each field. * `lastUsed` Returns the date when the value of the field last changed. * `screensCount` Returns the number of screens related to a field. * `contextsCount` Returns the number of contexts related to a field. * `isLocked` Returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og). (optional) + * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * `key` Returns the key for each field. * `lastUsed` Returns the date when the value of the field last changed. * `screensCount` Returns the number of screens related to a field. * `contextsCount` Returns the number of contexts related to a field. * `isLocked` Returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og). * `searcherKey` Returns the searcher key for each custom field. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanField> */ @@ -204,4 +209,35 @@ public Single getFieldsPaginated( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getFieldsPaginated); } + /** + * Update custom field + * Updates a custom field. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param fieldId The ID of the custom field. (required) + * @param updateCustomFieldDetails The custom field update details. (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateCustomField( + String fieldId, UpdateCustomFieldDetails updateCustomFieldDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/field/{fieldId}"); + + Map pathParams = new HashMap<>(); + pathParams.put("fieldId", String.valueOf(fieldId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(updateCustomFieldDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateCustomField); + } + } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueLinkTypesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueLinkTypesApi.java index acf37b8..96edf4f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueLinkTypesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueLinkTypesApi.java @@ -40,7 +40,7 @@ public class IssueLinkTypesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createIssueLinkType = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueLinksApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueLinksApi.java index bc275d9..6ff3cb7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueLinksApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueLinksApi.java @@ -40,7 +40,7 @@ public class IssueLinksApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueLink = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueNavigatorSettingsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueNavigatorSettingsApi.java index c93440d..e0b5cd6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueNavigatorSettingsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueNavigatorSettingsApi.java @@ -39,7 +39,7 @@ public class IssueNavigatorSettingsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getIssueNavigatorDefaultColumns = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueNotificationSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueNotificationSchemesApi.java index 1206489..5c5876e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueNotificationSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueNotificationSchemesApi.java @@ -40,7 +40,7 @@ public class IssueNotificationSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getNotificationScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuePrioritiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuePrioritiesApi.java index 1baeb33..7593021 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuePrioritiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuePrioritiesApi.java @@ -39,7 +39,7 @@ public class IssuePrioritiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getPriorities = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuePropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuePropertiesApi.java index 6133f78..2074014 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuePropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuePropertiesApi.java @@ -44,7 +44,7 @@ public class IssuePropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueProperty = new TypeReference() {}; @@ -91,7 +91,7 @@ public Completable bulkDeleteIssueProperty( /** * Bulk set issue property - * Sets a property value on multiple issues. The issues to be updated can be specified by a filter. The filter identifies issues eligible for update using these criteria: * `entityIds` Only issues from this list are eligible. * `currentValue` Only issues with the property set to this value are eligible. * `hasProperty`: * If *true*, only issues with the property are eligible. * If *false*, only issues without the property are eligible. If more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible. If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value). The filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible. This operation is: * transactional, either all eligible issues are updated or, when errors occur, none are updated. * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue. + * Sets a property value on multiple issues. The value set can be a constant or determined by a [Jira expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable with constant complexity when applied to a set of issues. Expressions must also comply with the [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to all Jira expressions. The issues to be updated can be specified by a filter. The filter identifies issues eligible for update using these criteria: * `entityIds` Only issues from this list are eligible. * `currentValue` Only issues with the property set to this value are eligible. * `hasProperty`: * If *true*, only issues with the property are eligible. * If *false*, only issues without the property are eligible. If more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible. If an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value). The filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible. This operation is: * transactional, either all eligible issues are updated or, when errors occur, none are updated. * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue. * @param propertyKey The key of the property. The maximum length is 255 characters. (required) * @param bulkIssuePropertyUpdateRequest (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueRemoteLinksApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueRemoteLinksApi.java index 832afeb..41e2a86 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueRemoteLinksApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueRemoteLinksApi.java @@ -30,7 +30,6 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.RemoteIssueLink; import org.everit.atlassian.restclient.jiracloud.v3.model.RemoteIssueLinkIdentifies; -import org.everit.atlassian.restclient.jiracloud.v3.model.RemoteIssueLinkRequest; import java.util.ArrayList; import java.util.Collection; @@ -41,7 +40,7 @@ public class IssueRemoteLinksApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createOrUpdateRemoteIssueLink = new TypeReference() {}; @@ -66,7 +65,7 @@ public IssueRemoteLinksApi(RestClient restClient) { * @return Single<RemoteIssueLinkIdentifies> */ public Single createOrUpdateRemoteIssueLink( - String issueIdOrKey, RemoteIssueLinkRequest requestBody, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -220,7 +219,7 @@ public Single getRemoteIssueLinks( * @return Single<Object> */ public Single updateRemoteIssueLink( - String issueIdOrKey, String linkId, RemoteIssueLinkRequest requestBody, Optional restRequestEnhancer) { + String issueIdOrKey, String linkId, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueResolutionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueResolutionsApi.java index 3baa094..700aaa3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueResolutionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueResolutionsApi.java @@ -39,7 +39,7 @@ public class IssueResolutionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getResolution = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSearchApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSearchApi.java index bf0019b..fb73c2f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSearchApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSearchApi.java @@ -43,7 +43,7 @@ public class IssueSearchApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssuePickerResource = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSecurityLevelApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSecurityLevelApi.java index 8794c0d..b0fe2b0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSecurityLevelApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSecurityLevelApi.java @@ -40,7 +40,7 @@ public class IssueSecurityLevelApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueSecurityLevel = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSecuritySchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSecuritySchemesApi.java index d62b443..72c4732 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSecuritySchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueSecuritySchemesApi.java @@ -40,7 +40,7 @@ public class IssueSecuritySchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueSecurityScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypePropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypePropertiesApi.java index 6c00c4c..8534dc4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypePropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypePropertiesApi.java @@ -40,7 +40,7 @@ public class IssueTypePropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getIssueTypeProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypeSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypeSchemesApi.java index f8c6d50..be4bfd2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypeSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypeSchemesApi.java @@ -47,7 +47,7 @@ public class IssueTypeSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addIssueTypesToIssueTypeScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypeScreenSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypeScreenSchemesApi.java index e491346..06a8858 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypeScreenSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypeScreenSchemesApi.java @@ -28,13 +28,17 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; +import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeIDs; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeScreenSchemeDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeScreenSchemeId; +import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeScreenSchemeMappingDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeScreenSchemeProjectAssociation; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeScreenSchemeUpdateDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanIssueTypeScreenScheme; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanIssueTypeScreenSchemeItem; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanIssueTypeScreenSchemesProjects; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanProjectDetails; +import org.everit.atlassian.restclient.jiracloud.v3.model.UpdateDefaultScreenScheme; import java.util.ArrayList; import java.util.Collection; @@ -45,7 +49,9 @@ public class IssueTypeScreenSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_appendMappingsForIssueTypeScreenScheme = new TypeReference() {}; private static final TypeReference returnType_assignIssueTypeScreenSchemeToProject = new TypeReference() {}; @@ -59,6 +65,12 @@ public class IssueTypeScreenSchemesApi { private static final TypeReference returnType_getIssueTypeScreenSchemes = new TypeReference() {}; + private static final TypeReference returnType_getProjectsForIssueTypeScreenScheme = new TypeReference() {}; + + private static final TypeReference returnType_removeMappingsFromIssueTypeScreenScheme = new TypeReference() {}; + + private static final TypeReference returnType_updateDefaultScreenScheme = new TypeReference() {}; + private static final TypeReference returnType_updateIssueTypeScreenScheme = new TypeReference() {}; private final RestClient restClient; @@ -67,6 +79,37 @@ public IssueTypeScreenSchemesApi(RestClient restClient) { this.restClient = restClient; } + /** + * Append mappings to issue type screen scheme + * Appends issue type to screen scheme mappings to an issue type screen scheme. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required) + * @param issueTypeScreenSchemeMappingDetails (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single appendMappingsForIssueTypeScreenScheme( + String issueTypeScreenSchemeId, IssueTypeScreenSchemeMappingDetails issueTypeScreenSchemeMappingDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueTypeScreenSchemeId", String.valueOf(issueTypeScreenSchemeId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueTypeScreenSchemeMappingDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_appendMappingsForIssueTypeScreenScheme); + } + /** * Assign issue type screen scheme to project * Assigns an issue type screen scheme to a project. Issue type screen schemes can only be assigned to classic projects. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). @@ -194,14 +237,14 @@ public Single getIssueTypeScreenSchemeMapping /** * Get issue type screen schemes for projects * Returns a [paginated](#pagination) list of issue type screen schemes and, for each issue type screen scheme, a list of the projects that use it. Only issue type screen schemes used in classic projects are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param projectId The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`. (required) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) - * @param projectId The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`. (optional, default to new ArrayList<>()) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanIssueTypeScreenSchemesProjects> */ public Single getIssueTypeScreenSchemeProjectAssociations( - Optional startAt, Optional maxResults, Optional> projectId, Optional restRequestEnhancer) { + List projectId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -218,9 +261,7 @@ public Single getIssueTypeScreenSchemePr if (maxResults.isPresent()) { queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); } - if (projectId.isPresent()) { - queryParams.put("projectId", RestClientUtil.objectCollectionToStringCollection(projectId.get())); - } + queryParams.put("projectId", RestClientUtil.objectCollectionToStringCollection(projectId)); requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); @@ -267,6 +308,104 @@ public Single getIssueTypeScreenSchemes( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getIssueTypeScreenSchemes); } + /** + * Get issue type screen scheme projects + * Returns a [paginated](#pagination) list of projects associated with an issue type screen scheme. Only company-managed projects associated with an issue type screen scheme are returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required) + * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) + * @param maxResults The maximum number of items to return per page. (optional, default to 50) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageBeanProjectDetails> + */ + public Single getProjectsForIssueTypeScreenScheme( + Long issueTypeScreenSchemeId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/project"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueTypeScreenSchemeId", String.valueOf(issueTypeScreenSchemeId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (startAt.isPresent()) { + queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); + } + if (maxResults.isPresent()) { + queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getProjectsForIssueTypeScreenScheme); + } + + /** + * Remove mappings from issue type screen scheme + * Removes issue type to screen scheme mappings from an issue type screen scheme. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required) + * @param issueTypeIDs (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single removeMappingsFromIssueTypeScreenScheme( + String issueTypeScreenSchemeId, IssueTypeIDs issueTypeIDs, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/remove"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueTypeScreenSchemeId", String.valueOf(issueTypeScreenSchemeId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueTypeIDs)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_removeMappingsFromIssueTypeScreenScheme); + } + + /** + * Update issue type screen scheme default screen scheme + * Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all unmapped issue types. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param issueTypeScreenSchemeId The ID of the issue type screen scheme. (required) + * @param updateDefaultScreenScheme (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<Object> + */ + public Single updateDefaultScreenScheme( + String issueTypeScreenSchemeId, UpdateDefaultScreenScheme updateDefaultScreenScheme, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/default"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueTypeScreenSchemeId", String.valueOf(issueTypeScreenSchemeId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(updateDefaultScreenScheme)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateDefaultScreenScheme); + } + /** * Update issue type screen scheme * Updates an issue type screen scheme. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypesApi.java index 0c2424c..cd1666c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueTypesApi.java @@ -42,7 +42,7 @@ public class IssueTypesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createIssueType = new TypeReference() {}; @@ -54,6 +54,8 @@ public class IssueTypesApi { private static final TypeReference returnType_getIssueType = new TypeReference() {}; + private static final TypeReference> returnType_getIssueTypesForProject = new TypeReference>() {}; + private static final TypeReference returnType_updateIssueType = new TypeReference() {}; private final RestClient restClient; @@ -246,6 +248,38 @@ public Single getIssueType( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getIssueType); } + /** + * Get issue types for project + * Returns issue types for a project. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param projectId The ID of the project. (required) + * @param level The level of the issue type to filter by. Use: * `-1` for Subtask. * `0` for Base. * `1` for Epic. (optional) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<List<IssueTypeDetails>> + */ + public Single> getIssueTypesForProject( + Long projectId, Optional level, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/issuetype/project"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + queryParams.put("projectId", Collections.singleton(String.valueOf(projectId))); + if (level.isPresent()) { + queryParams.put("level", Collections.singleton(String.valueOf(level.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getIssueTypesForProject); + } + /** * Update issue type * Updates the issue type. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueVotesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueVotesApi.java index a5b101c..d2daac6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueVotesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueVotesApi.java @@ -39,7 +39,7 @@ public class IssueVotesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addVote = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWatchersApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWatchersApi.java index a126523..990202f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWatchersApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWatchersApi.java @@ -39,7 +39,7 @@ public class IssueWatchersApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addWatcher = new TypeReference() {}; @@ -114,7 +114,7 @@ public Single getIssueWatchers( * Delete watcher * Deletes a user as a watcher of an issue. This operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * To remove users other than themselves from the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * @param issueIdOrKey The ID or key of the issue. (required) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWorklogPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWorklogPropertiesApi.java index ea6c28f..b4d4e3d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWorklogPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWorklogPropertiesApi.java @@ -40,7 +40,7 @@ public class IssueWorklogPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getWorklogProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWorklogsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWorklogsApi.java index 2ac157f..897d3e4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWorklogsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssueWorklogsApi.java @@ -42,7 +42,7 @@ public class IssueWorklogsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addWorklog = new TypeReference() {}; @@ -79,7 +79,7 @@ public IssueWorklogsApi(RestClient restClient) { * @return Single<Worklog> */ public Single addWorklog( - String issueIdOrKey, Worklog requestBody, Optional notifyUsers, Optional adjustEstimate, Optional newEstimate, Optional reduceBy, Optional expand, Optional overrideEditableFlag, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional notifyUsers, Optional adjustEstimate, Optional newEstimate, Optional reduceBy, Optional expand, Optional overrideEditableFlag, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -359,7 +359,7 @@ public Single> getWorklogsForIds( * @return Single<Worklog> */ public Single updateWorklog( - String issueIdOrKey, String id, Worklog requestBody, Optional notifyUsers, Optional adjustEstimate, Optional newEstimate, Optional expand, Optional overrideEditableFlag, Optional restRequestEnhancer) { + String issueIdOrKey, String id, Map requestBody, Optional notifyUsers, Optional adjustEstimate, Optional newEstimate, Optional expand, Optional overrideEditableFlag, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuesApi.java index 33faf21..0f78872 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/IssuesApi.java @@ -32,12 +32,11 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.CreatedIssues; import org.everit.atlassian.restclient.jiracloud.v3.model.ErrorCollection; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueBean; +import org.everit.atlassian.restclient.jiracloud.v3.model.IssueChangelogIds; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueCreateMetadata; -import org.everit.atlassian.restclient.jiracloud.v3.model.IssueUpdateDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueUpdateMetadata; -import org.everit.atlassian.restclient.jiracloud.v3.model.IssuesUpdateBean; -import org.everit.atlassian.restclient.jiracloud.v3.model.Notification; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanChangelog; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageOfChangelogs; import org.everit.atlassian.restclient.jiracloud.v3.model.Transitions; import org.everit.atlassian.restclient.jiracloud.v3.model.User; @@ -50,7 +49,7 @@ public class IssuesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_assignIssue = new TypeReference() {}; @@ -64,6 +63,8 @@ public class IssuesApi { private static final TypeReference returnType_getChangeLogs = new TypeReference() {}; + private static final TypeReference returnType_getChangeLogsByIds = new TypeReference() {}; + private static final TypeReference returnType_getCreateIssueMeta = new TypeReference() {}; private static final TypeReference returnType_getEditIssueMeta = new TypeReference() {}; @@ -115,12 +116,12 @@ public Single assignIssue( * Create issue * Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set. The content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These are the same fields that appear on the issue's create screen. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content. Creating a subtask differs from creating an issue as follows: * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types). * `parent` must contain the ID or key of the parent issue. In a next-gen project any issue may be made a child providing that the parent and child are members of the same project. In a classic project the parent field is only valid for subtasks. **[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created. * @param requestBody (required) - * @param updateHistory Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. (optional, default to false) + * @param updateHistory Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. When provided, the issue type and request type are added to the user's history for a project. These values are then used to provide defaults on the issue create screen. (optional, default to false) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<CreatedIssue> */ public Single createIssue( - IssueUpdateDetails requestBody, Optional updateHistory, Optional restRequestEnhancer) { + Map requestBody, Optional updateHistory, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -152,7 +153,7 @@ public Single createIssue( * @return Single<CreatedIssues> */ public Single createIssues( - IssuesUpdateBean requestBody, Optional restRequestEnhancer) { + Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -214,7 +215,7 @@ public Completable deleteIssue( * @return Single<Object> */ public Single doTransition( - String issueIdOrKey, IssueUpdateDetails requestBody, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -248,7 +249,7 @@ public Single doTransition( * @return Single<Object> */ public Single editIssue( - String issueIdOrKey, IssueUpdateDetails requestBody, Optional notifyUsers, Optional overrideScreenSecurity, Optional overrideEditableFlag, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional notifyUsers, Optional overrideScreenSecurity, Optional overrideEditableFlag, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) @@ -280,7 +281,7 @@ public Single editIssue( } /** - * Get change logs + * Get changelogs * Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. * @param issueIdOrKey The ID or key of the issue. (required) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0) @@ -315,6 +316,37 @@ public Single getChangeLogs( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getChangeLogs); } + /** + * Get changelogs by IDs + * Returns changelogs for an issue specified by a list of changelog IDs. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in. * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue. + * @param issueIdOrKey The ID or key of the issue. (required) + * @param issueChangelogIds (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<PageOfChangelogs> + */ + public Single getChangeLogsByIds( + String issueIdOrKey, IssueChangelogIds issueChangelogIds, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/issue/{issueIdOrKey}/changelog/list"); + + Map pathParams = new HashMap<>(); + pathParams.put("issueIdOrKey", String.valueOf(issueIdOrKey)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(issueChangelogIds)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getChangeLogsByIds); + } + /** * Get create issue metadata * Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in [ Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post). The request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects. @@ -502,7 +534,7 @@ public Single getTransitions( * @return Single<Object> */ public Single notify( - String issueIdOrKey, Notification requestBody, Optional restRequestEnhancer) { + String issueIdOrKey, Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JiraExpressionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JiraExpressionsApi.java index d97033a..b311756 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JiraExpressionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JiraExpressionsApi.java @@ -43,7 +43,7 @@ public class JiraExpressionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_analyseExpression = new TypeReference() {}; @@ -90,7 +90,7 @@ public Single analyseExpression( /** * Evaluate Jira expression - * Evaluates a Jira expression and returns its value. This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details. #### Context variables #### The following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions. * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous. * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The Connect app that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)). * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object. * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object. * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object. * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object. * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object. * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object. * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object. This operation can be accessed anonymously. **[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`). + * Evaluates a Jira expression and returns its value. This resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details. #### Context variables #### The following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions. * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous. * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)). * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object. * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object. * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object. * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object. * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object. * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object. * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object. This operation can be accessed anonymously. **[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. Permission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`). * @param jiraExpressionEvalRequestBean The Jira expression and the evaluation context. (required) * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JiraSettingsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JiraSettingsApi.java index 76e55f2..40dc4a0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JiraSettingsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JiraSettingsApi.java @@ -41,7 +41,7 @@ public class JiraSettingsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getAdvancedSettings = new TypeReference>() {}; @@ -149,7 +149,7 @@ public Single getConfiguration(Optional /** * Set application property - * Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values. #### Advanced settings #### The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM). | Key | Description | Default value | | -- | -- | -- | | `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | | `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | | `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | | `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | | `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | | `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` | | `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | | `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | | `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | #### Look and feel #### The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg). | Key | Description | Default value | | -- | -- | -- | | `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | | `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | | `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | | `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | | `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | | `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | | `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | | `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | | `jira.lf.top.adg3.bgcolour` | The background color of the sidebar. | `#0747A6` | | `jira.lf.top.adg3.textcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | | `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | | `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | | `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | | `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | #### Other settings #### | Key | Description | Default value | | -- | -- | -- | | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | *Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values. #### Advanced settings #### The advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM). | Key | Description | Default value | | -- | -- | -- | | `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | | `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | | `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | | `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | | `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | | `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | | `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` | | `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | | `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | | `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | #### Look and feel #### The settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg). | Key | Description | Default value | | -- | -- | -- | | `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | | `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | | `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | | `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | | `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | | `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | | `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | | `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | | `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | | `jira.lf.navigation.bgcolour` | The background color of the sidebar. | `#0747A6` | | `jira.lf.navigation.highlightcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | | `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | | `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | | `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | | `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | #### Other settings #### | Key | Description | Default value | | -- | -- | -- | | `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | *Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).* **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param id The key of the application property to update. (required) * @param simpleApplicationPropertyBean (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JqlApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JqlApi.java index c0ee3de..64a7560 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JqlApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/JqlApi.java @@ -35,6 +35,7 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.JQLReferenceData; import org.everit.atlassian.restclient.jiracloud.v3.model.JqlQueriesToParse; import org.everit.atlassian.restclient.jiracloud.v3.model.ParsedJqlQueries; +import org.everit.atlassian.restclient.jiracloud.v3.model.SearchAutoCompleteFilter; import java.util.ArrayList; import java.util.Collection; @@ -45,10 +46,12 @@ public class JqlApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAutoComplete = new TypeReference() {}; + private static final TypeReference returnType_getAutoCompletePost = new TypeReference() {}; + private static final TypeReference returnType_getFieldAutoCompleteForQueryString = new TypeReference() {}; private static final TypeReference returnType_migrateQueries = new TypeReference() {}; @@ -62,8 +65,8 @@ public JqlApi(RestClient restClient) { } /** - * Get field reference data - * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. + * Get field reference data (GET) + * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder. To filter visible field details by project or collapse non-unique fields by field type then [Get field reference data (POST)](#api-rest-api-3-jql-autocompletedata-post) can be used. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<JQLReferenceData> */ @@ -87,6 +90,35 @@ public Single getAutoComplete(Optional re return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getAutoComplete); } + /** + * Get field reference data (POST) + * Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder. This operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored. System fields are always returned. It can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across all fields with the same name and of the same field type. For example, the collapsed field `Component - Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched simultaneously. **[Permissions](#permissions) required:** None. + * @param searchAutoCompleteFilter (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<JQLReferenceData> + */ + public Single getAutoCompletePost( + SearchAutoCompleteFilter searchAutoCompleteFilter, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/jql/autocompletedata"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(searchAutoCompleteFilter)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getAutoCompletePost); + } + /** * Get field auto complete suggestions * Returns the JQL search auto complete suggestions for a field. Suggestions can be obtained by providing: * `fieldName` to get a list of all values for the field. * `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`. * `fieldName` and `predicateName` to get a list of all predicate values for the field. * `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in `predicateValue`. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/LabelsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/LabelsApi.java index c1dea34..26a9d06 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/LabelsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/LabelsApi.java @@ -39,7 +39,7 @@ public class LabelsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAllLabels = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/MyselfApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/MyselfApi.java index 08719e2..6b1f2b6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/MyselfApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/MyselfApi.java @@ -40,7 +40,7 @@ public class MyselfApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_deleteLocale = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/PermissionSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/PermissionSchemesApi.java index 7d63553..722cb77 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/PermissionSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/PermissionSchemesApi.java @@ -42,7 +42,7 @@ public class PermissionSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createPermissionGrant = new TypeReference() {}; @@ -108,7 +108,7 @@ public Single createPermissionGrant( * @return Single<PermissionScheme> */ public Single createPermissionScheme( - PermissionScheme requestBody, Optional expand, Optional restRequestEnhancer) { + Map requestBody, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -162,7 +162,7 @@ public Completable deletePermissionScheme( /** * Delete permission scheme grant - * Deletes a permission grant from a permission scheme. See [About permission schemes and grants](#about-permission-schemes) for more details. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Deletes a permission grant from a permission scheme. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param schemeId The ID of the permission scheme to delete the permission grant from. (required) * @param permissionId The ID of the permission grant to delete. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -320,7 +320,7 @@ public Single getPermissionSchemeGrants( /** * Update permission scheme - * Updates a permission scheme. Below are some important things to note when using this resource: * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants. * If you want to update only the name and description, then do not send a permissions list in the request. * Sending an empty list will remove all permission grants from the permission scheme. If you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-3-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-3-permissionscheme-schemeId-permission-permissionId-delete). See [About permission schemes and grants](#about-permission-schemes) for more details. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Updates a permission scheme. Below are some important things to note when using this resource: * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants. * If you want to update only the name and description, then do not send a permissions list in the request. * Sending an empty list will remove all permission grants from the permission scheme. If you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-3-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-3-permissionscheme-schemeId-permission-permissionId-delete). See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param schemeId The ID of the permission scheme to update. (required) * @param requestBody (required) * @param expand Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include: * `all` Returns all expandable information. * `field` Returns information about the custom field granted the permission. * `group` Returns information about the group that is granted the permission. * `permissions` Returns all permission grants for each permission scheme. * `projectRole` Returns information about the project role granted the permission. * `user` Returns information about the user who is granted the permission. (optional) @@ -328,7 +328,7 @@ public Single getPermissionSchemeGrants( * @return Single<PermissionScheme> */ public Single updatePermissionScheme( - Long schemeId, PermissionScheme requestBody, Optional expand, Optional restRequestEnhancer) { + Long schemeId, Map requestBody, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/PermissionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/PermissionsApi.java index d2a95fc..2861120 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/PermissionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/PermissionsApi.java @@ -44,7 +44,7 @@ public class PermissionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAllPermissions = new TypeReference() {}; @@ -88,7 +88,7 @@ public Single getAllPermissions(Optional restR /** * Get bulk permissions - * Returns: * for a list of global permissions, the global permissions granted to a user. * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate. If no account ID is provided, the operation returns details for the logged in user. Note that: * Invalid project and issue IDs are ignored. * A maximum of 1000 projects and 1000 issues can be checked. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. + * Returns: * for a list of global permissions, the global permissions granted to a user. * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate. If no account ID is provided, the operation returns details for the logged in user. Note that: * Invalid project and issue IDs are ignored. * A maximum of 1000 projects and 1000 issues can be checked. * Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and `projectPermissions.issues` are ignored. * Empty strings in `projectPermissions.permissions` are ignored. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made using AP.request() in a browser. * @param bulkPermissionsRequestBean Details of the permissions to check. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<BulkPermissionGrants> diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectAvatarsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectAvatarsApi.java index 23f0eb6..fa632f5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectAvatarsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectAvatarsApi.java @@ -40,7 +40,7 @@ public class ProjectAvatarsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createProjectAvatar = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectCategoriesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectCategoriesApi.java index 91c5600..8668c04 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectCategoriesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectCategoriesApi.java @@ -40,7 +40,7 @@ public class ProjectCategoriesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createProjectCategory = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectComponentsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectComponentsApi.java index 8aeb917..c95a719 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectComponentsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectComponentsApi.java @@ -28,9 +28,9 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; -import org.everit.atlassian.restclient.jiracloud.v3.model.Component; import org.everit.atlassian.restclient.jiracloud.v3.model.ComponentIssuesCount; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanComponentWithIssueCount; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectComponent; import java.util.ArrayList; import java.util.Collection; @@ -41,19 +41,19 @@ public class ProjectComponentsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; - private static final TypeReference returnType_createComponent = new TypeReference() {}; + private static final TypeReference returnType_createComponent = new TypeReference() {}; - private static final TypeReference returnType_getComponent = new TypeReference() {}; + private static final TypeReference returnType_getComponent = new TypeReference() {}; private static final TypeReference returnType_getComponentRelatedIssues = new TypeReference() {}; - private static final TypeReference> returnType_getProjectComponents = new TypeReference>() {}; + private static final TypeReference> returnType_getProjectComponents = new TypeReference>() {}; private static final TypeReference returnType_getProjectComponentsPaginated = new TypeReference() {}; - private static final TypeReference returnType_updateComponent = new TypeReference() {}; + private static final TypeReference returnType_updateComponent = new TypeReference() {}; private final RestClient restClient; @@ -64,12 +64,12 @@ public ProjectComponentsApi(RestClient restClient) { /** * Create component * Creates a component. Use components to provide containers for issues within a project. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the component is created or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param component (required) + * @param projectComponent (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Component> + * @return Single<ProjectComponent> */ - public Single createComponent( - Component component, Optional restRequestEnhancer) { + public Single createComponent( + ProjectComponent projectComponent, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -85,7 +85,7 @@ public Single createComponent( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(component)); + requestBuilder.requestBody(Optional.of(projectComponent)); return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createComponent); } @@ -127,9 +127,9 @@ public Completable deleteComponent( * Returns a component. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component. * @param id The ID of the component. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Component> + * @return Single<ProjectComponent> */ - public Single getComponent( + public Single getComponent( String id, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() @@ -183,9 +183,9 @@ public Single getComponentRelatedIssues( * Returns all components in a project. See the [Get project components paginated](#api-rest-api-3-project-projectIdOrKey-component-get) resource if you want to get a full list of components with pagination. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * @param projectIdOrKey The project ID or project key (case sensitive). (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<List<Component>> + * @return Single<List<ProjectComponent>> */ - public Single> getProjectComponents( + public Single> getProjectComponents( String projectIdOrKey, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() @@ -254,12 +254,12 @@ public Single getProjectComponentsPaginated( * Update component * Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string (\"\") the component lead is removed. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param id The ID of the component. (required) - * @param component (required) + * @param projectComponent (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<Component> + * @return Single<ProjectComponent> */ - public Single updateComponent( - String id, Component component, Optional restRequestEnhancer) { + public Single updateComponent( + String id, ProjectComponent projectComponent, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) @@ -276,7 +276,7 @@ public Single updateComponent( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(component)); + requestBuilder.requestBody(Optional.of(projectComponent)); return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateComponent); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectEmailApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectEmailApi.java index 985e9a4..ac39473 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectEmailApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectEmailApi.java @@ -39,7 +39,7 @@ public class ProjectEmailApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getProjectEmail = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectKeyAndNameValidationApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectKeyAndNameValidationApi.java index d10d584..86beb9d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectKeyAndNameValidationApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectKeyAndNameValidationApi.java @@ -39,7 +39,7 @@ public class ProjectKeyAndNameValidationApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getValidProjectKey = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectPermissionSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectPermissionSchemesApi.java index 122a051..0f2a472 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectPermissionSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectPermissionSchemesApi.java @@ -42,7 +42,7 @@ public class ProjectPermissionSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_assignPermissionScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectPropertiesApi.java index d2ea3c7..25c26b2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectPropertiesApi.java @@ -40,7 +40,7 @@ public class ProjectPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getProjectProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectRoleActorsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectRoleActorsApi.java index f24aaeb..2cb0499 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectRoleActorsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectRoleActorsApi.java @@ -42,7 +42,7 @@ public class ProjectRoleActorsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addActorUsers = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectRolesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectRolesApi.java index 94585be..9ea4472 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectRolesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectRolesApi.java @@ -30,6 +30,7 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.CreateUpdateRoleRequestBean; import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectRole; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectRoleDetails; import java.net.URI; import java.util.ArrayList; @@ -41,7 +42,7 @@ public class ProjectRolesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createProjectRole = new TypeReference() {}; @@ -53,7 +54,7 @@ public class ProjectRolesApi { private static final TypeReference returnType_getProjectRoleById = new TypeReference() {}; - private static final TypeReference> returnType_getProjectRoleDetails = new TypeReference>() {}; + private static final TypeReference> returnType_getProjectRoleDetails = new TypeReference>() {}; private static final TypeReference> returnType_getProjectRoles = new TypeReference>() {}; @@ -248,9 +249,9 @@ public Single getProjectRoleById( * @param currentMember Whether the roles should be filtered to include only those the user is assigned to. (optional, default to false) * @param excludeConnectAddons (optional, default to false) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<List<ProjectRole>> + * @return Single<List<ProjectRoleDetails>> */ - public Single> getProjectRoleDetails( + public Single> getProjectRoleDetails( String projectIdOrKey, Optional currentMember, Optional excludeConnectAddons, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectTypesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectTypesApi.java index 83459d4..154ac98 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectTypesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectTypesApi.java @@ -39,7 +39,7 @@ public class ProjectTypesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getAccessibleProjectTypeByKey = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectVersionsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectVersionsApi.java index 2757656..ef5c45b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectVersionsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectVersionsApi.java @@ -44,7 +44,7 @@ public class ProjectVersionsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createVersion = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectsApi.java index 8bf72b0..ed27321 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ProjectsApi.java @@ -28,14 +28,15 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; +import org.everit.atlassian.restclient.jiracloud.v3.model.CreateProjectDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeWithStatus; import org.everit.atlassian.restclient.jiracloud.v3.model.NotificationScheme; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanProject; import org.everit.atlassian.restclient.jiracloud.v3.model.Project; import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectIdentifiers; -import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectInputBean; import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectIssueTypeHierarchy; import org.everit.atlassian.restclient.jiracloud.v3.model.TaskProgressBeanObject; +import org.everit.atlassian.restclient.jiracloud.v3.model.UpdateProjectDetails; import java.util.ArrayList; import java.util.Collection; @@ -46,7 +47,7 @@ public class ProjectsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_archiveProject = new TypeReference() {}; @@ -62,6 +63,8 @@ public class ProjectsApi { private static final TypeReference returnType_getProject = new TypeReference() {}; + private static final TypeReference> returnType_getRecent = new TypeReference>() {}; + private static final TypeReference returnType_restore = new TypeReference() {}; private static final TypeReference returnType_searchProjects = new TypeReference() {}; @@ -78,7 +81,7 @@ public ProjectsApi(RestClient restClient) { /** * Archive project - * Archives a project. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param projectIdOrKey The project ID or project key (case sensitive). (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<Object> @@ -106,13 +109,13 @@ public Single archiveProject( /** * Create project - * Creates a project based on a project type template, as shown in the following table: | Project Type Key | Project Template Key | |--|--| | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-desk`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk` | | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | The project types are available according to the installed Jira features as follows: * Jira Core, the default, enables `business` projects. * Jira Service Desk enables `service_desk` projects. * Jira Software enables `software` projects. To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add JIRA Software or JIRA Service Desk into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). - * @param projectInputBean The JSON representation of the project being created. (required) + * Creates a project based on a project type template, as shown in the following table: | Project Type Key | Project Template Key | |--|--| | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-desk`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk` | | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | The project types are available according to the installed Jira features as follows: * Jira Core, the default, enables `business` projects. * Jira Service Management enables `service_desk` projects. * Jira Software enables `software` projects. To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg). **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param createProjectDetails The JSON representation of the project being created. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<ProjectIdentifiers> */ public Single createProject( - ProjectInputBean projectInputBean, Optional restRequestEnhancer) { + CreateProjectDetails createProjectDetails, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -128,16 +131,16 @@ public Single createProject( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(projectInputBean)); + requestBuilder.requestBody(Optional.of(createProjectDetails)); return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createProject); } /** * Delete project - * Deletes a project. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Deletes a project. You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param projectIdOrKey The project ID or project key (case sensitive). (required) - * @param enableUndo EXPERIMENTAL. Whether this project is placed in the Jira recycle bin where it will be available for restoration. (optional, default to false) + * @param enableUndo Whether this project is placed in the Jira recycle bin where it will be available for restoration. (optional, default to false) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable */ @@ -267,7 +270,9 @@ public Single> getAllStatuses( * @param projectId The ID of the project. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<ProjectIssueTypeHierarchy> + * @deprecated */ + @Deprecated public Single getHierarchy( Long projectId, Optional restRequestEnhancer) { @@ -357,6 +362,40 @@ public Single getProject( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getProject); } + /** + * Get recent projects + * Returns a list of up to 20 projects recently viewed by the user that are still visible to the user. This operation can be accessed anonymously. **[Permissions](#permissions) required:** Projects are returned only where the user has one of: * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include: * `description` Returns the project description. * `projectKeys` Returns all project keys associated with a project. * `lead` Returns information about the project lead. * `issueTypes` Returns all issue types associated with the project. * `url` Returns the URL associated with the project. * `permissions` Returns the permissions associated with the project. * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project. * `*` Returns the project with all available expand options. (optional) + * @param properties EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list. Invalid property names are ignored. (optional, default to new ArrayList<>()) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<List<Project>> + */ + public Single> getRecent( + Optional expand, Optional> properties, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.GET) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/project/recent"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (expand.isPresent()) { + queryParams.put("expand", Collections.singleton(String.valueOf(expand.get()))); + } + if (properties.isPresent()) { + queryParams.put("properties", RestClientUtil.objectCollectionToStringCollection(properties.get())); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getRecent); + } + /** * Restore deleted project * Restores a project from the Jira recycle bin. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). @@ -391,18 +430,21 @@ public Single restore( * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) * @param orderBy [Order](#ordering) the results by a field. * `category` Sorts by project category. A complete list of category IDs is found using [Get all project categories](#api-rest-api-3-projectCategory-get). * `issueCount` Sorts by the total number of issues in each project. * `key` Sorts by project key. * `lastIssueUpdatedTime` Sorts by the last issue update time. * `name` Sorts by project name. * `owner` Sorts by project lead. * `archivedDate` EXPERIMENTAL. Sorts by project archived date. * `deletedDate` EXPERIMENTAL. Sorts by project deleted date. (optional, default to key) + * @param id The project IDs to filter the results by. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. Up to 50 project IDs can be provided. (optional, default to new ArrayList<>()) + * @param keys The project keys to filter the results by. To include multiple keys, provide an ampersand-separated list. For example, `keys=PA&keys=PB`. Up to 50 project keys can be provided. (optional, default to new ArrayList<>()) * @param query Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case insensitive). (optional) * @param typeKey Orders results by the [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`. (optional) * @param categoryId The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation. (optional) - * @param searchBy (optional, default to "key, name") * @param action Filter results by projects for which the user can: * `view` the project, meaning that they have one of the following permissions: * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * `browse` the project, meaning that they have the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * `edit` the project, meaning that they have one of the following permissions: * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project. * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). (optional, default to view) * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include: * `description` Returns the project description. * `projectKeys` Returns all project keys associated with a project. * `lead` Returns information about the project lead. * `issueTypes` Returns all issue types associated with the project. * `url` Returns the URL associated with the project. * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project. (optional) * @param status EXPERIMENTAL. Filter results by project status: * `live` Search live projects. * `archived` Search archived projects. * `deleted` Search deleted projects, those in the recycle bin. (optional, default to new ArrayList<>()) + * @param properties EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list. (optional, default to new ArrayList<>()) + * @param propertyQuery EXPERIMENTAL. A query string used to search properties. The query string cannot be specified using a JSON object. For example, to search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `[thepropertykey].something.nested=1`. Note that the propertyQuery key is enclosed in square brackets to enable searching where the propertyQuery key includes dot (.) or equals (=) characters. Note that `thepropertykey` is only returned when included in `properties`. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanProject> */ public Single searchProjects( - Optional startAt, Optional maxResults, Optional orderBy, Optional query, Optional typeKey, Optional categoryId, Optional searchBy, Optional action, Optional expand, Optional> status, Optional restRequestEnhancer) { + Optional startAt, Optional maxResults, Optional orderBy, Optional> id, Optional> keys, Optional query, Optional typeKey, Optional categoryId, Optional action, Optional expand, Optional> status, Optional> properties, Optional propertyQuery, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -422,6 +464,12 @@ public Single searchProjects( if (orderBy.isPresent()) { queryParams.put("orderBy", Collections.singleton(String.valueOf(orderBy.get()))); } + if (id.isPresent()) { + queryParams.put("id", RestClientUtil.objectCollectionToStringCollection(id.get())); + } + if (keys.isPresent()) { + queryParams.put("keys", RestClientUtil.objectCollectionToStringCollection(keys.get())); + } if (query.isPresent()) { queryParams.put("query", Collections.singleton(String.valueOf(query.get()))); } @@ -431,9 +479,6 @@ public Single searchProjects( if (categoryId.isPresent()) { queryParams.put("categoryId", Collections.singleton(String.valueOf(categoryId.get()))); } - if (searchBy.isPresent()) { - queryParams.put("searchBy", Collections.singleton(String.valueOf(searchBy.get()))); - } if (action.isPresent()) { queryParams.put("action", Collections.singleton(String.valueOf(action.get()))); } @@ -443,6 +488,12 @@ public Single searchProjects( if (status.isPresent()) { queryParams.put("status", RestClientUtil.objectCollectionToStringCollection(status.get())); } + if (properties.isPresent()) { + queryParams.put("properties", RestClientUtil.objectCollectionToStringCollection(properties.get())); + } + if (propertyQuery.isPresent()) { + queryParams.put("propertyQuery", Collections.singleton(String.valueOf(propertyQuery.get()))); + } requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); @@ -455,13 +506,13 @@ public Single searchProjects( * Update project * Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project. All parameters are optional in the body of the request. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param projectIdOrKey The project ID or project key (case sensitive). (required) - * @param projectInputBean The project details to be updated. (required) + * @param updateProjectDetails The project details to be updated. (required) * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include: * `description` The project description. * `issueTypes` The issue types associated with the project. * `lead` The project lead. * `projectKeys` All project keys associated with the project. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<Project> */ public Single updateProject( - String projectIdOrKey, ProjectInputBean projectInputBean, Optional expand, Optional restRequestEnhancer) { + String projectIdOrKey, UpdateProjectDetails updateProjectDetails, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) @@ -481,7 +532,7 @@ public Single updateProject( Map headers = new HashMap<>(); requestBuilder.headers(headers); - requestBuilder.requestBody(Optional.of(projectInputBean)); + requestBuilder.requestBody(Optional.of(updateProjectDetails)); return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_updateProject); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenSchemesApi.java index 6e3b529..fb3cade 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenSchemesApi.java @@ -42,7 +42,7 @@ public class ScreenSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createScreenScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenTabFieldsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenTabFieldsApi.java index 518c323..6c13ab0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenTabFieldsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenTabFieldsApi.java @@ -41,7 +41,7 @@ public class ScreenTabFieldsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addScreenTabField = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenTabsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenTabsApi.java index c5ac377..db37c94 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenTabsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreenTabsApi.java @@ -39,7 +39,7 @@ public class ScreenTabsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addScreenTab = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreensApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreensApi.java index 8f286c0..12c279a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreensApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ScreensApi.java @@ -29,6 +29,7 @@ import org.everit.http.restclient.TypeReference; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanScreen; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanScreenWithTab; import org.everit.atlassian.restclient.jiracloud.v3.model.Screen; import org.everit.atlassian.restclient.jiracloud.v3.model.ScreenDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.ScreenableField; @@ -43,7 +44,7 @@ public class ScreensApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_addFieldToDefaultScreen = new TypeReference() {}; @@ -53,7 +54,7 @@ public class ScreensApi { private static final TypeReference returnType_getScreens = new TypeReference() {}; - private static final TypeReference returnType_getScreensForField = new TypeReference() {}; + private static final TypeReference returnType_getScreensForField = new TypeReference() {}; private static final TypeReference returnType_updateScreen = new TypeReference() {}; @@ -220,11 +221,12 @@ public Single getScreens( * @param fieldId The ID of the field to return screens for. (required) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 100) + * @param expand Use [expand](#expansion) to include additional information about screens in the response. This parameter accepts `tab` which returns details about the screen tabs the field is used in. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<PageBeanScreen> + * @return Single<PageBeanScreenWithTab> */ - public Single getScreensForField( - String fieldId, Optional startAt, Optional maxResults, Optional restRequestEnhancer) { + public Single getScreensForField( + String fieldId, Optional startAt, Optional maxResults, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -242,6 +244,9 @@ public Single getScreensForField( if (maxResults.isPresent()) { queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); } + if (expand.isPresent()) { + queryParams.put("expand", Collections.singleton(String.valueOf(expand.get()))); + } requestBuilder.queryParams(queryParams); Map headers = new HashMap<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ServerInfoApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ServerInfoApi.java index 3e4db85..dc8d8cc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ServerInfoApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/ServerInfoApi.java @@ -39,7 +39,7 @@ public class ServerInfoApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getServerInfo = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/TasksApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/TasksApi.java index 0dfb713..12af82d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/TasksApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/TasksApi.java @@ -39,7 +39,7 @@ public class TasksApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_cancelTask = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/TimeTrackingApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/TimeTrackingApi.java index bcf7b4e..20368e3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/TimeTrackingApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/TimeTrackingApi.java @@ -40,7 +40,7 @@ public class TimeTrackingApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getAvailableTimeTrackingImplementations = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UserPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UserPropertiesApi.java index 71b34c8..2e4028c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UserPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UserPropertiesApi.java @@ -40,7 +40,7 @@ public class UserPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getUserProperty = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UserSearchApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UserSearchApi.java index c083814..8c13abc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UserSearchApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UserSearchApi.java @@ -42,7 +42,7 @@ public class UserSearchApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_findAssignableUsers = new TypeReference>() {}; @@ -71,7 +71,7 @@ public UserSearchApi(RestClient restClient) { * Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to: * a new issue, by providing the `projectKeyOrId`. * an updated issue, by providing the `issueKey`. * to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-rest-api-3-issue-issueIdOrKey-get). In all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition. This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code. **[Permissions](#permissions) required:** Permission to access Jira. * @param query A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `username` or `accountId` is specified. (optional) * @param sessionId The sessionId of this request. SessionId is the same until the assignee is set. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. (optional) * @param project The project ID or project key (case sensitive). Required, unless `issueKey` is specified. (optional) * @param issueKey The key of the issue. Required, unless `project` is specified. (optional) @@ -137,7 +137,7 @@ public Single> findAssignableUsers( * Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string. This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code. This operation can be accessed anonymously. **[Permissions](#permissions) required:** None. * @param projectKeys A list of project keys (case sensitive). This parameter accepts a comma-separated list. (required) * @param query A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. (optional) * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0) * @param maxResults The maximum number of items to return per page. (optional, default to 50) @@ -308,7 +308,7 @@ public Single findUsersByQuery( * @param query A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. (required) * @param maxResults The maximum number of items to return. The total number of matched users is returned in `total`. (optional, default to 50) * @param showAvatar Include the URI to the user's avatar. (optional, default to false) - * @param exclude This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional, default to new ArrayList<>()) + * @param exclude This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional, default to new ArrayList<>()) * @param excludeAccountIds A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`. Cannot be provided with `exclude`. (optional, default to new ArrayList<>()) * @param avatarSize (optional) * @param excludeConnectUsers (optional, default to false) @@ -359,7 +359,7 @@ public Single findUsersForPicker( * Returns a list of users who fulfill these criteria: * their user attributes match a search string. * they have a set of permissions for a project or issue. If no search string is provided, a list of all users with the permissions is returned. This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code. This operation can be accessed anonymously. **[Permissions](#permissions) required:** * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project. * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project. * @param permissions A comma separated list of permissions. Permissions can be specified as any: * permission returned by [Get all permissions](#api-rest-api-3-permissions-get). * custom project permission added by Connect apps. * (deprecated) one of the following: * ASSIGNABLE\\_USER * ASSIGN\\_ISSUE * ATTACHMENT\\_DELETE\\_ALL * ATTACHMENT\\_DELETE\\_OWN * BROWSE * CLOSE\\_ISSUE * COMMENT\\_DELETE\\_ALL * COMMENT\\_DELETE\\_OWN * COMMENT\\_EDIT\\_ALL * COMMENT\\_EDIT\\_OWN * COMMENT\\_ISSUE * CREATE\\_ATTACHMENT * CREATE\\_ISSUE * DELETE\\_ISSUE * EDIT\\_ISSUE * LINK\\_ISSUE * MANAGE\\_WATCHER\\_LIST * MODIFY\\_REPORTER * MOVE\\_ISSUE * PROJECT\\_ADMIN * RESOLVE\\_ISSUE * SCHEDULE\\_ISSUE * SET\\_ISSUE\\_SECURITY * TRANSITION\\_ISSUE * VIEW\\_VERSION\\_CONTROL * VIEW\\_VOTERS\\_AND\\_WATCHERS * VIEW\\_WORKFLOW\\_READONLY * WORKLOG\\_DELETE\\_ALL * WORKLOG\\_DELETE\\_OWN * WORKLOG\\_EDIT\\_ALL * WORKLOG\\_EDIT\\_OWN * WORK\\_ISSUE (required) * @param query A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. (optional) * @param issueKey The issue key for the issue. (optional) * @param projectKey The project key for the project (case sensitive). (optional) @@ -414,7 +414,7 @@ public Single> findUsersWithAllPermissions( * Find users with browse permission * Returns a list of users who fulfill these criteria: * their user attributes match a search string. * they have permission to browse issues. Use this resource to find users who can browse: * an issue, by providing the `issueKey`. * any issue in a project, by providing the `projectKey`. This operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code. This operation can be accessed anonymously. **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results. * @param query A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param accountId A query string that is matched exactly against user `accountId`. Required, unless `query` is specified. (optional) * @param issueKey The issue key for the issue. Required, unless `projectKey` is specified. (optional) * @param projectKey The project key for the project (case sensitive). Required, unless `issueKey` is specified. (optional) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UsersApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UsersApi.java index 225c9cb..8cd5c98 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UsersApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/UsersApi.java @@ -34,7 +34,6 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.UnrestrictedUserEmail; import org.everit.atlassian.restclient.jiracloud.v3.model.User; import org.everit.atlassian.restclient.jiracloud.v3.model.UserMigrationBean; -import org.everit.atlassian.restclient.jiracloud.v3.model.UserWriteBean; import java.util.ArrayList; import java.util.Collection; @@ -45,7 +44,7 @@ public class UsersApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_bulkGetUsers = new TypeReference() {}; @@ -163,13 +162,13 @@ public Single> bulkGetUsersMigration( /** * Create user - * Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated. The option is provided to set or generate a password for the user. When using the option to generate a password, by omitting `password` from the request, include `\"notification\": \"true\"` to ensure the user is sent an email advising them that their account is created. This email includes a link for the user to set their password. If the notification isn't sent for a generated password, the user will need to be sent a reset password request from Jira. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated. If the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have access to Jira, the operation returns a 400 status. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param requestBody Details about the user to be created. (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<User> */ public Single createUser( - UserWriteBean requestBody, Optional restRequestEnhancer) { + Map requestBody, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -262,8 +261,8 @@ public Single> getAllUsersDefault( * Get user * Returns a user. **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details. (optional) - * @param key This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details. (optional) + * @param key This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details. (optional) * @param expand Use [expand](#expansion) to include additional information about users in the response. This parameter accepts a comma-separated list. Expand options include: * `groups` includes all groups and nested groups to which the user belongs. * `applicationRoles` includes details of all the applications to which the user has access. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<User> @@ -304,7 +303,7 @@ public Single getUser( * Get user default columns * Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId` is not passed in the request, the calling user's details are returned. **[Permissions](#permissions) required:** * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for any user. * Permission to access Jira, to get the calling user's column details. * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<List<ColumnItem>> */ @@ -394,8 +393,8 @@ public Single getUserEmailBulk( * Get user groups * Returns the groups to which a user belongs. **[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (required) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) - * @param key This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param key This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<List<GroupName>> */ @@ -430,8 +429,8 @@ public Single> getUserGroups( * Delete user * Deletes a user. **[Permissions](#permissions) required:** Site administration (that is, membership of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)). * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (required) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) - * @param key This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param key This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable */ @@ -466,7 +465,7 @@ public Completable removeUser( * Reset user default columns * Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system default. If `accountId` is not passed, the calling user's default columns are reset. **[Permissions](#permissions) required:** * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user. * Permission to access Jira, to set the calling user's columns. * @param accountId The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. (optional) - * @param username This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) + * @param username This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable */ diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WebhooksApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WebhooksApi.java index 00f1e01..6b804fe 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WebhooksApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WebhooksApi.java @@ -45,7 +45,7 @@ public class WebhooksApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getDynamicWebhooksForApp = new TypeReference() {}; @@ -63,7 +63,7 @@ public WebhooksApi(RestClient restClient) { /** * Delete webhooks by ID - * Removes webhooks by ID. Only webhooks registered by the calling Connect app are removed. If webhooks created by other apps are specified, they are ignored. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps are specified, they are ignored. **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. * @param containerForWebhookIDs (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Completable @@ -92,7 +92,7 @@ public Completable deleteWebhookById( /** * Get dynamic webhooks for app - * Returns a [paginated](#pagination) list of the webhooks registered by the calling app. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Returns a [paginated](#pagination) list of the webhooks registered by the calling app. **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 100) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -126,7 +126,7 @@ public Single getDynamicWebhooksForApp( /** * Get failed webhooks - * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries. After 72 hours the failure may no longer be returned by this operation. The oldest failure is returned first. This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries. After 72 hours the failure may no longer be returned by this operation. The oldest failure is returned first. This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation. * @param maxResults The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page. (optional) * @param after The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

@@ -160,7 +160,7 @@ public Single getFailedWebhooks( /** * Extend webhook life - * Webhooks registered through the REST API expire after 30 days. Call this resource periodically to keep them alive. Unrecognized webhook IDs (nonexistent or belonging to other apps) are ignored. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Webhooks registered through the REST API expire after 30 days. Call this resource periodically to keep them alive. Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored. **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. * @param containerForWebhookIDs (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<WebhooksExpirationDate> @@ -189,7 +189,7 @@ public Single refreshWebhooks( /** * Register dynamic webhooks - * Registers webhooks. **[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation. + * Registers webhooks. **[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation. * @param webhookRegistrationDetails (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<ContainerForRegisteredWebhooks> diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemeDraftsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemeDraftsApi.java index f5ee5f9..f7a001e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemeDraftsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemeDraftsApi.java @@ -31,6 +31,8 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.DefaultWorkflow; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeWorkflowMapping; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypesWorkflowMapping; +import org.everit.atlassian.restclient.jiracloud.v3.model.PublishDraftWorkflowScheme; +import org.everit.atlassian.restclient.jiracloud.v3.model.TaskProgressBeanObject; import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowScheme; import java.util.ArrayList; @@ -42,7 +44,7 @@ public class WorkflowSchemeDraftsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createWorkflowSchemeDraftFromParent = new TypeReference() {}; @@ -334,6 +336,41 @@ public Single getWorkflowSchemeDraftIssueType( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_getWorkflowSchemeDraftIssueType); } + /** + * Publish draft workflow scheme + * Publishes a draft workflow scheme. Where the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues with the original workflow status to the new workflow status. This operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain updates. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param id The ID of the workflow scheme that the draft belongs to. (required) + * @param publishDraftWorkflowScheme Details of the status mappings. (required) + * @param validateOnly Whether the request only performs a validation. (optional, default to false) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Completable + */ + public Completable publishDraftWorkflowScheme( + Long id, PublishDraftWorkflowScheme publishDraftWorkflowScheme, Optional validateOnly, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/workflowscheme/{id}/draft/publish"); + + Map pathParams = new HashMap<>(); + pathParams.put("id", String.valueOf(id)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + if (validateOnly.isPresent()) { + queryParams.put("validateOnly", Collections.singleton(String.valueOf(validateOnly.get()))); + } + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(publishDraftWorkflowScheme)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer); + } + /** * Set workflow for issue type in draft workflow scheme * Sets the workflow for an issue type in a workflow scheme's draft. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemeProjectAssociationsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemeProjectAssociationsApi.java index 0ee7ad1..8c440ff 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemeProjectAssociationsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemeProjectAssociationsApi.java @@ -40,9 +40,9 @@ public class WorkflowSchemeProjectAssociationsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; - private static final TypeReference returnType_associateSchemeWithProject = new TypeReference() {}; + private static final TypeReference returnType_assignSchemeToProject = new TypeReference() {}; private static final TypeReference returnType_getWorkflowSchemeProjectAssociations = new TypeReference() {}; @@ -59,7 +59,7 @@ public WorkflowSchemeProjectAssociationsApi(RestClient restClient) { * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<Object> */ - public Single associateSchemeWithProject( + public Single assignSchemeToProject( WorkflowSchemeProjectAssociation workflowSchemeProjectAssociation, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() @@ -78,7 +78,7 @@ public Single associateSchemeWithProject( requestBuilder.requestBody(Optional.of(workflowSchemeProjectAssociation)); - return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_associateSchemeWithProject); + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_assignSchemeToProject); } /** diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemesApi.java index a71e676..b63f9a5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowSchemesApi.java @@ -43,7 +43,7 @@ public class WorkflowSchemesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createWorkflowScheme = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowStatusCategoriesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowStatusCategoriesApi.java index 4c8d3f5..010d437 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowStatusCategoriesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowStatusCategoriesApi.java @@ -39,7 +39,7 @@ public class WorkflowStatusCategoriesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference> returnType_getStatusCategories = new TypeReference>() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowStatusesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowStatusesApi.java index 0f52988..b9afc54 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowStatusesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowStatusesApi.java @@ -39,7 +39,7 @@ public class WorkflowStatusesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_getStatus = new TypeReference() {}; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowTransitionPropertiesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowTransitionPropertiesApi.java index 2aa0990..8addcfa 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowTransitionPropertiesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowTransitionPropertiesApi.java @@ -39,7 +39,7 @@ public class WorkflowTransitionPropertiesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; private static final TypeReference returnType_createWorkflowTransitionProperty = new TypeReference() {}; @@ -65,7 +65,7 @@ public WorkflowTransitionPropertiesApi(RestClient restClient) { * @return Single<WorkflowTransitionProperty> */ public Single createWorkflowTransitionProperty( - Long transitionId, String key, String workflowName, WorkflowTransitionProperty requestBody, Optional workflowMode, Optional restRequestEnhancer) { + Long transitionId, String key, String workflowName, Map requestBody, Optional workflowMode, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.POST) @@ -182,7 +182,7 @@ public Single getWorkflowTransitionProperties( * @return Single<WorkflowTransitionProperty> */ public Single updateWorkflowTransitionProperty( - Long transitionId, String key, String workflowName, WorkflowTransitionProperty requestBody, Optional workflowMode, Optional restRequestEnhancer) { + Long transitionId, String key, String workflowName, Map requestBody, Optional workflowMode, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.PUT) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowTransitionRulesApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowTransitionRulesApi.java index 496cb3e..54ab122 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowTransitionRulesApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowTransitionRulesApi.java @@ -32,6 +32,7 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanWorkflowTransitionRules; import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowTransitionRulesUpdate; import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowTransitionRulesUpdateErrors; +import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowsWithTransitionRulesDetails; import java.util.ArrayList; import java.util.Collection; @@ -42,7 +43,9 @@ public class WorkflowTransitionRulesApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_deleteWorkflowTransitionRuleConfigurations = new TypeReference() {}; private static final TypeReference returnType_getWorkflowTransitionRuleConfigurations = new TypeReference() {}; @@ -54,6 +57,35 @@ public WorkflowTransitionRulesApi(RestClient restClient) { this.restClient = restClient; } + /** + * Delete workflow transition rule configurations + * Deletes workflow transition rules from one or more workflows. These rule types are supported: * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/) * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/) Only rules created by the calling Connect app can be deleted. **[Permissions](#permissions) required:** Only Connect apps can use this operation. + * @param workflowsWithTransitionRulesDetails (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<WorkflowTransitionRulesUpdateErrors> + */ + public Single deleteWorkflowTransitionRuleConfigurations( + WorkflowsWithTransitionRulesDetails workflowsWithTransitionRulesDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.PUT) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/workflow/rule/config/delete"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(workflowsWithTransitionRulesDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_deleteWorkflowTransitionRuleConfigurations); + } + /** * Get workflow transition rule configurations * Returns a [paginated](#pagination) list of workflows with transition rules. The workflows can be filtered to return only those containing workflow transition rules: * of one or more transition rule types, such as [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/). * matching one or more transition rule keys. Only workflows containing transition rules created by the calling Connect app are returned. However, if a workflow is returned all transition rules that match the filters are returned for that workflow. Due to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be ignored. **[Permissions](#permissions) required:** Only Connect apps can use this operation. @@ -61,12 +93,15 @@ public WorkflowTransitionRulesApi(RestClient restClient) { * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 10) * @param keys The transition rule class keys, as defined in the Connect app descriptor, of the transition rules to return. (optional, default to new ArrayList<>()) + * @param workflowNames EXPERIMENTAL: The list of workflow names to filter by. (optional, default to new ArrayList<>()) + * @param withTags EXPERIMENTAL: The list of `tags` to filter by. (optional, default to new ArrayList<>()) + * @param draft EXPERIMENTAL: Whether draft or published workflows are returned. If not provided, both workflow types are returned. (optional) * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts `transition`, which, for each rule, returns information about the transition the rule is assigned to. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanWorkflowTransitionRules> */ public Single getWorkflowTransitionRuleConfigurations( - List types, Optional startAt, Optional maxResults, Optional> keys, Optional expand, Optional restRequestEnhancer) { + List types, Optional startAt, Optional maxResults, Optional> keys, Optional> workflowNames, Optional> withTags, Optional draft, Optional expand, Optional restRequestEnhancer) { RestRequest.Builder requestBuilder = RestRequest.builder() .method(HttpMethod.GET) @@ -87,6 +122,15 @@ public Single getWorkflowTransitionRuleConfigur if (keys.isPresent()) { queryParams.put("keys", RestClientUtil.objectCollectionToStringCollection(keys.get())); } + if (workflowNames.isPresent()) { + queryParams.put("workflowNames", RestClientUtil.objectCollectionToStringCollection(workflowNames.get())); + } + if (withTags.isPresent()) { + queryParams.put("withTags", RestClientUtil.objectCollectionToStringCollection(withTags.get())); + } + if (draft.isPresent()) { + queryParams.put("draft", Collections.singleton(String.valueOf(draft.get()))); + } if (expand.isPresent()) { queryParams.put("expand", Collections.singleton(String.valueOf(expand.get()))); } @@ -100,7 +144,7 @@ public Single getWorkflowTransitionRuleConfigur /** * Update workflow transition rule configurations - * Updates configuration of workflow transition rules. The following rule types are supported: * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/) * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/) Only rules created by the calling Connect app can be updated. **[Permissions](#permissions) required:** Only Connect apps can use this operation. + * Updates configuration of workflow transition rules. The following rule types are supported: * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/) * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/) Only rules created by the calling Connect app can be updated. To assist with app migration, this operation can be used to: * Disable a rule. * Add a `tag`. Use this to filter rules in the [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get). Rules are enabled if the `disabled` parameter is not provided. **[Permissions](#permissions) required:** Only Connect apps can use this operation. * @param workflowTransitionRulesUpdate (required) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<WorkflowTransitionRulesUpdateErrors> diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowsApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowsApi.java index 104fbfd..c003ef6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowsApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/api/WorkflowsApi.java @@ -28,9 +28,11 @@ import org.everit.http.restclient.RestRequestEnhancer; import org.everit.http.restclient.TypeReference; +import org.everit.atlassian.restclient.jiracloud.v3.model.CreateWorkflowDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.DeprecatedWorkflow; import org.everit.atlassian.restclient.jiracloud.v3.model.ErrorCollection; import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanWorkflow; +import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowIDs; import java.util.ArrayList; import java.util.Collection; @@ -41,7 +43,9 @@ public class WorkflowsApi { - private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.com"; + private static final String DEFAULT_BASE_PATH = "https://your-domain.atlassian.net"; + + private static final TypeReference returnType_createWorkflow = new TypeReference() {}; private static final TypeReference> returnType_getAllWorkflows = new TypeReference>() {}; @@ -53,6 +57,63 @@ public WorkflowsApi(RestClient restClient) { this.restClient = restClient; } + /** + * Create workflow + * Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no transitional rules are specified the default system transition rules are used. #### Conditions #### Conditions enable workflow rules that govern whether a transition can execute. ##### Always false condition ##### A condition that always fails. { \"type\": \"AlwaysFalseCondition\" } ##### Block transition until approval ##### A condition that blocks issue transition if there is a pending approval. { \"type\": \"BlockInProgressApprovalCondition\" } ##### Compare number custom field condition ##### A condition that allows transition if a comparison between a number custom field and a value is true. { \"type\": \"CompareNumberCFCondition\", \"configuration\": { \"comparator\": \"=\", \"fieldId\": \"customfield_10029\", \"fieldValue\": 2 } } * `comparator` One of the supported comparator: `=`, `>` and `<`. * `fieldId` The custom numeric field ID. * `fieldValue` The value for comparison. ##### Hide from user condition ##### A condition that hides a transition from users. The transition can only be triggered from a workflow function or REST API operation. { \"type\": \"RemoteOnlyCondition\" } ##### Only assignee condition ##### A condition that allows only the assignee to execute a transition. { \"type\": \"AllowOnlyAssignee\" } ##### Only Bamboo notifications workflow condition ##### A condition that makes the transition available only to Bamboo build notifications. { \"type\": \"OnlyBambooNotificationsCondition\" } ##### Only reporter condition ##### A condition that allows only the reporter to execute a transition. { \"type\": \"AllowOnlyReporter\" } ##### Permission condition ##### A condition that allows only users with a permission to execute a transition. { \"type\": \"PermissionCondition\", \"configuration\": { \"permissionKey\": \"BROWSE_PROJECTS\" } } * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions. ##### Previous status condition ##### A condition that allows a transition based on whether an issue has or has not transitioned through a status. { \"type\": \"PreviousStatusCondition\", \"configuration\": { \"ignoreLoopTransitions\": true, \"includeCurrentStatus\": true, \"mostRecentStatusOnly\": true, \"reverseCondition\": true, \"previousStatus\": { \"id\": \"5\" } } } By default this condition allows the transition if the status, as defined by its ID in the `previousStatus` object, matches any previous issue status, unless: * `ignoreLoopTransitions` is `true`, then loop transitions (from and to the same status) are ignored. * `includeCurrentStatus` is `true`, then the current issue status is also checked. * `mostRecentStatusOnly` is `true`, then only the issue's preceding status (the one immediately before the current status) is checked. * `reverseCondition` is `true`, then the status must not be present. ##### Separation of duties condition ##### A condition that prevents a user to perform the transition, if the user has already performed a transition on the issue. { \"type\": \"SeparationOfDutiesCondition\", \"configuration\": { \"fromStatus\": { \"id\": \"5\" }, \"toStatus\": { \"id\": \"6\" } } } * `fromStatus` OPTIONAL. An object containing the ID of the source status of the transition that is blocked. If omitted any transition to `toStatus` is blocked. * `toStatus` An object containing the ID of the target status of the transition that is blocked. ##### Subtask blocking condition ##### A condition that blocks transition on a parent issue if any of its subtasks are in any of one or more statuses. { \"type\": \"SubTaskBlockingCondition\", \"configuration\": { \"statuses\": [ { \"id\": \"1\" }, { \"id\": \"3\" } ] } } * `statuses` A list of objects containing status IDs. ##### User is in any group condition ##### A condition that allows users belonging to any group from a list of groups to execute a transition. { \"type\": \"UserInAnyGroupCondition\", \"configuration\": { \"groups\": [ \"administrators\", \"atlassian-addons-admin\" ] } } * `groups` A list of group names. ##### User is in any project role condition ##### A condition that allows only users with at least one project roles from a list of project roles to execute a transition. { \"type\": \"InAnyProjectRoleCondition\", \"configuration\": { \"projectRoles\": [ { \"id\": \"10002\" }, { \"id\": \"10003\" }, { \"id\": \"10012\" }, { \"id\": \"10013\" } ] } } * `projectRoles` A list of objects containing project role IDs. ##### User is in custom field condition ##### A condition that allows only users listed in a given custom field to execute the transition. { \"type\": \"UserIsInCustomFieldCondition\", \"configuration\": { \"allowUserInField\": false, \"fieldId\": \"customfield_10010\" } } * `allowUserInField` If `true` only a user who is listed in `fieldId` can perform the transition, otherwise, only a user who is not listed in `fieldId` can perform the transition. * `fieldId` The ID of the field containing the list of users. ##### User is in group condition ##### A condition that allows users belonging to a group to execute a transition. { \"type\": \"UserInGroupCondition\", \"configuration\": { \"group\": \"administrators\", } } * `group` The name of the group. ##### User is in group custom field condition ##### A condition that allows users belonging to a group specified in a custom field to execute a transition. { \"type\": \"InGroupCFCondition\", \"configuration\": { \"fieldId\": \"customfield_10012\", } } * `fieldId` The ID of the field. ##### User is in project role condition ##### A condition that allows users with a project role to execute a transition. { \"type\": \"InProjectRoleCondition\", \"configuration\": { \"projectRole\": { \"id\": \"10002\" } } } * `projectRole` An object containing the ID of a project role. ##### Value field condition ##### A conditions that allows a transition to execute if the value of a field is equal to a constant value or simply set. { \"type\": \"ValueFieldCondition\", \"configuration\": { \"fieldId\": \"assignee\", \"fieldValue\": \"qm:6e1ecee6-8e64-4db6-8c85-916bb3275f51:54b56885-2bd2-4381-8239-78263442520f\", \"comparisonType\": \"NUMBER\", \"comparator\": \"=\" } } * `fieldId` The ID of a field used in the comparison. * `fieldValue` The expected value of the field. * `comparisonType` The type of the comparison. Allowed values: `STRING`, `NUMBER`, `DATE`, `DATE_WITHOUT_TIME`, or `OPTIONID`. * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`. **Notes:** * If you choose the comparison type `STRING`, only `=` and `!=` are valid options. * You may leave `fieldValue` empty when comparison type is `!=` to indicate that a value is required in the field. * For date fields without time format values as `yyyy-MM-dd`, and for those with time as `yyyy-MM-dd HH:mm`. For example, for July 16 2021 use `2021-07-16`, for 8:05 AM use `2021-07-16 08:05`, and for 4 PM: `2021-07-16 16:00`. #### Validators #### Validators check that any input made to the transition is valid before the transition is performed. ##### Date field validator ##### A validator that compares two dates. { \"type\": \"DateFieldValidator\", \"configuration\": { \"comparator\": \">\", \"date1\": \"updated\", \"date2\": \"created\", \"expression\": \"1d\", \"includeTime\": true } } * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, or `!=`. * `date1` The date field to validate. * `date2` The second date field. Required, if `expression` is not passed. * `expression` An expression specifying an offset. Required, if `date2` is not passed. Offsets are built with a number, with `-` as prefix for the past, and one of these time units: `d` for day, `w` for week, `m` for month, or `y` for year. For example, -2d means two days into the past and 1w means one week into the future. The `now` keyword enables a comparison with the current date. * `includeTime` If `true`, then the time part of the data is included for the comparison. If the field doesn't have a time part, 00:00:00 is used. ##### Windows date validator ##### A validator that checks that a date falls on or after a reference date and before or on the reference date plus a number of days. { \"type\": \"WindowsDateValidator\", \"configuration\": { \"date1\": \"customfield_10009\", \"date2\": \"created\", \"windowsDays\": 5 } } * `date1` The date field to validate. * `date2` The reference date. * `windowsDays` A positive integer indicating a number of days. ##### Field required validator ##### A validator that checks fields are not empty. By default, if a field is not included in the current context it's ignored and not validated. { \"type\": \"FieldRequiredValidator\", \"configuration\": { \"ignoreContext\": true, \"errorMessage\": \"Hey\", \"fieldIds\": [ \"versions\", \"customfield_10037\", \"customfield_10003\" ] } } * `ignoreContext` If `true`, then the context is ignored and all the fields are validated. * `errorMessage` OPTIONAL. The error message displayed when one or more fields are empty. A default error message is shown if an error message is not provided. * `fieldIds` The list of fields to validate. ##### Field changed validator ##### A validator that checks that a field value is changed. However, this validation can be ignored for users from a list of groups. { \"type\": \"FieldChangedValidator\", \"configuration\": { \"fieldId\": \"comment\", \"errorMessage\": \"Hey\", \"exemptedGroups\": [ \"administrators\", \"atlassian-addons-admin\" ] } } * `fieldId` The ID of a field. * `errorMessage` OPTIONAL. The error message displayed if the field is not changed. A default error message is shown if the error message is not provided. * `exemptedGroups` OPTIONAL. The list of groups. ##### Field has single value validator ##### A validator that checks that a multi-select field has only one value. Optionally, the validation can ignore values copied from subtasks. { \"type\": \"FieldHasSingleValueValidator\", \"configuration\": { \"fieldId\": \"attachment, \"excludeSubtasks\": true } } * `fieldId` The ID of a field. * `excludeSubtasks` If `true`, then values copied from subtasks are ignored. ##### Parent status validator ##### A validator that checks the status of the parent issue of a subtask. Ìf the issue is not a subtask, no validation is performed. { \"type\": \"ParentStatusValidator\", \"configuration\": { \"parentStatuses\": [ { \"id\":\"1\" }, { \"id\":\"2\" } ] } } * `parentStatus` The list of required parent issue statuses. ##### Permission validator ##### A validator that checks the user has a permission. { \"type\": \"PermissionValidator\", \"configuration\": { \"permissionKey\": \"ADMINISTER_PROJECTS\" } } * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions. ##### Previous status validator ##### A validator that checks if the issue has held a status. { \"type\": \"PreviousStatusValidator\", \"configuration\": { \"mostRecentStatusOnly\": false, \"previousStatus\": { \"id\": \"15\" } } } * `mostRecentStatusOnly` If `true`, then only the issue's preceding status (the one immediately before the current status) is checked. * `previousStatus` An object containing the ID of an issue status. ##### Regular expression validator ##### A validator that checks the content of a field against a regular expression. { \"type\": \"RegexpFieldValidator\", \"configuration\": { \"regExp\": \"[0-9]\", \"fieldId\": \"customfield_10029\" } } * `regExp`A regular expression. * `fieldId` The ID of a field. ##### User permission validator ##### A validator that checks if a user has a permission. Obsolete. You may encounter this validator when getting transition rules and can pass it when updating or creating rules, for example, when you want to duplicate the rules from a workflow on a new workflow. { \"type\": \"UserPermissionValidator\", \"configuration\": { \"permissionKey\": \"BROWSE_PROJECTS\", \"nullAllowed\": false, \"username\": \"TestUser\" } } * `permissionKey` The permission to be validated. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions. * `nullAllowed` If `true`, allows the transition when `username` is empty. * `username` The username to validate against the `permissionKey`. #### Post functions #### Post functions carry out any additional processing required after a Jira workflow transition is executed. ##### Fire issue event function ##### A post function that fires an event that is processed by the listeners. { \"type\": \"FireIssueEventFunction\", \"configuration\": { \"event\": { \"id\":\"1\" } } } **Note:** If provided, this post function overrides the default `FireIssueEventFunction`. Can be included once in a transition. * `event` An object containing the ID of the issue event. ##### Update issue status ##### A post function that sets issue status to the linked status of the destination workflow status. { \"type\": \"UpdateIssueStatusFunction\" } **Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once. ##### Create comment ##### A post function that adds a comment entered during the transition to an issue. { \"type\": \"CreateCommentFunction\" } **Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once. ##### Store issue ##### A post function that stores updates to an issue. { \"type\": \"IssueStoreFunction\" } **Note:** This post function can only be added to the initial transition and can only be added once. ##### Assign to current user function ##### A post function that assigns the issue to the current user if the current user has the `ASSIGNABLE_USER` permission. { \"type\": \"AssignToCurrentUserFunction\" } **Note:** This post function can be included once in a transition. ##### Assign to lead function ##### A post function that assigns the issue to the project or component lead developer. { \"type\": \"AssignToLeadFunction\" } **Note:** This post function can be included once in a transition. ##### Assign to reporter function ##### A post function that assigns the issue to the reporter. { \"type\": \"AssignToReporterFunction\" } **Note:** This post function can be included once in a transition. ##### Clear field value function ##### A post function that clears the value from a field. { \"type\": \"ClearFieldValuePostFunction\", \"configuration\": { \"fieldId\": \"assignee\" } } * `fieldId` The ID of the field. ##### Copy value from other field function ##### A post function that copies the value of one field to another, either within an issue or from parent to subtask. { \"type\": \"CopyValueFromOtherFieldPostFunction\", \"configuration\": { \"sourceFieldId\": \"assignee\", \"destinationFieldId\": \"creator\", \"copyType\": \"same\" } } * `sourceFieldId` The ID of the source field. * `destinationFieldId` The ID of the destination field. * `copyType` Use `same` to copy the value from a field inside the issue, or `parent` to copy the value from the parent issue. ##### Create Crucible review workflow function ##### A post function that creates a Crucible review for all unreviewed code for the issue. { \"type\": \"CreateCrucibleReviewWorkflowFunction\" } **Note:** This post function can be included once in a transition. ##### Set issue security level based on user's project role function ##### A post function that sets the issue's security level if the current user has a project role. { \"type\": \"SetIssueSecurityFromRoleFunction\", \"configuration\": { \"projectRole\": { \"id\":\"10002\" }, \"issueSecurityLevel\": { \"id\":\"10000\" } } } * `projectRole` An object containing the ID of the project role. * `issueSecurityLevel` OPTIONAL. The object containing the ID of the security level. If not passed, then the security level is set to `none`. ##### Trigger a webhook function ##### A post function that triggers a webhook. { \"type\": \"TriggerWebhookFunction\", \"configuration\": { \"webhook\": { \"id\": \"1\" } } } * `webhook` An object containing the ID of the webhook listener to trigger. ##### Update issue custom field function ##### A post function that updates the content of an issue custom field. { \"type\": \"UpdateIssueCustomFieldPostFunction\", \"configuration\": { \"mode\": \"append\", \"fieldId\": \"customfield_10003\", \"fieldValue\": \"yikes\" } } * `mode` Use `replace` to override the field content with `fieldValue` or `append` to add `fieldValue` to the end of the field content. * `fieldId` The ID of the field. * `fieldValue` The update content. ##### Update issue field function ##### A post function that updates a simple issue field. { \"type\": \"UpdateIssueFieldFunction\", \"configuration\": { \"fieldId\": \"assignee\", \"fieldValue\": \"5f0c277e70b8a90025a00776\", } } * `fieldId` The ID of the field. * `fieldValue` The update value. * If the `fieldId` is `assignee`, the `fieldValue` should be one of these values: * an account ID. * `automatic`. * a blank string, which sets the value to `unassigned`. * Can be used only for fields : `assignee`, `description`, `environment`, `priority`, `resolution`, `summary`, `time_original_estimate`, `time_estimate`, and `time_spent`. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param createWorkflowDetails The workflow details. (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Single<WorkflowIDs> + */ + public Single createWorkflow( + CreateWorkflowDetails createWorkflowDetails, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.POST) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/workflow"); + + Map pathParams = new HashMap<>(); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + requestBuilder.requestBody(Optional.of(createWorkflowDetails)); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_createWorkflow); + } + + /** + * Delete inactive workflow + * Deletes a workflow. The workflow cannot be deleted if it is: * an active workflow. * a system workflow. * associated with any workflow scheme. * associated with any draft workflow scheme. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). + * @param entityId The entity ID of the workflow. (required) + * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

+ * @return Completable + */ + public Completable deleteInactiveWorkflow( + String entityId, Optional restRequestEnhancer) { + + RestRequest.Builder requestBuilder = RestRequest.builder() + .method(HttpMethod.DELETE) + .basePath(DEFAULT_BASE_PATH) + .path("/rest/api/3/workflow/{entityId}"); + + Map pathParams = new HashMap<>(); + pathParams.put("entityId", String.valueOf(entityId)); + requestBuilder.pathParams(pathParams); + + Map> queryParams = new HashMap<>(); + requestBuilder.queryParams(queryParams); + + Map headers = new HashMap<>(); + requestBuilder.headers(headers); + + return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer); + } + /** * Get all workflows * Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-3-workflow-search-get). If the `workflowName` parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). @@ -90,8 +151,8 @@ public Single> getAllWorkflows( * Returns a [paginated](#pagination) list of published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise, all published classic workflows are returned. This operation does not return next-gen workflows. **[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). * @param startAt The index of the first item to return in a page of results (page offset). (optional, default to 0l) * @param maxResults The maximum number of items to return per page. (optional, default to 50) - * @param workflowName The name of a workflow to return. (optional, default to new ArrayList<>()) - * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * `transitions` For each workflow, returns information about the transitions inside the workflow. * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested. * `statuses` For each workflow, returns information about the statuses inside the workflow. * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested. (optional) + * @param workflowName The name of a workflow to return. To include multiple workflows, provide an ampersand-separated list. For example, `workflowName=name1&workflowName=name2`. (optional, default to new ArrayList<>()) + * @param expand Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include: * `transitions` For each workflow, returns information about the transitions inside the workflow. * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested. * `statuses` For each workflow, returns information about the statuses inside the workflow. * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested. * `default` For each workflow, returns information about whether this is the default workflow. (optional) * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

* @return Single<PageBeanWorkflow> */ diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ActorInputBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ActorInputBean.java index d540055..f64a3a1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ActorInputBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ActorInputBean.java @@ -41,7 +41,7 @@ /** * ActorInputBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ActorInputBean { @JsonProperty("user") private List user = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ActorsMap.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ActorsMap.java index 623d676..cba8435 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ActorsMap.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ActorsMap.java @@ -41,7 +41,7 @@ /** * ActorsMap */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ActorsMap { @JsonProperty("user") private List user = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AddFieldBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AddFieldBean.java index 2538479..0e0e36c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AddFieldBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AddFieldBean.java @@ -39,7 +39,7 @@ /** * AddFieldBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AddFieldBean { @JsonProperty("fieldId") private String fieldId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AddGroupBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AddGroupBean.java index 7ecea30..7af9b4d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AddGroupBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AddGroupBean.java @@ -41,7 +41,7 @@ /** * AddGroupBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AddGroupBean { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Application.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Application.java index a3c7439..dad1fb0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Application.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Application.java @@ -42,7 +42,7 @@ * The application the linked item is in. */ @ApiModel(description = "The application the linked item is in.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Application { @JsonProperty("type") private String type; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ApplicationProperty.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ApplicationProperty.java index cfa6296..400dc98 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ApplicationProperty.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ApplicationProperty.java @@ -42,7 +42,7 @@ * Details of an application property. */ @ApiModel(description = "Details of an application property.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ApplicationProperty { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ApplicationRole.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ApplicationRole.java index 820f8c6..6fb7828 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ApplicationRole.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ApplicationRole.java @@ -42,7 +42,7 @@ * Details of an application role. */ @ApiModel(description = "Details of an application role.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ApplicationRole { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AssociatedItemBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AssociatedItemBean.java index a5835a1..1f40516 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AssociatedItemBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AssociatedItemBean.java @@ -40,7 +40,7 @@ * Details of an item associated with the changed record. */ @ApiModel(description = "Details of an item associated with the changed record.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AssociatedItemBean { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Attachment.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Attachment.java index 2ae8819..9c23b00 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Attachment.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Attachment.java @@ -44,7 +44,7 @@ * Details about an attachment. */ @ApiModel(description = "Details about an attachment.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Attachment { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchive.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchive.java new file mode 100644 index 0000000..2975e70 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchive.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.AttachmentArchiveEntry; + +/** + * AttachmentArchive + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class AttachmentArchive { + @JsonProperty("moreAvailable") + private Boolean moreAvailable; + + @JsonProperty("totalNumberOfEntriesAvailable") + private Integer totalNumberOfEntriesAvailable; + + @JsonProperty("totalEntryCount") + private Integer totalEntryCount; + + @JsonProperty("entries") + private List entries = new ArrayList<>(); + + public AttachmentArchive moreAvailable(Boolean moreAvailable) { + this.moreAvailable = moreAvailable; + return this; + } + + /** + * Get moreAvailable + * @return moreAvailable + **/ + @ApiModelProperty(value = "") + public Boolean getMoreAvailable() { + return moreAvailable; + } + + public void setMoreAvailable(Boolean moreAvailable) { + this.moreAvailable = moreAvailable; + } + + public AttachmentArchive totalNumberOfEntriesAvailable(Integer totalNumberOfEntriesAvailable) { + this.totalNumberOfEntriesAvailable = totalNumberOfEntriesAvailable; + return this; + } + + /** + * Get totalNumberOfEntriesAvailable + * @return totalNumberOfEntriesAvailable + **/ + @ApiModelProperty(value = "") + public Integer getTotalNumberOfEntriesAvailable() { + return totalNumberOfEntriesAvailable; + } + + public void setTotalNumberOfEntriesAvailable(Integer totalNumberOfEntriesAvailable) { + this.totalNumberOfEntriesAvailable = totalNumberOfEntriesAvailable; + } + + public AttachmentArchive totalEntryCount(Integer totalEntryCount) { + this.totalEntryCount = totalEntryCount; + return this; + } + + /** + * Get totalEntryCount + * @return totalEntryCount + **/ + @ApiModelProperty(value = "") + public Integer getTotalEntryCount() { + return totalEntryCount; + } + + public void setTotalEntryCount(Integer totalEntryCount) { + this.totalEntryCount = totalEntryCount; + } + + public AttachmentArchive entries(List entries) { + this.entries = entries; + return this; + } + + public AttachmentArchive addEntriesItem(AttachmentArchiveEntry entriesItem) { + if (this.entries == null) { + this.entries = new ArrayList<>(); + } + this.entries.add(entriesItem); + return this; + } + + /** + * Get entries + * @return entries + **/ + @ApiModelProperty(value = "") + public List getEntries() { + return entries; + } + + public void setEntries(List entries) { + this.entries = entries; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + AttachmentArchive attachmentArchive = (AttachmentArchive) o; + return Objects.equals(this.moreAvailable, attachmentArchive.moreAvailable) && + Objects.equals(this.totalNumberOfEntriesAvailable, attachmentArchive.totalNumberOfEntriesAvailable) && + Objects.equals(this.totalEntryCount, attachmentArchive.totalEntryCount) && + Objects.equals(this.entries, attachmentArchive.entries); + } + + @Override + public int hashCode() { + return Objects.hash(moreAvailable, totalNumberOfEntriesAvailable, totalEntryCount, entries); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class AttachmentArchive {\n"); + + sb.append(" moreAvailable: ").append(toIndentedString(moreAvailable)).append("\n"); + sb.append(" totalNumberOfEntriesAvailable: ").append(toIndentedString(totalNumberOfEntriesAvailable)).append("\n"); + sb.append(" totalEntryCount: ").append(toIndentedString(totalEntryCount)).append("\n"); + sb.append(" entries: ").append(toIndentedString(entries)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveEntry.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveEntry.java index fb6d26d..db6d4df 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveEntry.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveEntry.java @@ -39,7 +39,7 @@ /** * AttachmentArchiveEntry */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AttachmentArchiveEntry { @JsonProperty("abbreviatedName") private String abbreviatedName; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveImpl.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveImpl.java index af4dd0b..0cd3db5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveImpl.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveImpl.java @@ -42,7 +42,7 @@ /** * AttachmentArchiveImpl */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AttachmentArchiveImpl { @JsonProperty("entries") private List entries = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveItemReadable.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveItemReadable.java index 2245fc7..2952460 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveItemReadable.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveItemReadable.java @@ -40,7 +40,7 @@ * Metadata for an item in an attachment archive. */ @ApiModel(description = "Metadata for an item in an attachment archive.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AttachmentArchiveItemReadable { @JsonProperty("path") private String path; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveMetadataReadable.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveMetadataReadable.java index 03914e0..b67b330 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveMetadataReadable.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentArchiveMetadataReadable.java @@ -43,7 +43,7 @@ * Metadata for an archive (for example a zip) and its contents. */ @ApiModel(description = "Metadata for an archive (for example a zip) and its contents.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AttachmentArchiveMetadataReadable { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentMetadata.java index ba72e69..b20b4a2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentMetadata.java @@ -46,7 +46,7 @@ * Metadata for an issue attachment. */ @ApiModel(description = "Metadata for an issue attachment.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AttachmentMetadata { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentSettings.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentSettings.java index f7ba2e1..1d226ab 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentSettings.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AttachmentSettings.java @@ -40,7 +40,7 @@ * Details of the instance's attachment settings. */ @ApiModel(description = "Details of the instance's attachment settings.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AttachmentSettings { @JsonProperty("enabled") private Boolean enabled; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AuditRecordBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AuditRecordBean.java index b5c3ce5..fababfa 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AuditRecordBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AuditRecordBean.java @@ -45,7 +45,7 @@ * An audit record. */ @ApiModel(description = "An audit record.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AuditRecordBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AuditRecords.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AuditRecords.java index 09b3f53..3b4717e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AuditRecords.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AuditRecords.java @@ -43,7 +43,7 @@ * Container for a list of audit records. */ @ApiModel(description = "Container for a list of audit records.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AuditRecords { @JsonProperty("offset") private Integer offset; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AutoCompleteSuggestion.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AutoCompleteSuggestion.java index 6ef1654..b943b26 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AutoCompleteSuggestion.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AutoCompleteSuggestion.java @@ -40,7 +40,7 @@ * A field auto-complete suggestion. */ @ApiModel(description = "A field auto-complete suggestion.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AutoCompleteSuggestion { @JsonProperty("value") private String value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AutoCompleteSuggestions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AutoCompleteSuggestions.java index ca1ba46..b7969db 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AutoCompleteSuggestions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AutoCompleteSuggestions.java @@ -43,7 +43,7 @@ * The results from a JQL query. */ @ApiModel(description = "The results from a JQL query.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AutoCompleteSuggestions { @JsonProperty("results") private List results = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Avatar.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Avatar.java index 665be13..2314161 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Avatar.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Avatar.java @@ -44,7 +44,7 @@ * Details of an avatar. */ @ApiModel(description = "Details of an avatar.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Avatar { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AvatarUrlsBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AvatarUrlsBean.java index 81dde3d..2b3c5d0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AvatarUrlsBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/AvatarUrlsBean.java @@ -40,7 +40,7 @@ /** * AvatarUrlsBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class AvatarUrlsBean { @JsonProperty("16x16") private URI _16x16; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Avatars.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Avatars.java index 83c2baa..1146d9b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Avatars.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Avatars.java @@ -43,7 +43,7 @@ * Details about system and custom avatars. */ @ApiModel(description = "Details about system and custom avatars.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Avatars { @JsonProperty("system") private List system = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkCustomFieldOptionCreateRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkCustomFieldOptionCreateRequest.java new file mode 100644 index 0000000..4338a26 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkCustomFieldOptionCreateRequest.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldOptionCreate; + +/** + * Details of the options to create for a custom field. + */ +@ApiModel(description = "Details of the options to create for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class BulkCustomFieldOptionCreateRequest { + @JsonProperty("options") + private List options = new ArrayList<>(); + + public BulkCustomFieldOptionCreateRequest options(List options) { + this.options = options; + return this; + } + + public BulkCustomFieldOptionCreateRequest addOptionsItem(CustomFieldOptionCreate optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * Details of options to create. + * @return options + **/ + @ApiModelProperty(value = "Details of options to create.") + public List getOptions() { + return options; + } + + public void setOptions(List options) { + this.options = options; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BulkCustomFieldOptionCreateRequest bulkCustomFieldOptionCreateRequest = (BulkCustomFieldOptionCreateRequest) o; + return Objects.equals(this.options, bulkCustomFieldOptionCreateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(options); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BulkCustomFieldOptionCreateRequest {\n"); + + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkCustomFieldOptionUpdateRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkCustomFieldOptionUpdateRequest.java new file mode 100644 index 0000000..fbae532 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkCustomFieldOptionUpdateRequest.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldOptionUpdate; + +/** + * Details of the options to update for a custom field. + */ +@ApiModel(description = "Details of the options to update for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class BulkCustomFieldOptionUpdateRequest { + @JsonProperty("options") + private List options = new ArrayList<>(); + + public BulkCustomFieldOptionUpdateRequest options(List options) { + this.options = options; + return this; + } + + public BulkCustomFieldOptionUpdateRequest addOptionsItem(CustomFieldOptionUpdate optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * Details of the options to update. + * @return options + **/ + @ApiModelProperty(value = "Details of the options to update.") + public List getOptions() { + return options; + } + + public void setOptions(List options) { + this.options = options; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BulkCustomFieldOptionUpdateRequest bulkCustomFieldOptionUpdateRequest = (BulkCustomFieldOptionUpdateRequest) o; + return Objects.equals(this.options, bulkCustomFieldOptionUpdateRequest.options); + } + + @Override + public int hashCode() { + return Objects.hash(options); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BulkCustomFieldOptionUpdateRequest {\n"); + + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkIssuePropertyUpdateRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkIssuePropertyUpdateRequest.java index bb56b4d..4a1b270 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkIssuePropertyUpdateRequest.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkIssuePropertyUpdateRequest.java @@ -41,11 +41,14 @@ * Bulk issue property update request details. */ @ApiModel(description = "Bulk issue property update request details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class BulkIssuePropertyUpdateRequest { @JsonProperty("value") private Object value = null; + @JsonProperty("expression") + private String expression; + @JsonProperty("filter") private IssueFilterForBulkPropertySet filter; @@ -55,10 +58,10 @@ public BulkIssuePropertyUpdateRequest value(Object value) { } /** - * The value of the property. The value must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters. + * The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters. * @return value **/ - @ApiModelProperty(value = "The value of the property. The value must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.") + @ApiModelProperty(value = "The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.") public Object getValue() { return value; } @@ -67,6 +70,24 @@ public void setValue(Object value) { this.value = value; } + public BulkIssuePropertyUpdateRequest expression(String expression) { + this.expression = expression; + return this; + } + + /** + * EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON representation is longer than 32768 characters are ignored. + * @return expression + **/ + @ApiModelProperty(value = "EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON representation is longer than 32768 characters are ignored.") + public String getExpression() { + return expression; + } + + public void setExpression(String expression) { + this.expression = expression; + } + public BulkIssuePropertyUpdateRequest filter(IssueFilterForBulkPropertySet filter) { this.filter = filter; return this; @@ -96,12 +117,13 @@ public boolean equals(java.lang.Object o) { } BulkIssuePropertyUpdateRequest bulkIssuePropertyUpdateRequest = (BulkIssuePropertyUpdateRequest) o; return Objects.equals(this.value, bulkIssuePropertyUpdateRequest.value) && + Objects.equals(this.expression, bulkIssuePropertyUpdateRequest.expression) && Objects.equals(this.filter, bulkIssuePropertyUpdateRequest.filter); } @Override public int hashCode() { - return Objects.hash(value, filter); + return Objects.hash(value, expression, filter); } @@ -111,6 +133,7 @@ public String toString() { sb.append("class BulkIssuePropertyUpdateRequest {\n"); sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" expression: ").append(toIndentedString(expression)).append("\n"); sb.append(" filter: ").append(toIndentedString(filter)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkOperationErrorResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkOperationErrorResult.java index ed481e0..668851b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkOperationErrorResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkOperationErrorResult.java @@ -40,7 +40,7 @@ /** * BulkOperationErrorResult */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class BulkOperationErrorResult { @JsonProperty("status") private Integer status; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkPermissionGrants.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkPermissionGrants.java index 80de66b..6eca95b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkPermissionGrants.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkPermissionGrants.java @@ -43,7 +43,7 @@ * Details of global and project permissions granted to the user. */ @ApiModel(description = "Details of global and project permissions granted to the user.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class BulkPermissionGrants { @JsonProperty("projectPermissions") private List projectPermissions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkPermissionsRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkPermissionsRequestBean.java index 36518b6..abd2e44 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkPermissionsRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkPermissionsRequestBean.java @@ -43,7 +43,7 @@ * Details of global permissions to look up and project permissions with associated projects and issues to look up. */ @ApiModel(description = "Details of global permissions to look up and project permissions with associated projects and issues to look up.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class BulkPermissionsRequestBean { @JsonProperty("projectPermissions") private List projectPermissions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkProjectPermissionGrants.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkProjectPermissionGrants.java index 89d8127..d0ca3d4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkProjectPermissionGrants.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkProjectPermissionGrants.java @@ -42,7 +42,7 @@ * List of project permissions and the projects and issues those permissions grant access to. */ @ApiModel(description = "List of project permissions and the projects and issues those permissions grant access to.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class BulkProjectPermissionGrants { @JsonProperty("permission") private String permission; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkProjectPermissions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkProjectPermissions.java index 7132937..7f89635 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkProjectPermissions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/BulkProjectPermissions.java @@ -42,7 +42,7 @@ * Details of project permissions and associated issues and projects to look up. */ @ApiModel(description = "Details of project permissions and associated issues and projects to look up.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class BulkProjectPermissions { @JsonProperty("issues") private List issues = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangeDetails.java index 02239b0..153a83f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangeDetails.java @@ -40,7 +40,7 @@ * A change item. */ @ApiModel(description = "A change item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ChangeDetails { @JsonProperty("field") private String field; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedValueBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedValueBean.java index a784288..fbf4376 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedValueBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedValueBean.java @@ -40,7 +40,7 @@ * Details of names changed in the record event. */ @ApiModel(description = "Details of names changed in the record event.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ChangedValueBean { @JsonProperty("fieldName") private String fieldName; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedWorklog.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedWorklog.java index 6851a08..7bc4e43 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedWorklog.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedWorklog.java @@ -43,7 +43,7 @@ * Details of a changed worklog. */ @ApiModel(description = "Details of a changed worklog.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ChangedWorklog { @JsonProperty("worklogId") private Long worklogId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedWorklogs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedWorklogs.java index 009b9bb..14a2266 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedWorklogs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ChangedWorklogs.java @@ -44,7 +44,7 @@ * List of changed worklogs. */ @ApiModel(description = "List of changed worklogs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ChangedWorklogs { @JsonProperty("values") private List values = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Changelog.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Changelog.java index e392534..5d13508 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Changelog.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Changelog.java @@ -46,7 +46,7 @@ * A changelog. */ @ApiModel(description = "A changelog.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Changelog { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ColumnItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ColumnItem.java index 0af66c4..96cd7aa 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ColumnItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ColumnItem.java @@ -40,7 +40,7 @@ * Details of an issue navigator column item. */ @ApiModel(description = "Details of an issue navigator column item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ColumnItem { @JsonProperty("label") private String label; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Comment.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Comment.java index d25f750..3d0ccbd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Comment.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Comment.java @@ -48,7 +48,7 @@ * A comment. */ @ApiModel(description = "A comment.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Comment { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ComponentIssuesCount.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ComponentIssuesCount.java index 29956fe..ec0bc3a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ComponentIssuesCount.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ComponentIssuesCount.java @@ -41,7 +41,7 @@ * Count of issues assigned to a component. */ @ApiModel(description = "Count of issues assigned to a component.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ComponentIssuesCount { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ComponentWithIssueCount.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ComponentWithIssueCount.java index 2c8d20e..af6fb40 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ComponentWithIssueCount.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ComponentWithIssueCount.java @@ -42,27 +42,18 @@ * Details about a component with a count of the issues it contains. */ @ApiModel(description = "Details about a component with a count of the issues it contains.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ComponentWithIssueCount { @JsonProperty("issueCount") private Long issueCount; - @JsonProperty("description") - private String description; - - @JsonProperty("self") - private URI self; - - @JsonProperty("projectId") - private Long projectId; - - @JsonProperty("project") - private String project; + @JsonProperty("isAssigneeTypeValid") + private Boolean isAssigneeTypeValid; /** - * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. + * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. */ - public enum AssigneeTypeEnum { + public enum RealAssigneeTypeEnum { PROJECT_DEFAULT("PROJECT_DEFAULT"), COMPONENT_LEAD("COMPONENT_LEAD"), @@ -73,7 +64,7 @@ public enum AssigneeTypeEnum { private String value; - AssigneeTypeEnum(String value) { + RealAssigneeTypeEnum(String value) { this.value = value; } @@ -88,8 +79,8 @@ public String toString() { } @JsonCreator - public static AssigneeTypeEnum fromValue(String value) { - for (AssigneeTypeEnum b : AssigneeTypeEnum.values()) { + public static RealAssigneeTypeEnum fromValue(String value) { + for (RealAssigneeTypeEnum b : RealAssigneeTypeEnum.values()) { if (b.value.equalsIgnoreCase(value)) { return b; } @@ -98,25 +89,31 @@ public static AssigneeTypeEnum fromValue(String value) { } } - @JsonProperty("assigneeType") - private AssigneeTypeEnum assigneeType; - - @JsonProperty("lead") - private User lead; + @JsonProperty("realAssigneeType") + private RealAssigneeTypeEnum realAssigneeType; @JsonProperty("realAssignee") private User realAssignee; - @JsonProperty("isAssigneeTypeValid") - private Boolean isAssigneeTypeValid; + @JsonProperty("description") + private String description; + + @JsonProperty("self") + private URI self; + + @JsonProperty("projectId") + private Long projectId; @JsonProperty("assignee") private User assignee; + @JsonProperty("project") + private String project; + /** - * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. + * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. */ - public enum RealAssigneeTypeEnum { + public enum AssigneeTypeEnum { PROJECT_DEFAULT("PROJECT_DEFAULT"), COMPONENT_LEAD("COMPONENT_LEAD"), @@ -127,7 +124,7 @@ public enum RealAssigneeTypeEnum { private String value; - RealAssigneeTypeEnum(String value) { + AssigneeTypeEnum(String value) { this.value = value; } @@ -142,8 +139,8 @@ public String toString() { } @JsonCreator - public static RealAssigneeTypeEnum fromValue(String value) { - for (RealAssigneeTypeEnum b : RealAssigneeTypeEnum.values()) { + public static AssigneeTypeEnum fromValue(String value) { + for (AssigneeTypeEnum b : AssigneeTypeEnum.values()) { if (b.value.equalsIgnoreCase(value)) { return b; } @@ -152,8 +149,11 @@ public static RealAssigneeTypeEnum fromValue(String value) { } } - @JsonProperty("realAssigneeType") - private RealAssigneeTypeEnum realAssigneeType; + @JsonProperty("assigneeType") + private AssigneeTypeEnum assigneeType; + + @JsonProperty("lead") + private User lead; @JsonProperty("name") private String name; @@ -170,6 +170,42 @@ public Long getIssueCount() { return issueCount; } + /** + * Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned. + * @return isAssigneeTypeValid + **/ + @ApiModelProperty(value = "Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.") + public Boolean getIsAssigneeTypeValid() { + return isAssigneeTypeValid; + } + + /** + * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. + * @return realAssigneeType + **/ + @ApiModelProperty(value = "The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true.") + public RealAssigneeTypeEnum getRealAssigneeType() { + return realAssigneeType; + } + + public ComponentWithIssueCount realAssignee(User realAssignee) { + this.realAssignee = realAssignee; + return this; + } + + /** + * The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee. + * @return realAssignee + **/ + @ApiModelProperty(value = "The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.") + public User getRealAssignee() { + return realAssignee; + } + + public void setRealAssignee(User realAssignee) { + this.realAssignee = realAssignee; + } + /** * The description for the component. * @return description @@ -197,6 +233,24 @@ public Long getProjectId() { return projectId; } + public ComponentWithIssueCount assignee(User assignee) { + this.assignee = assignee; + return this; + } + + /** + * The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component. + * @return assignee + **/ + @ApiModelProperty(value = "The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.") + public User getAssignee() { + return assignee; + } + + public void setAssignee(User assignee) { + this.assignee = assignee; + } + /** * The key of the project to which the component is assigned. * @return project @@ -233,60 +287,6 @@ public void setLead(User lead) { this.lead = lead; } - public ComponentWithIssueCount realAssignee(User realAssignee) { - this.realAssignee = realAssignee; - return this; - } - - /** - * The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee. - * @return realAssignee - **/ - @ApiModelProperty(value = "The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.") - public User getRealAssignee() { - return realAssignee; - } - - public void setRealAssignee(User realAssignee) { - this.realAssignee = realAssignee; - } - - /** - * Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned. - * @return isAssigneeTypeValid - **/ - @ApiModelProperty(value = "Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.") - public Boolean getIsAssigneeTypeValid() { - return isAssigneeTypeValid; - } - - public ComponentWithIssueCount assignee(User assignee) { - this.assignee = assignee; - return this; - } - - /** - * The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component. - * @return assignee - **/ - @ApiModelProperty(value = "The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.") - public User getAssignee() { - return assignee; - } - - public void setAssignee(User assignee) { - this.assignee = assignee; - } - - /** - * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. - * @return realAssigneeType - **/ - @ApiModelProperty(value = "The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true.") - public RealAssigneeTypeEnum getRealAssigneeType() { - return realAssigneeType; - } - /** * The name for the component. * @return name @@ -316,23 +316,23 @@ public boolean equals(java.lang.Object o) { } ComponentWithIssueCount componentWithIssueCount = (ComponentWithIssueCount) o; return Objects.equals(this.issueCount, componentWithIssueCount.issueCount) && + Objects.equals(this.isAssigneeTypeValid, componentWithIssueCount.isAssigneeTypeValid) && + Objects.equals(this.realAssigneeType, componentWithIssueCount.realAssigneeType) && + Objects.equals(this.realAssignee, componentWithIssueCount.realAssignee) && Objects.equals(this.description, componentWithIssueCount.description) && Objects.equals(this.self, componentWithIssueCount.self) && Objects.equals(this.projectId, componentWithIssueCount.projectId) && + Objects.equals(this.assignee, componentWithIssueCount.assignee) && Objects.equals(this.project, componentWithIssueCount.project) && Objects.equals(this.assigneeType, componentWithIssueCount.assigneeType) && Objects.equals(this.lead, componentWithIssueCount.lead) && - Objects.equals(this.realAssignee, componentWithIssueCount.realAssignee) && - Objects.equals(this.isAssigneeTypeValid, componentWithIssueCount.isAssigneeTypeValid) && - Objects.equals(this.assignee, componentWithIssueCount.assignee) && - Objects.equals(this.realAssigneeType, componentWithIssueCount.realAssigneeType) && Objects.equals(this.name, componentWithIssueCount.name) && Objects.equals(this.id, componentWithIssueCount.id); } @Override public int hashCode() { - return Objects.hash(issueCount, description, self, projectId, project, assigneeType, lead, realAssignee, isAssigneeTypeValid, assignee, realAssigneeType, name, id); + return Objects.hash(issueCount, isAssigneeTypeValid, realAssigneeType, realAssignee, description, self, projectId, assignee, project, assigneeType, lead, name, id); } @@ -342,16 +342,16 @@ public String toString() { sb.append("class ComponentWithIssueCount {\n"); sb.append(" issueCount: ").append(toIndentedString(issueCount)).append("\n"); + sb.append(" isAssigneeTypeValid: ").append(toIndentedString(isAssigneeTypeValid)).append("\n"); + sb.append(" realAssigneeType: ").append(toIndentedString(realAssigneeType)).append("\n"); + sb.append(" realAssignee: ").append(toIndentedString(realAssignee)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" self: ").append(toIndentedString(self)).append("\n"); sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); sb.append(" project: ").append(toIndentedString(project)).append("\n"); sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); sb.append(" lead: ").append(toIndentedString(lead)).append("\n"); - sb.append(" realAssignee: ").append(toIndentedString(realAssignee)).append("\n"); - sb.append(" isAssigneeTypeValid: ").append(toIndentedString(isAssigneeTypeValid)).append("\n"); - sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); - sb.append(" realAssigneeType: ").append(toIndentedString(realAssigneeType)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append("}"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CompoundClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CompoundClause.java index ff55ec0..652a341 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CompoundClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CompoundClause.java @@ -42,7 +42,7 @@ * A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A OR B) AND C\". See Setting the precedence of operators for more information about precedence in JQL queries.` */ @ApiModel(description = "A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A OR B) AND C\". See Setting the precedence of operators for more information about precedence in JQL queries.`") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class CompoundClause { @JsonProperty("clauses") private List clauses = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectCustomFieldValue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectCustomFieldValue.java new file mode 100644 index 0000000..9641cd6 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectCustomFieldValue.java @@ -0,0 +1,312 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; + +/** + * A list of custom field details. + */ +@ApiModel(description = "A list of custom field details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ConnectCustomFieldValue { + /** + * The type of custom field. + */ + public enum TypeEnum { + STRINGISSUEFIELD("StringIssueField"), + + NUMBERISSUEFIELD("NumberIssueField"), + + RICHTEXTISSUEFIELD("RichTextIssueField"), + + SINGLESELECTISSUEFIELD("SingleSelectIssueField"), + + MULTISELECTISSUEFIELD("MultiSelectIssueField"), + + TEXTISSUEFIELD("TextIssueField"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("_type") + private TypeEnum type; + + @JsonProperty("issueID") + private Integer issueID; + + @JsonProperty("fieldID") + private Integer fieldID; + + @JsonProperty("string") + private String string; + + @JsonProperty("number") + private BigDecimal number; + + @JsonProperty("richText") + private String richText; + + @JsonProperty("optionID") + private String optionID; + + @JsonProperty("text") + private String text; + + public ConnectCustomFieldValue type(TypeEnum type) { + this.type = type; + return this; + } + + /** + * The type of custom field. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of custom field.") + public TypeEnum getType() { + return type; + } + + public void setType(TypeEnum type) { + this.type = type; + } + + public ConnectCustomFieldValue issueID(Integer issueID) { + this.issueID = issueID; + return this; + } + + /** + * The issue ID. + * @return issueID + **/ + @ApiModelProperty(required = true, value = "The issue ID.") + public Integer getIssueID() { + return issueID; + } + + public void setIssueID(Integer issueID) { + this.issueID = issueID; + } + + public ConnectCustomFieldValue fieldID(Integer fieldID) { + this.fieldID = fieldID; + return this; + } + + /** + * The custom field ID. + * @return fieldID + **/ + @ApiModelProperty(required = true, value = "The custom field ID.") + public Integer getFieldID() { + return fieldID; + } + + public void setFieldID(Integer fieldID) { + this.fieldID = fieldID; + } + + public ConnectCustomFieldValue string(String string) { + this.string = string; + return this; + } + + /** + * The value of string type custom field when `_type` is `StringIssueField`. + * @return string + **/ + @ApiModelProperty(value = "The value of string type custom field when `_type` is `StringIssueField`.") + public String getString() { + return string; + } + + public void setString(String string) { + this.string = string; + } + + public ConnectCustomFieldValue number(BigDecimal number) { + this.number = number; + return this; + } + + /** + * The value of number type custom field when `_type` is `NumberIssueField`. + * @return number + **/ + @ApiModelProperty(value = "The value of number type custom field when `_type` is `NumberIssueField`.") + public BigDecimal getNumber() { + return number; + } + + public void setNumber(BigDecimal number) { + this.number = number; + } + + public ConnectCustomFieldValue richText(String richText) { + this.richText = richText; + return this; + } + + /** + * The value of richText type custom field when `_type` is `RichTextIssueField`. + * @return richText + **/ + @ApiModelProperty(value = "The value of richText type custom field when `_type` is `RichTextIssueField`.") + public String getRichText() { + return richText; + } + + public void setRichText(String richText) { + this.richText = richText; + } + + public ConnectCustomFieldValue optionID(String optionID) { + this.optionID = optionID; + return this; + } + + /** + * The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or `MultiSelectIssueField`. + * @return optionID + **/ + @ApiModelProperty(value = "The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or `MultiSelectIssueField`.") + public String getOptionID() { + return optionID; + } + + public void setOptionID(String optionID) { + this.optionID = optionID; + } + + public ConnectCustomFieldValue text(String text) { + this.text = text; + return this; + } + + /** + * The value of of text custom field type when `_type` is `TextIssueField`. + * @return text + **/ + @ApiModelProperty(value = "The value of of text custom field type when `_type` is `TextIssueField`.") + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectCustomFieldValue connectCustomFieldValue = (ConnectCustomFieldValue) o; + return Objects.equals(this.type, connectCustomFieldValue.type) && + Objects.equals(this.issueID, connectCustomFieldValue.issueID) && + Objects.equals(this.fieldID, connectCustomFieldValue.fieldID) && + Objects.equals(this.string, connectCustomFieldValue.string) && + Objects.equals(this.number, connectCustomFieldValue.number) && + Objects.equals(this.richText, connectCustomFieldValue.richText) && + Objects.equals(this.optionID, connectCustomFieldValue.optionID) && + Objects.equals(this.text, connectCustomFieldValue.text); + } + + @Override + public int hashCode() { + return Objects.hash(type, issueID, fieldID, string, number, richText, optionID, text); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConnectCustomFieldValue {\n"); + + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" issueID: ").append(toIndentedString(issueID)).append("\n"); + sb.append(" fieldID: ").append(toIndentedString(fieldID)).append("\n"); + sb.append(" string: ").append(toIndentedString(string)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); + sb.append(" richText: ").append(toIndentedString(richText)).append("\n"); + sb.append(" optionID: ").append(toIndentedString(optionID)).append("\n"); + sb.append(" text: ").append(toIndentedString(text)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectCustomFieldValues.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectCustomFieldValues.java new file mode 100644 index 0000000..9152fc6 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectCustomFieldValues.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.ConnectCustomFieldValue; + +/** + * Details of updates for a custom field. + */ +@ApiModel(description = "Details of updates for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ConnectCustomFieldValues { + @JsonProperty("updateValueList") + private List updateValueList = new ArrayList<>(); + + public ConnectCustomFieldValues updateValueList(List updateValueList) { + this.updateValueList = updateValueList; + return this; + } + + public ConnectCustomFieldValues addUpdateValueListItem(ConnectCustomFieldValue updateValueListItem) { + if (this.updateValueList == null) { + this.updateValueList = new ArrayList<>(); + } + this.updateValueList.add(updateValueListItem); + return this; + } + + /** + * The list of custom field update details. + * @return updateValueList + **/ + @ApiModelProperty(value = "The list of custom field update details.") + public List getUpdateValueList() { + return updateValueList; + } + + public void setUpdateValueList(List updateValueList) { + this.updateValueList = updateValueList; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ConnectCustomFieldValues connectCustomFieldValues = (ConnectCustomFieldValues) o; + return Objects.equals(this.updateValueList, connectCustomFieldValues.updateValueList); + } + + @Override + public int hashCode() { + return Objects.hash(updateValueList); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ConnectCustomFieldValues {\n"); + + sb.append(" updateValueList: ").append(toIndentedString(updateValueList)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectModules.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectModules.java index dee61d9..0674b98 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectModules.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectModules.java @@ -41,7 +41,7 @@ /** * ConnectModules */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ConnectModules { @JsonProperty("modules") private List modules = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectWorkflowTransitionRule.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectWorkflowTransitionRule.java index 0859bba..ad008ec 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectWorkflowTransitionRule.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConnectWorkflowTransitionRule.java @@ -42,7 +42,7 @@ * A workflow transition rule. */ @ApiModel(description = "A workflow transition rule.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ConnectWorkflowTransitionRule { @JsonProperty("id") private String id; @@ -92,7 +92,7 @@ public ConnectWorkflowTransitionRule _configuration(RuleConfiguration _configura * Get _configuration * @return _configuration **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public RuleConfiguration getConfiguration() { return _configuration; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerForRegisteredWebhooks.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerForRegisteredWebhooks.java index cba43f3..5bce6b8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerForRegisteredWebhooks.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerForRegisteredWebhooks.java @@ -43,7 +43,7 @@ * Container for a list of registered webhooks. Webhook details are returned in the same order as the request. */ @ApiModel(description = "Container for a list of registered webhooks. Webhook details are returned in the same order as the request.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ContainerForRegisteredWebhooks { @JsonProperty("webhookRegistrationResult") private List webhookRegistrationResult = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerForWebhookIDs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerForWebhookIDs.java index b968792..c434a3a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerForWebhookIDs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerForWebhookIDs.java @@ -42,7 +42,7 @@ * Container for a list of webhook IDs. */ @ApiModel(description = "Container for a list of webhook IDs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ContainerForWebhookIDs { @JsonProperty("webhookIds") private List webhookIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerOfWorkflowSchemeAssociations.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerOfWorkflowSchemeAssociations.java index c3f04e7..12c0209 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerOfWorkflowSchemeAssociations.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContainerOfWorkflowSchemeAssociations.java @@ -43,7 +43,7 @@ * A container for a list of workflow schemes together with the projects they are associated with. */ @ApiModel(description = "A container for a list of workflow schemes together with the projects they are associated with.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ContainerOfWorkflowSchemeAssociations { @JsonProperty("values") private List values = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Context.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Context.java index 1d6bea9..9cf89f3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Context.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Context.java @@ -41,7 +41,7 @@ * A context. */ @ApiModel(description = "A context.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Context { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContextForProjectAndIssueType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContextForProjectAndIssueType.java new file mode 100644 index 0000000..310f66f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContextForProjectAndIssueType.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The project and issue type mapping with a matching custom field context. + */ +@ApiModel(description = "The project and issue type mapping with a matching custom field context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ContextForProjectAndIssueType { + @JsonProperty("projectId") + private String projectId; + + @JsonProperty("issueTypeId") + private String issueTypeId; + + @JsonProperty("contextId") + private String contextId; + + public ContextForProjectAndIssueType projectId(String projectId) { + this.projectId = projectId; + return this; + } + + /** + * The ID of the project. + * @return projectId + **/ + @ApiModelProperty(required = true, value = "The ID of the project.") + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + public ContextForProjectAndIssueType issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the issue type. + * @return issueTypeId + **/ + @ApiModelProperty(required = true, value = "The ID of the issue type.") + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + public ContextForProjectAndIssueType contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the custom field context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the custom field context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ContextForProjectAndIssueType contextForProjectAndIssueType = (ContextForProjectAndIssueType) o; + return Objects.equals(this.projectId, contextForProjectAndIssueType.projectId) && + Objects.equals(this.issueTypeId, contextForProjectAndIssueType.issueTypeId) && + Objects.equals(this.contextId, contextForProjectAndIssueType.contextId); + } + + @Override + public int hashCode() { + return Objects.hash(projectId, issueTypeId, contextId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ContextForProjectAndIssueType {\n"); + + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContextualConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContextualConfiguration.java new file mode 100644 index 0000000..e8c0908 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ContextualConfiguration.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of the contextual configuration for a custom field. + */ +@ApiModel(description = "Details of the contextual configuration for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ContextualConfiguration { + @JsonProperty("contextId") + private Long contextId; + + @JsonProperty("configuration") + private Object _configuration = null; + + @JsonProperty("schema") + private Object schema = null; + + public ContextualConfiguration contextId(Long contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context the configuration is associated with. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context the configuration is associated with.") + public Long getContextId() { + return contextId; + } + + public void setContextId(Long contextId) { + this.contextId = contextId; + } + + public ContextualConfiguration _configuration(Object _configuration) { + this._configuration = _configuration; + return this; + } + + /** + * The configuration associated with the context. + * @return _configuration + **/ + @ApiModelProperty(value = "The configuration associated with the context.") + public Object getConfiguration() { + return _configuration; + } + + public void setConfiguration(Object _configuration) { + this._configuration = _configuration; + } + + public ContextualConfiguration schema(Object schema) { + this.schema = schema; + return this; + } + + /** + * The schema associated with the context. + * @return schema + **/ + @ApiModelProperty(value = "The schema associated with the context.") + public Object getSchema() { + return schema; + } + + public void setSchema(Object schema) { + this.schema = schema; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ContextualConfiguration contextualConfiguration = (ContextualConfiguration) o; + return Objects.equals(this.contextId, contextualConfiguration.contextId) && + Objects.equals(this._configuration, contextualConfiguration._configuration) && + Objects.equals(this.schema, contextualConfiguration.schema); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, _configuration, schema); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ContextualConfiguration {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" _configuration: ").append(toIndentedString(_configuration)).append("\n"); + sb.append(" schema: ").append(toIndentedString(schema)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConvertedJQLQueries.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConvertedJQLQueries.java index 3bd3ffd..2250e41 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConvertedJQLQueries.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ConvertedJQLQueries.java @@ -43,7 +43,7 @@ * The converted JQL queries. */ @ApiModel(description = "The converted JQL queries.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ConvertedJQLQueries { @JsonProperty("queryStrings") private List queryStrings = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateCustomFieldContext.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateCustomFieldContext.java new file mode 100644 index 0000000..9c19400 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateCustomFieldContext.java @@ -0,0 +1,208 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * The details of a created custom field context. + */ +@ApiModel(description = "The details of a created custom field context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CreateCustomFieldContext { + @JsonProperty("id") + private String id; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("projectIds") + private List projectIds = new ArrayList<>(); + + @JsonProperty("issueTypeIds") + private List issueTypeIds = new ArrayList<>(); + + /** + * The ID of the context. + * @return id + **/ + @ApiModelProperty(value = "The ID of the context.") + public String getId() { + return id; + } + + public CreateCustomFieldContext name(String name) { + this.name = name; + return this; + } + + /** + * The name of the context. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the context.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CreateCustomFieldContext description(String description) { + this.description = description; + return this; + } + + /** + * The description of the context. + * @return description + **/ + @ApiModelProperty(value = "The description of the context.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CreateCustomFieldContext projectIds(List projectIds) { + this.projectIds = projectIds; + return this; + } + + public CreateCustomFieldContext addProjectIdsItem(String projectIdsItem) { + if (this.projectIds == null) { + this.projectIds = new ArrayList<>(); + } + this.projectIds.add(projectIdsItem); + return this; + } + + /** + * The list of project IDs associated with the context. If the list is empty, the context is global. + * @return projectIds + **/ + @ApiModelProperty(value = "The list of project IDs associated with the context. If the list is empty, the context is global.") + public List getProjectIds() { + return projectIds; + } + + public void setProjectIds(List projectIds) { + this.projectIds = projectIds; + } + + public CreateCustomFieldContext issueTypeIds(List issueTypeIds) { + this.issueTypeIds = issueTypeIds; + return this; + } + + public CreateCustomFieldContext addIssueTypeIdsItem(String issueTypeIdsItem) { + if (this.issueTypeIds == null) { + this.issueTypeIds = new ArrayList<>(); + } + this.issueTypeIds.add(issueTypeIdsItem); + return this; + } + + /** + * The list of issue types IDs for the context. If the list is empty, the context refers to all issue types. + * @return issueTypeIds + **/ + @ApiModelProperty(value = "The list of issue types IDs for the context. If the list is empty, the context refers to all issue types.") + public List getIssueTypeIds() { + return issueTypeIds; + } + + public void setIssueTypeIds(List issueTypeIds) { + this.issueTypeIds = issueTypeIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateCustomFieldContext createCustomFieldContext = (CreateCustomFieldContext) o; + return Objects.equals(this.id, createCustomFieldContext.id) && + Objects.equals(this.name, createCustomFieldContext.name) && + Objects.equals(this.description, createCustomFieldContext.description) && + Objects.equals(this.projectIds, createCustomFieldContext.projectIds) && + Objects.equals(this.issueTypeIds, createCustomFieldContext.issueTypeIds); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, description, projectIds, issueTypeIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateCustomFieldContext {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" projectIds: ").append(toIndentedString(projectIds)).append("\n"); + sb.append(" issueTypeIds: ").append(toIndentedString(issueTypeIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateProjectDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateProjectDetails.java new file mode 100644 index 0000000..8781244 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateProjectDetails.java @@ -0,0 +1,637 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details about the project. + */ +@ApiModel(description = "Details about the project.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CreateProjectDetails { + @JsonProperty("key") + private String key; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("lead") + private String lead; + + @JsonProperty("leadAccountId") + private String leadAccountId; + + @JsonProperty("url") + private String url; + + /** + * The default assignee when creating issues for this project. + */ + public enum AssigneeTypeEnum { + PROJECT_LEAD("PROJECT_LEAD"), + + UNASSIGNED("UNASSIGNED"); + + private String value; + + AssigneeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AssigneeTypeEnum fromValue(String value) { + for (AssigneeTypeEnum b : AssigneeTypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("assigneeType") + private AssigneeTypeEnum assigneeType; + + @JsonProperty("avatarId") + private Long avatarId; + + @JsonProperty("issueSecurityScheme") + private Long issueSecurityScheme; + + @JsonProperty("permissionScheme") + private Long permissionScheme; + + @JsonProperty("notificationScheme") + private Long notificationScheme; + + @JsonProperty("categoryId") + private Long categoryId; + + /** + * The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type. + */ + public enum ProjectTypeKeyEnum { + SOFTWARE("software"), + + SERVICE_DESK("service_desk"), + + BUSINESS("business"); + + private String value; + + ProjectTypeKeyEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ProjectTypeKeyEnum fromValue(String value) { + for (ProjectTypeKeyEnum b : ProjectTypeKeyEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("projectTypeKey") + private ProjectTypeKeyEnum projectTypeKey; + + /** + * A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`. + */ + public enum ProjectTemplateKeyEnum { + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_AGILITY_KANBAN("com.pyxis.greenhopper.jira:gh-simplified-agility-kanban"), + + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_AGILITY_SCRUM("com.pyxis.greenhopper.jira:gh-simplified-agility-scrum"), + + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_BASIC("com.pyxis.greenhopper.jira:gh-simplified-basic"), + + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_KANBAN_CLASSIC("com.pyxis.greenhopper.jira:gh-simplified-kanban-classic"), + + PYXIS_GREENHOPPER_JIRA_GH_SIMPLIFIED_SCRUM_CLASSIC("com.pyxis.greenhopper.jira:gh-simplified-scrum-classic"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_IT_SERVICE_DESK("com.atlassian.servicedesk:simplified-it-service-desk"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_INTERNAL_SERVICE_DESK("com.atlassian.servicedesk:simplified-internal-service-desk"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_EXTERNAL_SERVICE_DESK("com.atlassian.servicedesk:simplified-external-service-desk"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_HR_SERVICE_DESK("com.atlassian.servicedesk:simplified-hr-service-desk"), + + ATLASSIAN_SERVICEDESK_SIMPLIFIED_FACILITIES_SERVICE_DESK("com.atlassian.servicedesk:simplified-facilities-service-desk"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_CONTENT_MANAGEMENT("com.atlassian.jira-core-project-templates:jira-core-simplified-content-management"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_DOCUMENT_APPROVAL("com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_LEAD_TRACKING("com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_PROCESS_CONTROL("com.atlassian.jira-core-project-templates:jira-core-simplified-process-control"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_PROCUREMENT("com.atlassian.jira-core-project-templates:jira-core-simplified-procurement"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_PROJECT_MANAGEMENT("com.atlassian.jira-core-project-templates:jira-core-simplified-project-management"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_RECRUITMENT("com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment"), + + ATLASSIAN_JIRA_CORE_PROJECT_TEMPLATES_JIRA_CORE_SIMPLIFIED_TASK_("com.atlassian.jira-core-project-templates:jira-core-simplified-task-"); + + private String value; + + ProjectTemplateKeyEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ProjectTemplateKeyEnum fromValue(String value) { + for (ProjectTemplateKeyEnum b : ProjectTemplateKeyEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("projectTemplateKey") + private ProjectTemplateKeyEnum projectTemplateKey; + + @JsonProperty("workflowScheme") + private Long workflowScheme; + + @JsonProperty("issueTypeScreenScheme") + private Long issueTypeScreenScheme; + + @JsonProperty("issueTypeScheme") + private Long issueTypeScheme; + + @JsonProperty("fieldConfigurationScheme") + private Long fieldConfigurationScheme; + + public CreateProjectDetails key(String key) { + this.key = key; + return this; + } + + /** + * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters. + * @return key + **/ + @ApiModelProperty(required = true, value = "Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters.") + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public CreateProjectDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the project. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the project.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CreateProjectDetails description(String description) { + this.description = description; + return this; + } + + /** + * A brief description of the project. + * @return description + **/ + @ApiModelProperty(value = "A brief description of the project.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CreateProjectDetails lead(String lead) { + this.lead = lead; + return this; + } + + /** + * This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `leadAccountId`. + * @return lead + **/ + @ApiModelProperty(value = "This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `leadAccountId`.") + public String getLead() { + return lead; + } + + public void setLead(String lead) { + this.lead = lead; + } + + public CreateProjectDetails leadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + return this; + } + + /** + * The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `lead`. + * @return leadAccountId + **/ + @ApiModelProperty(value = "The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `lead`.") + public String getLeadAccountId() { + return leadAccountId; + } + + public void setLeadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + } + + public CreateProjectDetails url(String url) { + this.url = url; + return this; + } + + /** + * A link to information about this project, such as project documentation + * @return url + **/ + @ApiModelProperty(value = "A link to information about this project, such as project documentation") + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public CreateProjectDetails assigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + return this; + } + + /** + * The default assignee when creating issues for this project. + * @return assigneeType + **/ + @ApiModelProperty(value = "The default assignee when creating issues for this project.") + public AssigneeTypeEnum getAssigneeType() { + return assigneeType; + } + + public void setAssigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + } + + public CreateProjectDetails avatarId(Long avatarId) { + this.avatarId = avatarId; + return this; + } + + /** + * An integer value for the project's avatar. + * @return avatarId + **/ + @ApiModelProperty(value = "An integer value for the project's avatar.") + public Long getAvatarId() { + return avatarId; + } + + public void setAvatarId(Long avatarId) { + this.avatarId = avatarId; + } + + public CreateProjectDetails issueSecurityScheme(Long issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + return this; + } + + /** + * The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs. + * @return issueSecurityScheme + **/ + @ApiModelProperty(value = "The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs.") + public Long getIssueSecurityScheme() { + return issueSecurityScheme; + } + + public void setIssueSecurityScheme(Long issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + } + + public CreateProjectDetails permissionScheme(Long permissionScheme) { + this.permissionScheme = permissionScheme; + return this; + } + + /** + * The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs. + * @return permissionScheme + **/ + @ApiModelProperty(value = "The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.") + public Long getPermissionScheme() { + return permissionScheme; + } + + public void setPermissionScheme(Long permissionScheme) { + this.permissionScheme = permissionScheme; + } + + public CreateProjectDetails notificationScheme(Long notificationScheme) { + this.notificationScheme = notificationScheme; + return this; + } + + /** + * The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs. + * @return notificationScheme + **/ + @ApiModelProperty(value = "The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.") + public Long getNotificationScheme() { + return notificationScheme; + } + + public void setNotificationScheme(Long notificationScheme) { + this.notificationScheme = notificationScheme; + } + + public CreateProjectDetails categoryId(Long categoryId) { + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation. + * @return categoryId + **/ + @ApiModelProperty(value = "The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.") + public Long getCategoryId() { + return categoryId; + } + + public void setCategoryId(Long categoryId) { + this.categoryId = categoryId; + } + + public CreateProjectDetails projectTypeKey(ProjectTypeKeyEnum projectTypeKey) { + this.projectTypeKey = projectTypeKey; + return this; + } + + /** + * The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type. + * @return projectTypeKey + **/ + @ApiModelProperty(value = "The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type.") + public ProjectTypeKeyEnum getProjectTypeKey() { + return projectTypeKey; + } + + public void setProjectTypeKey(ProjectTypeKeyEnum projectTypeKey) { + this.projectTypeKey = projectTypeKey; + } + + public CreateProjectDetails projectTemplateKey(ProjectTemplateKeyEnum projectTemplateKey) { + this.projectTemplateKey = projectTemplateKey; + return this; + } + + /** + * A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`. + * @return projectTemplateKey + **/ + @ApiModelProperty(value = "A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`.") + public ProjectTemplateKeyEnum getProjectTemplateKey() { + return projectTemplateKey; + } + + public void setProjectTemplateKey(ProjectTemplateKeyEnum projectTemplateKey) { + this.projectTemplateKey = projectTemplateKey; + } + + public CreateProjectDetails workflowScheme(Long workflowScheme) { + this.workflowScheme = workflowScheme; + return this; + } + + /** + * The ID of the workflow scheme for the project. Use the [Get all workflow schemes](#api-rest-api-3-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the workflow scheme you cannot specify the project template key. + * @return workflowScheme + **/ + @ApiModelProperty(value = "The ID of the workflow scheme for the project. Use the [Get all workflow schemes](#api-rest-api-3-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the workflow scheme you cannot specify the project template key.") + public Long getWorkflowScheme() { + return workflowScheme; + } + + public void setWorkflowScheme(Long workflowScheme) { + this.workflowScheme = workflowScheme; + } + + public CreateProjectDetails issueTypeScreenScheme(Long issueTypeScreenScheme) { + this.issueTypeScreenScheme = issueTypeScreenScheme; + return this; + } + + /** + * The ID of the issue type screen scheme for the project. Use the [Get all issue type screen schemes](#api-rest-api-3-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you specify the issue type screen scheme you cannot specify the project template key. + * @return issueTypeScreenScheme + **/ + @ApiModelProperty(value = "The ID of the issue type screen scheme for the project. Use the [Get all issue type screen schemes](#api-rest-api-3-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you specify the issue type screen scheme you cannot specify the project template key.") + public Long getIssueTypeScreenScheme() { + return issueTypeScreenScheme; + } + + public void setIssueTypeScreenScheme(Long issueTypeScreenScheme) { + this.issueTypeScreenScheme = issueTypeScreenScheme; + } + + public CreateProjectDetails issueTypeScheme(Long issueTypeScheme) { + this.issueTypeScheme = issueTypeScheme; + return this; + } + + /** + * The ID of the issue type scheme for the project. Use the [Get all issue type schemes](#api-rest-api-3-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the issue type scheme you cannot specify the project template key. + * @return issueTypeScheme + **/ + @ApiModelProperty(value = "The ID of the issue type scheme for the project. Use the [Get all issue type schemes](#api-rest-api-3-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the issue type scheme you cannot specify the project template key.") + public Long getIssueTypeScheme() { + return issueTypeScheme; + } + + public void setIssueTypeScheme(Long issueTypeScheme) { + this.issueTypeScheme = issueTypeScheme; + } + + public CreateProjectDetails fieldConfigurationScheme(Long fieldConfigurationScheme) { + this.fieldConfigurationScheme = fieldConfigurationScheme; + return this; + } + + /** + * The ID of the field configuration scheme for the project. Use the [Get all field configuration schemes](#api-rest-api-3-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs. If you specify the field configuration scheme you cannot specify the project template key. + * @return fieldConfigurationScheme + **/ + @ApiModelProperty(value = "The ID of the field configuration scheme for the project. Use the [Get all field configuration schemes](#api-rest-api-3-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs. If you specify the field configuration scheme you cannot specify the project template key.") + public Long getFieldConfigurationScheme() { + return fieldConfigurationScheme; + } + + public void setFieldConfigurationScheme(Long fieldConfigurationScheme) { + this.fieldConfigurationScheme = fieldConfigurationScheme; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateProjectDetails createProjectDetails = (CreateProjectDetails) o; + return Objects.equals(this.key, createProjectDetails.key) && + Objects.equals(this.name, createProjectDetails.name) && + Objects.equals(this.description, createProjectDetails.description) && + Objects.equals(this.lead, createProjectDetails.lead) && + Objects.equals(this.leadAccountId, createProjectDetails.leadAccountId) && + Objects.equals(this.url, createProjectDetails.url) && + Objects.equals(this.assigneeType, createProjectDetails.assigneeType) && + Objects.equals(this.avatarId, createProjectDetails.avatarId) && + Objects.equals(this.issueSecurityScheme, createProjectDetails.issueSecurityScheme) && + Objects.equals(this.permissionScheme, createProjectDetails.permissionScheme) && + Objects.equals(this.notificationScheme, createProjectDetails.notificationScheme) && + Objects.equals(this.categoryId, createProjectDetails.categoryId) && + Objects.equals(this.projectTypeKey, createProjectDetails.projectTypeKey) && + Objects.equals(this.projectTemplateKey, createProjectDetails.projectTemplateKey) && + Objects.equals(this.workflowScheme, createProjectDetails.workflowScheme) && + Objects.equals(this.issueTypeScreenScheme, createProjectDetails.issueTypeScreenScheme) && + Objects.equals(this.issueTypeScheme, createProjectDetails.issueTypeScheme) && + Objects.equals(this.fieldConfigurationScheme, createProjectDetails.fieldConfigurationScheme); + } + + @Override + public int hashCode() { + return Objects.hash(key, name, description, lead, leadAccountId, url, assigneeType, avatarId, issueSecurityScheme, permissionScheme, notificationScheme, categoryId, projectTypeKey, projectTemplateKey, workflowScheme, issueTypeScreenScheme, issueTypeScheme, fieldConfigurationScheme); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateProjectDetails {\n"); + + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" lead: ").append(toIndentedString(lead)).append("\n"); + sb.append(" leadAccountId: ").append(toIndentedString(leadAccountId)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); + sb.append(" avatarId: ").append(toIndentedString(avatarId)).append("\n"); + sb.append(" issueSecurityScheme: ").append(toIndentedString(issueSecurityScheme)).append("\n"); + sb.append(" permissionScheme: ").append(toIndentedString(permissionScheme)).append("\n"); + sb.append(" notificationScheme: ").append(toIndentedString(notificationScheme)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append(" projectTypeKey: ").append(toIndentedString(projectTypeKey)).append("\n"); + sb.append(" projectTemplateKey: ").append(toIndentedString(projectTemplateKey)).append("\n"); + sb.append(" workflowScheme: ").append(toIndentedString(workflowScheme)).append("\n"); + sb.append(" issueTypeScreenScheme: ").append(toIndentedString(issueTypeScreenScheme)).append("\n"); + sb.append(" issueTypeScheme: ").append(toIndentedString(issueTypeScheme)).append("\n"); + sb.append(" fieldConfigurationScheme: ").append(toIndentedString(fieldConfigurationScheme)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateUpdateRoleRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateUpdateRoleRequestBean.java index 8f56711..800a417 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateUpdateRoleRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateUpdateRoleRequestBean.java @@ -39,7 +39,7 @@ /** * CreateUpdateRoleRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class CreateUpdateRoleRequestBean { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowCondition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowCondition.java new file mode 100644 index 0000000..0219aa9 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowCondition.java @@ -0,0 +1,231 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * A workflow transition condition. + */ +@ApiModel(description = "A workflow transition condition.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CreateWorkflowCondition { + /** + * The compound condition operator. + */ + public enum OperatorEnum { + AND("AND"), + + OR("OR"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("operator") + private OperatorEnum operator; + + @JsonProperty("conditions") + private List conditions = new ArrayList<>(); + + @JsonProperty("type") + private String type; + + @JsonProperty("configuration") + private Map _configuration = new HashMap<>(); + + public CreateWorkflowCondition operator(OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * The compound condition operator. + * @return operator + **/ + @ApiModelProperty(value = "The compound condition operator.") + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(OperatorEnum operator) { + this.operator = operator; + } + + public CreateWorkflowCondition conditions(List conditions) { + this.conditions = conditions; + return this; + } + + public CreateWorkflowCondition addConditionsItem(CreateWorkflowCondition conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } + this.conditions.add(conditionsItem); + return this; + } + + /** + * The list of workflow conditions. + * @return conditions + **/ + @ApiModelProperty(value = "The list of workflow conditions.") + public List getConditions() { + return conditions; + } + + public void setConditions(List conditions) { + this.conditions = conditions; + } + + public CreateWorkflowCondition type(String type) { + this.type = type; + return this; + } + + /** + * The type of the transition rule. + * @return type + **/ + @ApiModelProperty(value = "The type of the transition rule.") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public CreateWorkflowCondition _configuration(Map _configuration) { + this._configuration = _configuration; + return this; + } + + public CreateWorkflowCondition putConfigurationItem(String key, Object _configurationItem) { + if (this._configuration == null) { + this._configuration = new HashMap<>(); + } + this._configuration.put(key, _configurationItem); + return this; + } + + /** + * EXPERIMENTAL. The configuration of the transition rule. + * @return _configuration + **/ + @ApiModelProperty(value = "EXPERIMENTAL. The configuration of the transition rule.") + public Map getConfiguration() { + return _configuration; + } + + public void setConfiguration(Map _configuration) { + this._configuration = _configuration; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowCondition createWorkflowCondition = (CreateWorkflowCondition) o; + return Objects.equals(this.operator, createWorkflowCondition.operator) && + Objects.equals(this.conditions, createWorkflowCondition.conditions) && + Objects.equals(this.type, createWorkflowCondition.type) && + Objects.equals(this._configuration, createWorkflowCondition._configuration); + } + + @Override + public int hashCode() { + return Objects.hash(operator, conditions, type, _configuration); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowCondition {\n"); + + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" _configuration: ").append(toIndentedString(_configuration)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowDetails.java new file mode 100644 index 0000000..c8ce11a --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowDetails.java @@ -0,0 +1,190 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CreateWorkflowStatusDetails; +import org.everit.atlassian.restclient.jiracloud.v3.model.CreateWorkflowTransitionDetails; + +/** + * The details of a workflow. + */ +@ApiModel(description = "The details of a workflow.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CreateWorkflowDetails { + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("transitions") + private List transitions = new ArrayList<>(); + + @JsonProperty("statuses") + private List statuses = new ArrayList<>(); + + public CreateWorkflowDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be separated by a whitespace but the name cannot start or end with a whitespace. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be separated by a whitespace but the name cannot start or end with a whitespace.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CreateWorkflowDetails description(String description) { + this.description = description; + return this; + } + + /** + * The description of the workflow. The maximum length is 1000 characters. + * @return description + **/ + @ApiModelProperty(value = "The description of the workflow. The maximum length is 1000 characters.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CreateWorkflowDetails transitions(List transitions) { + this.transitions = transitions; + return this; + } + + public CreateWorkflowDetails addTransitionsItem(CreateWorkflowTransitionDetails transitionsItem) { + this.transitions.add(transitionsItem); + return this; + } + + /** + * The transitions of the workflow. For the request to be valid, these transitions must: * include one *initial* transition. * not use the same name for a *global* and *directed* transition. * have a unique name for each *global* transition. * have a unique 'to' status for each *global* transition. * have unique names for each transition from a status. * not have a 'from' status on *initial* and *global* transitions. * have a 'from' status on *directed* transitions. All the transition statuses must be included in `statuses`. + * @return transitions + **/ + @ApiModelProperty(required = true, value = "The transitions of the workflow. For the request to be valid, these transitions must: * include one *initial* transition. * not use the same name for a *global* and *directed* transition. * have a unique name for each *global* transition. * have a unique 'to' status for each *global* transition. * have unique names for each transition from a status. * not have a 'from' status on *initial* and *global* transitions. * have a 'from' status on *directed* transitions. All the transition statuses must be included in `statuses`.") + public List getTransitions() { + return transitions; + } + + public void setTransitions(List transitions) { + this.transitions = transitions; + } + + public CreateWorkflowDetails statuses(List statuses) { + this.statuses = statuses; + return this; + } + + public CreateWorkflowDetails addStatusesItem(CreateWorkflowStatusDetails statusesItem) { + this.statuses.add(statusesItem); + return this; + } + + /** + * The statuses of the workflow. Any status that does not include a transition is added to the workflow without a transition. + * @return statuses + **/ + @ApiModelProperty(required = true, value = "The statuses of the workflow. Any status that does not include a transition is added to the workflow without a transition.") + public List getStatuses() { + return statuses; + } + + public void setStatuses(List statuses) { + this.statuses = statuses; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowDetails createWorkflowDetails = (CreateWorkflowDetails) o; + return Objects.equals(this.name, createWorkflowDetails.name) && + Objects.equals(this.description, createWorkflowDetails.description) && + Objects.equals(this.transitions, createWorkflowDetails.transitions) && + Objects.equals(this.statuses, createWorkflowDetails.statuses); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, transitions, statuses); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowDetails {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" transitions: ").append(toIndentedString(transitions)).append("\n"); + sb.append(" statuses: ").append(toIndentedString(statuses)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowStatusDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowStatusDetails.java new file mode 100644 index 0000000..b047c95 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowStatusDetails.java @@ -0,0 +1,107 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The details of a transition status. + */ +@ApiModel(description = "The details of a transition status.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CreateWorkflowStatusDetails { + @JsonProperty("id") + private String id; + + public CreateWorkflowStatusDetails id(String id) { + this.id = id; + return this; + } + + /** + * The ID of the status. + * @return id + **/ + @ApiModelProperty(required = true, value = "The ID of the status.") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowStatusDetails createWorkflowStatusDetails = (CreateWorkflowStatusDetails) o; + return Objects.equals(this.id, createWorkflowStatusDetails.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowStatusDetails {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionDetails.java new file mode 100644 index 0000000..e34cce1 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionDetails.java @@ -0,0 +1,270 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CreateWorkflowTransitionRulesDetails; + +/** + * The details of a workflow transition. + */ +@ApiModel(description = "The details of a workflow transition.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CreateWorkflowTransitionDetails { + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("from") + private List from = new ArrayList<>(); + + @JsonProperty("to") + private String to; + + /** + * The type of the transition. + */ + public enum TypeEnum { + GLOBAL("global"), + + INITIAL("initial"), + + DIRECTED("directed"); + + private String value; + + TypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static TypeEnum fromValue(String value) { + for (TypeEnum b : TypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("type") + private TypeEnum type; + + @JsonProperty("rules") + private CreateWorkflowTransitionRulesDetails rules; + + public CreateWorkflowTransitionDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the transition. The maximum length is 60 characters. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the transition. The maximum length is 60 characters.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CreateWorkflowTransitionDetails description(String description) { + this.description = description; + return this; + } + + /** + * The description of the transition. The maximum length is 1000 characters. + * @return description + **/ + @ApiModelProperty(value = "The description of the transition. The maximum length is 1000 characters.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CreateWorkflowTransitionDetails from(List from) { + this.from = from; + return this; + } + + public CreateWorkflowTransitionDetails addFromItem(String fromItem) { + if (this.from == null) { + this.from = new ArrayList<>(); + } + this.from.add(fromItem); + return this; + } + + /** + * The statuses the transition can start from. + * @return from + **/ + @ApiModelProperty(value = "The statuses the transition can start from.") + public List getFrom() { + return from; + } + + public void setFrom(List from) { + this.from = from; + } + + public CreateWorkflowTransitionDetails to(String to) { + this.to = to; + return this; + } + + /** + * The status the transition goes to. + * @return to + **/ + @ApiModelProperty(required = true, value = "The status the transition goes to.") + public String getTo() { + return to; + } + + public void setTo(String to) { + this.to = to; + } + + public CreateWorkflowTransitionDetails type(TypeEnum type) { + this.type = type; + return this; + } + + /** + * The type of the transition. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the transition.") + public TypeEnum getType() { + return type; + } + + public void setType(TypeEnum type) { + this.type = type; + } + + public CreateWorkflowTransitionDetails rules(CreateWorkflowTransitionRulesDetails rules) { + this.rules = rules; + return this; + } + + /** + * The rules of the transition. + * @return rules + **/ + @ApiModelProperty(value = "The rules of the transition.") + public CreateWorkflowTransitionRulesDetails getRules() { + return rules; + } + + public void setRules(CreateWorkflowTransitionRulesDetails rules) { + this.rules = rules; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowTransitionDetails createWorkflowTransitionDetails = (CreateWorkflowTransitionDetails) o; + return Objects.equals(this.name, createWorkflowTransitionDetails.name) && + Objects.equals(this.description, createWorkflowTransitionDetails.description) && + Objects.equals(this.from, createWorkflowTransitionDetails.from) && + Objects.equals(this.to, createWorkflowTransitionDetails.to) && + Objects.equals(this.type, createWorkflowTransitionDetails.type) && + Objects.equals(this.rules, createWorkflowTransitionDetails.rules); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, from, to, type, rules); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowTransitionDetails {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" from: ").append(toIndentedString(from)).append("\n"); + sb.append(" to: ").append(toIndentedString(to)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" rules: ").append(toIndentedString(rules)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionRule.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionRule.java new file mode 100644 index 0000000..4abc3c0 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionRule.java @@ -0,0 +1,141 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * A workflow transition rule. + */ +@ApiModel(description = "A workflow transition rule.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CreateWorkflowTransitionRule { + @JsonProperty("type") + private String type; + + @JsonProperty("configuration") + private Map _configuration = new HashMap<>(); + + public CreateWorkflowTransitionRule type(String type) { + this.type = type; + return this; + } + + /** + * The type of the transition rule. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the transition rule.") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public CreateWorkflowTransitionRule _configuration(Map _configuration) { + this._configuration = _configuration; + return this; + } + + public CreateWorkflowTransitionRule putConfigurationItem(String key, Object _configurationItem) { + if (this._configuration == null) { + this._configuration = new HashMap<>(); + } + this._configuration.put(key, _configurationItem); + return this; + } + + /** + * EXPERIMENTAL. The configuration of the transition rule. + * @return _configuration + **/ + @ApiModelProperty(value = "EXPERIMENTAL. The configuration of the transition rule.") + public Map getConfiguration() { + return _configuration; + } + + public void setConfiguration(Map _configuration) { + this._configuration = _configuration; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowTransitionRule createWorkflowTransitionRule = (CreateWorkflowTransitionRule) o; + return Objects.equals(this.type, createWorkflowTransitionRule.type) && + Objects.equals(this._configuration, createWorkflowTransitionRule._configuration); + } + + @Override + public int hashCode() { + return Objects.hash(type, _configuration); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowTransitionRule {\n"); + + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" _configuration: ").append(toIndentedString(_configuration)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionRulesDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionRulesDetails.java new file mode 100644 index 0000000..7f96bdd --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreateWorkflowTransitionRulesDetails.java @@ -0,0 +1,173 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CreateWorkflowCondition; +import org.everit.atlassian.restclient.jiracloud.v3.model.CreateWorkflowTransitionRule; + +/** + * The details of a workflow transition rules. + */ +@ApiModel(description = "The details of a workflow transition rules.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CreateWorkflowTransitionRulesDetails { + @JsonProperty("conditions") + private CreateWorkflowCondition conditions; + + @JsonProperty("validators") + private List validators = new ArrayList<>(); + + @JsonProperty("postFunctions") + private List postFunctions = new ArrayList<>(); + + public CreateWorkflowTransitionRulesDetails conditions(CreateWorkflowCondition conditions) { + this.conditions = conditions; + return this; + } + + /** + * The workflow conditions. + * @return conditions + **/ + @ApiModelProperty(value = "The workflow conditions.") + public CreateWorkflowCondition getConditions() { + return conditions; + } + + public void setConditions(CreateWorkflowCondition conditions) { + this.conditions = conditions; + } + + public CreateWorkflowTransitionRulesDetails validators(List validators) { + this.validators = validators; + return this; + } + + public CreateWorkflowTransitionRulesDetails addValidatorsItem(CreateWorkflowTransitionRule validatorsItem) { + if (this.validators == null) { + this.validators = new ArrayList<>(); + } + this.validators.add(validatorsItem); + return this; + } + + /** + * The workflow validators. + * @return validators + **/ + @ApiModelProperty(value = "The workflow validators.") + public List getValidators() { + return validators; + } + + public void setValidators(List validators) { + this.validators = validators; + } + + public CreateWorkflowTransitionRulesDetails postFunctions(List postFunctions) { + this.postFunctions = postFunctions; + return this; + } + + public CreateWorkflowTransitionRulesDetails addPostFunctionsItem(CreateWorkflowTransitionRule postFunctionsItem) { + if (this.postFunctions == null) { + this.postFunctions = new ArrayList<>(); + } + this.postFunctions.add(postFunctionsItem); + return this; + } + + /** + * The workflow post functions. + * @return postFunctions + **/ + @ApiModelProperty(value = "The workflow post functions.") + public List getPostFunctions() { + return postFunctions; + } + + public void setPostFunctions(List postFunctions) { + this.postFunctions = postFunctions; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CreateWorkflowTransitionRulesDetails createWorkflowTransitionRulesDetails = (CreateWorkflowTransitionRulesDetails) o; + return Objects.equals(this.conditions, createWorkflowTransitionRulesDetails.conditions) && + Objects.equals(this.validators, createWorkflowTransitionRulesDetails.validators) && + Objects.equals(this.postFunctions, createWorkflowTransitionRulesDetails.postFunctions); + } + + @Override + public int hashCode() { + return Objects.hash(conditions, validators, postFunctions); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CreateWorkflowTransitionRulesDetails {\n"); + + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" validators: ").append(toIndentedString(validators)).append("\n"); + sb.append(" postFunctions: ").append(toIndentedString(postFunctions)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreatedIssue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreatedIssue.java index bffeec3..3818be7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreatedIssue.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreatedIssue.java @@ -41,7 +41,7 @@ * Details about a created issue or subtask. */ @ApiModel(description = "Details about a created issue or subtask.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class CreatedIssue { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreatedIssues.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreatedIssues.java index abf09b5..bd91293 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreatedIssues.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CreatedIssues.java @@ -44,7 +44,7 @@ * Details about the issues created and the errors for requests that failed. */ @ApiModel(description = "Details about the issues created and the errors for requests that failed.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class CreatedIssues { @JsonProperty("issues") private List issues = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldConfigurations.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldConfigurations.java new file mode 100644 index 0000000..500aff8 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldConfigurations.java @@ -0,0 +1,115 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.ContextualConfiguration; + +/** + * Details of configurations for a custom field. + */ +@ApiModel(description = "Details of configurations for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldConfigurations { + @JsonProperty("configurations") + private List configurations = new ArrayList<>(); + + public CustomFieldConfigurations configurations(List configurations) { + this.configurations = configurations; + return this; + } + + public CustomFieldConfigurations addConfigurationsItem(ContextualConfiguration configurationsItem) { + this.configurations.add(configurationsItem); + return this; + } + + /** + * The list of custom field configuration details. + * @return configurations + **/ + @ApiModelProperty(required = true, value = "The list of custom field configuration details.") + public List getConfigurations() { + return configurations; + } + + public void setConfigurations(List configurations) { + this.configurations = configurations; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldConfigurations customFieldConfigurations = (CustomFieldConfigurations) o; + return Objects.equals(this.configurations, customFieldConfigurations.configurations); + } + + @Override + public int hashCode() { + return Objects.hash(configurations); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldConfigurations {\n"); + + sb.append(" configurations: ").append(toIndentedString(configurations)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContext.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContext.java new file mode 100644 index 0000000..0f8e92c --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContext.java @@ -0,0 +1,199 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The details of a custom field context. + */ +@ApiModel(description = "The details of a custom field context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldContext { + @JsonProperty("id") + private String id; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("isGlobalContext") + private Boolean isGlobalContext; + + @JsonProperty("isAnyIssueType") + private Boolean isAnyIssueType; + + public CustomFieldContext id(String id) { + this.id = id; + return this; + } + + /** + * The ID of the context. + * @return id + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public CustomFieldContext name(String name) { + this.name = name; + return this; + } + + /** + * The name of the context. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the context.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CustomFieldContext description(String description) { + this.description = description; + return this; + } + + /** + * The description of the context. + * @return description + **/ + @ApiModelProperty(required = true, value = "The description of the context.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public CustomFieldContext isGlobalContext(Boolean isGlobalContext) { + this.isGlobalContext = isGlobalContext; + return this; + } + + /** + * Whether the context is global. + * @return isGlobalContext + **/ + @ApiModelProperty(required = true, value = "Whether the context is global.") + public Boolean getIsGlobalContext() { + return isGlobalContext; + } + + public void setIsGlobalContext(Boolean isGlobalContext) { + this.isGlobalContext = isGlobalContext; + } + + public CustomFieldContext isAnyIssueType(Boolean isAnyIssueType) { + this.isAnyIssueType = isAnyIssueType; + return this; + } + + /** + * Whether the context apply to all issue types. + * @return isAnyIssueType + **/ + @ApiModelProperty(required = true, value = "Whether the context apply to all issue types.") + public Boolean getIsAnyIssueType() { + return isAnyIssueType; + } + + public void setIsAnyIssueType(Boolean isAnyIssueType) { + this.isAnyIssueType = isAnyIssueType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContext customFieldContext = (CustomFieldContext) o; + return Objects.equals(this.id, customFieldContext.id) && + Objects.equals(this.name, customFieldContext.name) && + Objects.equals(this.description, customFieldContext.description) && + Objects.equals(this.isGlobalContext, customFieldContext.isGlobalContext) && + Objects.equals(this.isAnyIssueType, customFieldContext.isAnyIssueType); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, description, isGlobalContext, isAnyIssueType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContext {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" isGlobalContext: ").append(toIndentedString(isGlobalContext)).append("\n"); + sb.append(" isAnyIssueType: ").append(toIndentedString(isAnyIssueType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueCascadingOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueCascadingOption.java new file mode 100644 index 0000000..fa02d6a --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueCascadingOption.java @@ -0,0 +1,176 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Default value for a cascading select custom field. + */ +@ApiModel(description = "Default value for a cascading select custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldContextDefaultValueCascadingOption { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("optionId") + private String optionId; + + @JsonProperty("cascadingOptionId") + private String cascadingOptionId; + + @JsonProperty("type") + private String type; + + public CustomFieldContextDefaultValueCascadingOption contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + public CustomFieldContextDefaultValueCascadingOption optionId(String optionId) { + this.optionId = optionId; + return this; + } + + /** + * The ID of the default option. + * @return optionId + **/ + @ApiModelProperty(required = true, value = "The ID of the default option.") + public String getOptionId() { + return optionId; + } + + public void setOptionId(String optionId) { + this.optionId = optionId; + } + + public CustomFieldContextDefaultValueCascadingOption cascadingOptionId(String cascadingOptionId) { + this.cascadingOptionId = cascadingOptionId; + return this; + } + + /** + * The ID of the default cascading option. + * @return cascadingOptionId + **/ + @ApiModelProperty(value = "The ID of the default cascading option.") + public String getCascadingOptionId() { + return cascadingOptionId; + } + + public void setCascadingOptionId(String cascadingOptionId) { + this.cascadingOptionId = cascadingOptionId; + } + + public CustomFieldContextDefaultValueCascadingOption type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextDefaultValueCascadingOption customFieldContextDefaultValueCascadingOption = (CustomFieldContextDefaultValueCascadingOption) o; + return Objects.equals(this.contextId, customFieldContextDefaultValueCascadingOption.contextId) && + Objects.equals(this.optionId, customFieldContextDefaultValueCascadingOption.optionId) && + Objects.equals(this.cascadingOptionId, customFieldContextDefaultValueCascadingOption.cascadingOptionId) && + Objects.equals(this.type, customFieldContextDefaultValueCascadingOption.type); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, optionId, cascadingOptionId, type); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextDefaultValueCascadingOption {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" optionId: ").append(toIndentedString(optionId)).append("\n"); + sb.append(" cascadingOptionId: ").append(toIndentedString(cascadingOptionId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueMultipleOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueMultipleOption.java new file mode 100644 index 0000000..bc5dbbb --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueMultipleOption.java @@ -0,0 +1,160 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * Default value for a multi-select custom field. + */ +@ApiModel(description = "Default value for a multi-select custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldContextDefaultValueMultipleOption { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("optionIds") + private List optionIds = new ArrayList<>(); + + @JsonProperty("type") + private String type; + + public CustomFieldContextDefaultValueMultipleOption contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + public CustomFieldContextDefaultValueMultipleOption optionIds(List optionIds) { + this.optionIds = optionIds; + return this; + } + + public CustomFieldContextDefaultValueMultipleOption addOptionIdsItem(String optionIdsItem) { + this.optionIds.add(optionIdsItem); + return this; + } + + /** + * The list of IDs of the default options. + * @return optionIds + **/ + @ApiModelProperty(required = true, value = "The list of IDs of the default options.") + public List getOptionIds() { + return optionIds; + } + + public void setOptionIds(List optionIds) { + this.optionIds = optionIds; + } + + public CustomFieldContextDefaultValueMultipleOption type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextDefaultValueMultipleOption customFieldContextDefaultValueMultipleOption = (CustomFieldContextDefaultValueMultipleOption) o; + return Objects.equals(this.contextId, customFieldContextDefaultValueMultipleOption.contextId) && + Objects.equals(this.optionIds, customFieldContextDefaultValueMultipleOption.optionIds) && + Objects.equals(this.type, customFieldContextDefaultValueMultipleOption.type); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, optionIds, type); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextDefaultValueMultipleOption {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" optionIds: ").append(toIndentedString(optionIds)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueSingleOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueSingleOption.java new file mode 100644 index 0000000..eeda460 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueSingleOption.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Default value for a single select custom field. + */ +@ApiModel(description = "Default value for a single select custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldContextDefaultValueSingleOption { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("optionId") + private String optionId; + + @JsonProperty("type") + private String type; + + public CustomFieldContextDefaultValueSingleOption contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + public CustomFieldContextDefaultValueSingleOption optionId(String optionId) { + this.optionId = optionId; + return this; + } + + /** + * The ID of the default option. + * @return optionId + **/ + @ApiModelProperty(required = true, value = "The ID of the default option.") + public String getOptionId() { + return optionId; + } + + public void setOptionId(String optionId) { + this.optionId = optionId; + } + + public CustomFieldContextDefaultValueSingleOption type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @ApiModelProperty(required = true, value = "") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextDefaultValueSingleOption customFieldContextDefaultValueSingleOption = (CustomFieldContextDefaultValueSingleOption) o; + return Objects.equals(this.contextId, customFieldContextDefaultValueSingleOption.contextId) && + Objects.equals(this.optionId, customFieldContextDefaultValueSingleOption.optionId) && + Objects.equals(this.type, customFieldContextDefaultValueSingleOption.type); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, optionId, type); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextDefaultValueSingleOption {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" optionId: ").append(toIndentedString(optionId)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueUpdate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueUpdate.java new file mode 100644 index 0000000..ff7853a --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextDefaultValueUpdate.java @@ -0,0 +1,117 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * Default values to update. + */ +@ApiModel(description = "Default values to update.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldContextDefaultValueUpdate { + @JsonProperty("defaultValues") + private List defaultValues = new ArrayList<>(); + + public CustomFieldContextDefaultValueUpdate defaultValues(List defaultValues) { + this.defaultValues = defaultValues; + return this; + } + + public CustomFieldContextDefaultValueUpdate addDefaultValuesItem(Object defaultValuesItem) { + if (this.defaultValues == null) { + this.defaultValues = new ArrayList<>(); + } + this.defaultValues.add(defaultValuesItem); + return this; + } + + /** + * Get defaultValues + * @return defaultValues + **/ + @ApiModelProperty(value = "") + public List getDefaultValues() { + return defaultValues; + } + + public void setDefaultValues(List defaultValues) { + this.defaultValues = defaultValues; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextDefaultValueUpdate customFieldContextDefaultValueUpdate = (CustomFieldContextDefaultValueUpdate) o; + return Objects.equals(this.defaultValues, customFieldContextDefaultValueUpdate.defaultValues); + } + + @Override + public int hashCode() { + return Objects.hash(defaultValues); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextDefaultValueUpdate {\n"); + + sb.append(" defaultValues: ").append(toIndentedString(defaultValues)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextOption.java index a693400..c96047c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextOption.java @@ -40,7 +40,7 @@ * Details of the custom field options for a context. */ @ApiModel(description = "Details of the custom field options for a context.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class CustomFieldContextOption { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextProjectMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextProjectMapping.java new file mode 100644 index 0000000..5925455 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextProjectMapping.java @@ -0,0 +1,126 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a context to project association. + */ +@ApiModel(description = "Details of a context to project association.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldContextProjectMapping { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("projectId") + private String projectId; + + @JsonProperty("isGlobalContext") + private Boolean isGlobalContext; + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + /** + * The ID of the project. + * @return projectId + **/ + @ApiModelProperty(value = "The ID of the project.") + public String getProjectId() { + return projectId; + } + + /** + * Whether context is global. + * @return isGlobalContext + **/ + @ApiModelProperty(value = "Whether context is global.") + public Boolean getIsGlobalContext() { + return isGlobalContext; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextProjectMapping customFieldContextProjectMapping = (CustomFieldContextProjectMapping) o; + return Objects.equals(this.contextId, customFieldContextProjectMapping.contextId) && + Objects.equals(this.projectId, customFieldContextProjectMapping.projectId) && + Objects.equals(this.isGlobalContext, customFieldContextProjectMapping.isGlobalContext); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, projectId, isGlobalContext); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextProjectMapping {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" isGlobalContext: ").append(toIndentedString(isGlobalContext)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextUpdateDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextUpdateDetails.java new file mode 100644 index 0000000..1f74d04 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldContextUpdateDetails.java @@ -0,0 +1,130 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a custom field context. + */ +@ApiModel(description = "Details of a custom field context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldContextUpdateDetails { + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + public CustomFieldContextUpdateDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the custom field context. The name must be unique. The maximum length is 255 characters. + * @return name + **/ + @ApiModelProperty(value = "The name of the custom field context. The name must be unique. The maximum length is 255 characters.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public CustomFieldContextUpdateDetails description(String description) { + this.description = description; + return this; + } + + /** + * The description of the custom field context. The maximum length is 255 characters. + * @return description + **/ + @ApiModelProperty(value = "The description of the custom field context. The maximum length is 255 characters.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldContextUpdateDetails customFieldContextUpdateDetails = (CustomFieldContextUpdateDetails) o; + return Objects.equals(this.name, customFieldContextUpdateDetails.name) && + Objects.equals(this.description, customFieldContextUpdateDetails.description); + } + + @Override + public int hashCode() { + return Objects.hash(name, description); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldContextUpdateDetails {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldCreatedContextOptionsList.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldCreatedContextOptionsList.java new file mode 100644 index 0000000..7ed55c8 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldCreatedContextOptionsList.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldContextOption; + +/** + * A list of custom field options for a context. + */ +@ApiModel(description = "A list of custom field options for a context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldCreatedContextOptionsList { + @JsonProperty("options") + private List options = new ArrayList<>(); + + public CustomFieldCreatedContextOptionsList options(List options) { + this.options = options; + return this; + } + + public CustomFieldCreatedContextOptionsList addOptionsItem(CustomFieldContextOption optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * The created custom field options. + * @return options + **/ + @ApiModelProperty(value = "The created custom field options.") + public List getOptions() { + return options; + } + + public void setOptions(List options) { + this.options = options; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldCreatedContextOptionsList customFieldCreatedContextOptionsList = (CustomFieldCreatedContextOptionsList) o; + return Objects.equals(this.options, customFieldCreatedContextOptionsList.options); + } + + @Override + public int hashCode() { + return Objects.hash(options); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldCreatedContextOptionsList {\n"); + + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldDefinitionJsonBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldDefinitionJsonBean.java index 67ac6db..7cfadd6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldDefinitionJsonBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldDefinitionJsonBean.java @@ -39,7 +39,7 @@ /** * CustomFieldDefinitionJsonBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class CustomFieldDefinitionJsonBean { @JsonProperty("name") private String name; @@ -47,84 +47,11 @@ public class CustomFieldDefinitionJsonBean { @JsonProperty("description") private String description; - /** - * The type of the custom field. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppicker*. * `cascadingselect`: Allows multiple values to be selected using two select lists * `datepicker`: Stores a date using a picker control * `datetime`: Stores a date with a time component * `float`: Stores and validates a numeric (floating point) input * `grouppicker`: Stores a user group using a picker control * `importid`: A read-only field that stores the previous ID of the issue from the system that it was imported from * `labels`: Stores labels * `multicheckboxes`: Stores multiple values using checkboxes * `multigrouppicker`: Stores multiple user groups using a picker control * `multiselect`: Stores multiple values using a select list * `multiuserpicker`: Stores multiple users using a picker control * `multiversion`: Stores multiple versions from the versions available in a project using a picker control * `project`: Stores a project from a list of projects that the user is permitted to view * `radiobuttons`: Stores a value using radio buttons * `readonlyfield`: Stores a read-only text value, which can only be populated via the API * `select`: Stores a value from a configurable list of options * `textarea`: Stores a long text string using a multiline text area * `textfield`: Stores a text string using a single-line text box * `url`: Stores a URL * `userpicker`: Stores a user using a picker control * `version`: Stores a version using a picker control - */ - public enum TypeEnum { - CASCADINGSELECT("com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect"), - - DATEPICKER("com.atlassian.jira.plugin.system.customfieldtypes:datepicker"), - - DATETIME("com.atlassian.jira.plugin.system.customfieldtypes:datetime"), - - FLOAT("com.atlassian.jira.plugin.system.customfieldtypes:float"), - - GROUPPICKER("com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"), - - IMPORTID("com.atlassian.jira.plugin.system.customfieldtypes:importid"), - - LABELS("com.atlassian.jira.plugin.system.customfieldtypes:labels"), - - MULTICHECKBOXES("com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes"), - - MULTIGROUPPICKER("com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker"), - - MULTISELECT("com.atlassian.jira.plugin.system.customfieldtypes:multiselect"), - - MULTIUSERPICKER("com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker"), - - MULTIVERSION("com.atlassian.jira.plugin.system.customfieldtypes:multiversion"), - - PROJECT("com.atlassian.jira.plugin.system.customfieldtypes:project"), - - RADIOBUTTONS("com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons"), - - READONLYFIELD("com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield"), - - SELECT("com.atlassian.jira.plugin.system.customfieldtypes:select"), - - TEXTAREA("com.atlassian.jira.plugin.system.customfieldtypes:textarea"), - - TEXTFIELD("com.atlassian.jira.plugin.system.customfieldtypes:textfield"), - - URL("com.atlassian.jira.plugin.system.customfieldtypes:url"), - - USERPICKER("com.atlassian.jira.plugin.system.customfieldtypes:userpicker"), - - VERSION("com.atlassian.jira.plugin.system.customfieldtypes:version"); - - private String value; - - TypeEnum(String value) { - this.value = value; - } - - @JsonValue - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - @JsonCreator - public static TypeEnum fromValue(String value) { - for (TypeEnum b : TypeEnum.values()) { - if (b.value.equalsIgnoreCase(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - } - @JsonProperty("type") - private TypeEnum type; + private String type; /** - * The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` + * The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` If no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable. */ public enum SearcherKeyEnum { CASCADINGSELECTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher"), @@ -219,21 +146,21 @@ public void setDescription(String description) { this.description = description; } - public CustomFieldDefinitionJsonBean type(TypeEnum type) { + public CustomFieldDefinitionJsonBean type(String type) { this.type = type; return this; } /** - * The type of the custom field. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppicker*. * `cascadingselect`: Allows multiple values to be selected using two select lists * `datepicker`: Stores a date using a picker control * `datetime`: Stores a date with a time component * `float`: Stores and validates a numeric (floating point) input * `grouppicker`: Stores a user group using a picker control * `importid`: A read-only field that stores the previous ID of the issue from the system that it was imported from * `labels`: Stores labels * `multicheckboxes`: Stores multiple values using checkboxes * `multigrouppicker`: Stores multiple user groups using a picker control * `multiselect`: Stores multiple values using a select list * `multiuserpicker`: Stores multiple users using a picker control * `multiversion`: Stores multiple versions from the versions available in a project using a picker control * `project`: Stores a project from a list of projects that the user is permitted to view * `radiobuttons`: Stores a value using radio buttons * `readonlyfield`: Stores a read-only text value, which can only be populated via the API * `select`: Stores a value from a configurable list of options * `textarea`: Stores a long text string using a multiline text area * `textfield`: Stores a text string using a single-line text box * `url`: Stores a URL * `userpicker`: Stores a user using a picker control * `version`: Stores a version using a picker control + * The type of the custom field. These built-in custom field types are available: * `cascadingselect`: Enables values to be selected from two levels of select lists (value: `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`) * `datepicker`: Stores a date using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`) * `datetime`: Stores a date with a time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`) * `float`: Stores and validates a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`) * `grouppicker`: Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`) * `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value: `com.atlassian.jira.plugin.system.customfieldtypes:importid`) * `labels`: Stores labels (value: `com.atlassian.jira.plugin.system.customfieldtypes:labels`) * `multicheckboxes`: Stores multiple values using checkboxes (value: ``) * `multigrouppicker`: Stores multiple user groups using a picker control (value: ``) * `multiselect`: Stores multiple values using a select list (value: `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`) * `multiuserpicker`: Stores multiple users using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`) * `multiversion`: Stores multiple versions from the versions available in a project using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`) * `project`: Stores a project from a list of projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`) * `radiobuttons`: Stores a value using radio buttons (value: `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`) * `readonlyfield`: Stores a read-only text value, which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`) * `select`: Stores a value from a configurable list of options (value: `com.atlassian.jira.plugin.system.customfieldtypes:select`) * `textarea`: Stores a long text string using a multiline text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`) * `textfield`: Stores a text string using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`) * `url`: Stores a URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`) * `userpicker`: Stores a user using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`) * `version`: Stores a version using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`) To create a field based on a [Forge custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-), use the ID of the Forge custom field type as the value. For example, `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`. * @return type **/ - @ApiModelProperty(required = true, value = "The type of the custom field. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppicker*. * `cascadingselect`: Allows multiple values to be selected using two select lists * `datepicker`: Stores a date using a picker control * `datetime`: Stores a date with a time component * `float`: Stores and validates a numeric (floating point) input * `grouppicker`: Stores a user group using a picker control * `importid`: A read-only field that stores the previous ID of the issue from the system that it was imported from * `labels`: Stores labels * `multicheckboxes`: Stores multiple values using checkboxes * `multigrouppicker`: Stores multiple user groups using a picker control * `multiselect`: Stores multiple values using a select list * `multiuserpicker`: Stores multiple users using a picker control * `multiversion`: Stores multiple versions from the versions available in a project using a picker control * `project`: Stores a project from a list of projects that the user is permitted to view * `radiobuttons`: Stores a value using radio buttons * `readonlyfield`: Stores a read-only text value, which can only be populated via the API * `select`: Stores a value from a configurable list of options * `textarea`: Stores a long text string using a multiline text area * `textfield`: Stores a text string using a single-line text box * `url`: Stores a URL * `userpicker`: Stores a user using a picker control * `version`: Stores a version using a picker control") - public TypeEnum getType() { + @ApiModelProperty(required = true, value = "The type of the custom field. These built-in custom field types are available: * `cascadingselect`: Enables values to be selected from two levels of select lists (value: `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`) * `datepicker`: Stores a date using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`) * `datetime`: Stores a date with a time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`) * `float`: Stores and validates a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`) * `grouppicker`: Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`) * `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value: `com.atlassian.jira.plugin.system.customfieldtypes:importid`) * `labels`: Stores labels (value: `com.atlassian.jira.plugin.system.customfieldtypes:labels`) * `multicheckboxes`: Stores multiple values using checkboxes (value: ``) * `multigrouppicker`: Stores multiple user groups using a picker control (value: ``) * `multiselect`: Stores multiple values using a select list (value: `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`) * `multiuserpicker`: Stores multiple users using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`) * `multiversion`: Stores multiple versions from the versions available in a project using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`) * `project`: Stores a project from a list of projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`) * `radiobuttons`: Stores a value using radio buttons (value: `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`) * `readonlyfield`: Stores a read-only text value, which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`) * `select`: Stores a value from a configurable list of options (value: `com.atlassian.jira.plugin.system.customfieldtypes:select`) * `textarea`: Stores a long text string using a multiline text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`) * `textfield`: Stores a text string using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`) * `url`: Stores a URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`) * `userpicker`: Stores a user using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`) * `version`: Stores a version using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`) To create a field based on a [Forge custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-), use the ID of the Forge custom field type as the value. For example, `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`.") + public String getType() { return type; } - public void setType(TypeEnum type) { + public void setType(String type) { this.type = type; } @@ -243,10 +170,10 @@ public CustomFieldDefinitionJsonBean searcherKey(SearcherKeyEnum searcherKey) { } /** - * The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` + * The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` If no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable. * @return searcherKey **/ - @ApiModelProperty(required = true, value = "The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher`") + @ApiModelProperty(value = "The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. The search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` If no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable.") public SearcherKeyEnum getSearcherKey() { return searcherKey; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOption.java index 51c9b0a..7280b08 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOption.java @@ -41,7 +41,7 @@ * Details of a custom option for a field. */ @ApiModel(description = "Details of a custom option for a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class CustomFieldOption { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOptionCreate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOptionCreate.java new file mode 100644 index 0000000..8b8e9c8 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOptionCreate.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a custom field option to create. + */ +@ApiModel(description = "Details of a custom field option to create.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldOptionCreate { + @JsonProperty("value") + private String value; + + @JsonProperty("optionId") + private String optionId; + + @JsonProperty("disabled") + private Boolean disabled; + + public CustomFieldOptionCreate value(String value) { + this.value = value; + return this; + } + + /** + * The value of the custom field option. + * @return value + **/ + @ApiModelProperty(required = true, value = "The value of the custom field option.") + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public CustomFieldOptionCreate optionId(String optionId) { + this.optionId = optionId; + return this; + } + + /** + * For cascading options, the ID of the custom field object containing the cascading option. + * @return optionId + **/ + @ApiModelProperty(value = "For cascading options, the ID of the custom field object containing the cascading option.") + public String getOptionId() { + return optionId; + } + + public void setOptionId(String optionId) { + this.optionId = optionId; + } + + public CustomFieldOptionCreate disabled(Boolean disabled) { + this.disabled = disabled; + return this; + } + + /** + * Whether the option is disabled. + * @return disabled + **/ + @ApiModelProperty(value = "Whether the option is disabled.") + public Boolean getDisabled() { + return disabled; + } + + public void setDisabled(Boolean disabled) { + this.disabled = disabled; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldOptionCreate customFieldOptionCreate = (CustomFieldOptionCreate) o; + return Objects.equals(this.value, customFieldOptionCreate.value) && + Objects.equals(this.optionId, customFieldOptionCreate.optionId) && + Objects.equals(this.disabled, customFieldOptionCreate.disabled); + } + + @Override + public int hashCode() { + return Objects.hash(value, optionId, disabled); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldOptionCreate {\n"); + + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" optionId: ").append(toIndentedString(optionId)).append("\n"); + sb.append(" disabled: ").append(toIndentedString(disabled)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOptionUpdate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOptionUpdate.java new file mode 100644 index 0000000..6d4a7f5 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldOptionUpdate.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a custom field option for a context. + */ +@ApiModel(description = "Details of a custom field option for a context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldOptionUpdate { + @JsonProperty("id") + private String id; + + @JsonProperty("value") + private String value; + + @JsonProperty("disabled") + private Boolean disabled; + + public CustomFieldOptionUpdate id(String id) { + this.id = id; + return this; + } + + /** + * The ID of the custom field option. + * @return id + **/ + @ApiModelProperty(required = true, value = "The ID of the custom field option.") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public CustomFieldOptionUpdate value(String value) { + this.value = value; + return this; + } + + /** + * The value of the custom field option. + * @return value + **/ + @ApiModelProperty(value = "The value of the custom field option.") + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + public CustomFieldOptionUpdate disabled(Boolean disabled) { + this.disabled = disabled; + return this; + } + + /** + * Whether the option is disabled. + * @return disabled + **/ + @ApiModelProperty(value = "Whether the option is disabled.") + public Boolean getDisabled() { + return disabled; + } + + public void setDisabled(Boolean disabled) { + this.disabled = disabled; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldOptionUpdate customFieldOptionUpdate = (CustomFieldOptionUpdate) o; + return Objects.equals(this.id, customFieldOptionUpdate.id) && + Objects.equals(this.value, customFieldOptionUpdate.value) && + Objects.equals(this.disabled, customFieldOptionUpdate.disabled); + } + + @Override + public int hashCode() { + return Objects.hash(id, value, disabled); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldOptionUpdate {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" disabled: ").append(toIndentedString(disabled)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldReplacement.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldReplacement.java index bdafca9..0e1b125 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldReplacement.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldReplacement.java @@ -40,7 +40,7 @@ * Details about the replacement for a deleted version. */ @ApiModel(description = "Details about the replacement for a deleted version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class CustomFieldReplacement { @JsonProperty("customFieldId") private Long customFieldId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldUpdatedContextOptionsList.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldUpdatedContextOptionsList.java new file mode 100644 index 0000000..46e13e7 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldUpdatedContextOptionsList.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldOptionUpdate; + +/** + * A list of custom field options for a context. + */ +@ApiModel(description = "A list of custom field options for a context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldUpdatedContextOptionsList { + @JsonProperty("options") + private List options = new ArrayList<>(); + + public CustomFieldUpdatedContextOptionsList options(List options) { + this.options = options; + return this; + } + + public CustomFieldUpdatedContextOptionsList addOptionsItem(CustomFieldOptionUpdate optionsItem) { + if (this.options == null) { + this.options = new ArrayList<>(); + } + this.options.add(optionsItem); + return this; + } + + /** + * The updated custom field options. + * @return options + **/ + @ApiModelProperty(value = "The updated custom field options.") + public List getOptions() { + return options; + } + + public void setOptions(List options) { + this.options = options; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldUpdatedContextOptionsList customFieldUpdatedContextOptionsList = (CustomFieldUpdatedContextOptionsList) o; + return Objects.equals(this.options, customFieldUpdatedContextOptionsList.options); + } + + @Override + public int hashCode() { + return Objects.hash(options); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldUpdatedContextOptionsList {\n"); + + sb.append(" options: ").append(toIndentedString(options)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldValueUpdate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldValueUpdate.java new file mode 100644 index 0000000..a2d1ddc --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldValueUpdate.java @@ -0,0 +1,137 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * A list of issue IDs and the value to update a custom field to. + */ +@ApiModel(description = "A list of issue IDs and the value to update a custom field to.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldValueUpdate { + @JsonProperty("issueIds") + private List issueIds = new ArrayList<>(); + + @JsonProperty("value") + private Object value = null; + + public CustomFieldValueUpdate issueIds(List issueIds) { + this.issueIds = issueIds; + return this; + } + + public CustomFieldValueUpdate addIssueIdsItem(Long issueIdsItem) { + this.issueIds.add(issueIdsItem); + return this; + } + + /** + * The list of issue IDs. + * @return issueIds + **/ + @ApiModelProperty(required = true, value = "The list of issue IDs.") + public List getIssueIds() { + return issueIds; + } + + public void setIssueIds(List issueIds) { + this.issueIds = issueIds; + } + + public CustomFieldValueUpdate value(Object value) { + this.value = value; + return this; + } + + /** + * The value for the custom field. The value must be compatible with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#data-types) as follows: * `string` – the value must be a string. * `number` – the value must be a number. * `datetime` – the value must be a string that represents a date in the ISO format, for example `\"2021-01-18T12:00:00-03:00\"`. * `user` – the value must be an object that contains the `accountId` field. * `group` – the value must be an object that contains the group `name` field. A list of appropriate values must be provided if the field is of the `list` [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#collection-types). + * @return value + **/ + @ApiModelProperty(required = true, value = "The value for the custom field. The value must be compatible with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#data-types) as follows: * `string` – the value must be a string. * `number` – the value must be a number. * `datetime` – the value must be a string that represents a date in the ISO format, for example `\"2021-01-18T12:00:00-03:00\"`. * `user` – the value must be an object that contains the `accountId` field. * `group` – the value must be an object that contains the group `name` field. A list of appropriate values must be provided if the field is of the `list` [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#collection-types).") + public Object getValue() { + return value; + } + + public void setValue(Object value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldValueUpdate customFieldValueUpdate = (CustomFieldValueUpdate) o; + return Objects.equals(this.issueIds, customFieldValueUpdate.issueIds) && + Objects.equals(this.value, customFieldValueUpdate.value); + } + + @Override + public int hashCode() { + return Objects.hash(issueIds, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldValueUpdate {\n"); + + sb.append(" issueIds: ").append(toIndentedString(issueIds)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldValueUpdateRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldValueUpdateRequest.java new file mode 100644 index 0000000..83b1502 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/CustomFieldValueUpdateRequest.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldValueUpdate; + +/** + * Details of updates for a custom field. + */ +@ApiModel(description = "Details of updates for a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class CustomFieldValueUpdateRequest { + @JsonProperty("updates") + private List updates = new ArrayList<>(); + + public CustomFieldValueUpdateRequest updates(List updates) { + this.updates = updates; + return this; + } + + public CustomFieldValueUpdateRequest addUpdatesItem(CustomFieldValueUpdate updatesItem) { + if (this.updates == null) { + this.updates = new ArrayList<>(); + } + this.updates.add(updatesItem); + return this; + } + + /** + * The list of custom field update details. + * @return updates + **/ + @ApiModelProperty(value = "The list of custom field update details.") + public List getUpdates() { + return updates; + } + + public void setUpdates(List updates) { + this.updates = updates; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + CustomFieldValueUpdateRequest customFieldValueUpdateRequest = (CustomFieldValueUpdateRequest) o; + return Objects.equals(this.updates, customFieldValueUpdateRequest.updates); + } + + @Override + public int hashCode() { + return Objects.hash(updates); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class CustomFieldValueUpdateRequest {\n"); + + sb.append(" updates: ").append(toIndentedString(updates)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Dashboard.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Dashboard.java index aacb8eb..48c7357 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Dashboard.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Dashboard.java @@ -45,7 +45,7 @@ * Details of a dashboard. */ @ApiModel(description = "Details of a dashboard.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Dashboard { @JsonProperty("description") private String description; @@ -74,9 +74,15 @@ public class Dashboard { @JsonProperty("sharePermissions") private List sharePermissions = new ArrayList<>(); + @JsonProperty("editPermissions") + private List editPermissions = new ArrayList<>(); + @JsonProperty("view") private String view; + @JsonProperty("isWritable") + private Boolean isWritable; + public Dashboard description(String description) { this.description = description; return this; @@ -159,14 +165,23 @@ public URI getSelf() { } /** - * The details of any share permissions for the dashboard. + * The details of any view share permissions for the dashboard. * @return sharePermissions **/ - @ApiModelProperty(value = "The details of any share permissions for the dashboard.") + @ApiModelProperty(value = "The details of any view share permissions for the dashboard.") public List getSharePermissions() { return sharePermissions; } + /** + * The details of any edit share permissions for the dashboard. + * @return editPermissions + **/ + @ApiModelProperty(value = "The details of any edit share permissions for the dashboard.") + public List getEditPermissions() { + return editPermissions; + } + /** * The URL of the dashboard. * @return view @@ -176,6 +191,15 @@ public String getView() { return view; } + /** + * Whether the current user has permission to edit the dashboard. + * @return isWritable + **/ + @ApiModelProperty(value = "Whether the current user has permission to edit the dashboard.") + public Boolean getIsWritable() { + return isWritable; + } + @Override public boolean equals(java.lang.Object o) { @@ -195,12 +219,14 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.rank, dashboard.rank) && Objects.equals(this.self, dashboard.self) && Objects.equals(this.sharePermissions, dashboard.sharePermissions) && - Objects.equals(this.view, dashboard.view); + Objects.equals(this.editPermissions, dashboard.editPermissions) && + Objects.equals(this.view, dashboard.view) && + Objects.equals(this.isWritable, dashboard.isWritable); } @Override public int hashCode() { - return Objects.hash(description, id, isFavourite, name, owner, popularity, rank, self, sharePermissions, view); + return Objects.hash(description, id, isFavourite, name, owner, popularity, rank, self, sharePermissions, editPermissions, view, isWritable); } @@ -218,7 +244,9 @@ public String toString() { sb.append(" rank: ").append(toIndentedString(rank)).append("\n"); sb.append(" self: ").append(toIndentedString(self)).append("\n"); sb.append(" sharePermissions: ").append(toIndentedString(sharePermissions)).append("\n"); + sb.append(" editPermissions: ").append(toIndentedString(editPermissions)).append("\n"); sb.append(" view: ").append(toIndentedString(view)).append("\n"); + sb.append(" isWritable: ").append(toIndentedString(isWritable)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DashboardDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DashboardDetails.java index a5bc806..160da98 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DashboardDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DashboardDetails.java @@ -43,7 +43,7 @@ * Details of a dashboard. */ @ApiModel(description = "Details of a dashboard.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class DashboardDetails { @JsonProperty("name") private String name; @@ -54,6 +54,9 @@ public class DashboardDetails { @JsonProperty("sharePermissions") private List sharePermissions = new ArrayList<>(); + @JsonProperty("editPermissions") + private List editPermissions = new ArrayList<>(); + public DashboardDetails name(String name) { this.name = name; return this; @@ -101,10 +104,10 @@ public DashboardDetails addSharePermissionsItem(SharePermission sharePermissions } /** - * The details of any share permissions for the dashboard. + * The share permissions for the dashboard. * @return sharePermissions **/ - @ApiModelProperty(required = true, value = "The details of any share permissions for the dashboard.") + @ApiModelProperty(required = true, value = "The share permissions for the dashboard.") public List getSharePermissions() { return sharePermissions; } @@ -113,6 +116,29 @@ public void setSharePermissions(List sharePermissions) { this.sharePermissions = sharePermissions; } + public DashboardDetails editPermissions(List editPermissions) { + this.editPermissions = editPermissions; + return this; + } + + public DashboardDetails addEditPermissionsItem(SharePermission editPermissionsItem) { + this.editPermissions.add(editPermissionsItem); + return this; + } + + /** + * The edit permissions for the dashboard. + * @return editPermissions + **/ + @ApiModelProperty(required = true, value = "The edit permissions for the dashboard.") + public List getEditPermissions() { + return editPermissions; + } + + public void setEditPermissions(List editPermissions) { + this.editPermissions = editPermissions; + } + @Override public boolean equals(java.lang.Object o) { @@ -125,12 +151,13 @@ public boolean equals(java.lang.Object o) { DashboardDetails dashboardDetails = (DashboardDetails) o; return Objects.equals(this.name, dashboardDetails.name) && Objects.equals(this.description, dashboardDetails.description) && - Objects.equals(this.sharePermissions, dashboardDetails.sharePermissions); + Objects.equals(this.sharePermissions, dashboardDetails.sharePermissions) && + Objects.equals(this.editPermissions, dashboardDetails.editPermissions); } @Override public int hashCode() { - return Objects.hash(name, description, sharePermissions); + return Objects.hash(name, description, sharePermissions, editPermissions); } @@ -142,6 +169,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" sharePermissions: ").append(toIndentedString(sharePermissions)).append("\n"); + sb.append(" editPermissions: ").append(toIndentedString(editPermissions)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DefaultShareScope.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DefaultShareScope.java index 69fdd26..14c052e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DefaultShareScope.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DefaultShareScope.java @@ -40,7 +40,7 @@ * Details of the scope of the default sharing for new filters and dashboards. */ @ApiModel(description = "Details of the scope of the default sharing for new filters and dashboards.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class DefaultShareScope { /** * The scope of the default sharing for new filters and dashboards: * `AUTHENTICATED` Shared with all logged-in users. * `GLOBAL` Shared with all logged-in users. This shows as `AUTHENTICATED` in the response. * `PRIVATE` Not shared with any users. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DefaultWorkflow.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DefaultWorkflow.java index bf94158..09cba42 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DefaultWorkflow.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DefaultWorkflow.java @@ -40,7 +40,7 @@ * Details about the default workflow. */ @ApiModel(description = "Details about the default workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class DefaultWorkflow { @JsonProperty("workflow") private String workflow; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DeleteAndReplaceVersionBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DeleteAndReplaceVersionBean.java index 670c596..7fe97f4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DeleteAndReplaceVersionBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DeleteAndReplaceVersionBean.java @@ -42,7 +42,7 @@ /** * DeleteAndReplaceVersionBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class DeleteAndReplaceVersionBean { @JsonProperty("moveFixIssuesTo") private Long moveFixIssuesTo; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DeprecatedWorkflow.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DeprecatedWorkflow.java index 7e47ce2..5b4dc7d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DeprecatedWorkflow.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/DeprecatedWorkflow.java @@ -41,7 +41,7 @@ * Details about a workflow. */ @ApiModel(description = "Details about a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class DeprecatedWorkflow { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EntityProperty.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EntityProperty.java index ba6f5a6..fdd1092 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EntityProperty.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EntityProperty.java @@ -40,7 +40,7 @@ * An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/). */ @ApiModel(description = "An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class EntityProperty { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EntityPropertyDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EntityPropertyDetails.java new file mode 100644 index 0000000..f411b3c --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EntityPropertyDetails.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.math.BigDecimal; + +/** + * EntityPropertyDetails + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class EntityPropertyDetails { + @JsonProperty("entityId") + private BigDecimal entityId; + + @JsonProperty("key") + private String key; + + @JsonProperty("value") + private String value; + + public EntityPropertyDetails entityId(BigDecimal entityId) { + this.entityId = entityId; + return this; + } + + /** + * The entity property ID. + * @return entityId + **/ + @ApiModelProperty(example = "123", required = true, value = "The entity property ID.") + public BigDecimal getEntityId() { + return entityId; + } + + public void setEntityId(BigDecimal entityId) { + this.entityId = entityId; + } + + public EntityPropertyDetails key(String key) { + this.key = key; + return this; + } + + /** + * The entity property key. + * @return key + **/ + @ApiModelProperty(example = "mykey", required = true, value = "The entity property key.") + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public EntityPropertyDetails value(String value) { + this.value = value; + return this; + } + + /** + * The new value of the entity property. + * @return value + **/ + @ApiModelProperty(example = "newValue", required = true, value = "The new value of the entity property.") + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EntityPropertyDetails entityPropertyDetails = (EntityPropertyDetails) o; + return Objects.equals(this.entityId, entityPropertyDetails.entityId) && + Objects.equals(this.key, entityPropertyDetails.key) && + Objects.equals(this.value, entityPropertyDetails.value); + } + + @Override + public int hashCode() { + return Objects.hash(entityId, key, value); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class EntityPropertyDetails {\n"); + + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ErrorCollection.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ErrorCollection.java index 0f77d46..1b306bc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ErrorCollection.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ErrorCollection.java @@ -44,7 +44,7 @@ * Error messages from an operation. */ @ApiModel(description = "Error messages from an operation.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ErrorCollection { @JsonProperty("errorMessages") private List errorMessages = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ErrorMessage.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ErrorMessage.java index 487f28d..b7ee84f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ErrorMessage.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ErrorMessage.java @@ -39,7 +39,7 @@ /** * ErrorMessage */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ErrorMessage { @JsonProperty("message") private String message; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EventNotification.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EventNotification.java index 62702ac..3f41247 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EventNotification.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/EventNotification.java @@ -44,7 +44,7 @@ * Details about a notification associated with an event. */ @ApiModel(description = "Details about a notification associated with an event.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class EventNotification { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FailedWebhook.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FailedWebhook.java index 31a26de..a1d3747 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FailedWebhook.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FailedWebhook.java @@ -40,7 +40,7 @@ * Details about a failed webhook. */ @ApiModel(description = "Details about a failed webhook.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FailedWebhook { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FailedWebhooks.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FailedWebhooks.java index b67ff92..4a7dc54 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FailedWebhooks.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FailedWebhooks.java @@ -44,7 +44,7 @@ * A page of failed webhooks. */ @ApiModel(description = "A page of failed webhooks.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FailedWebhooks { @JsonProperty("values") private List values = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Field.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Field.java index 2f5989e..4aff97b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Field.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Field.java @@ -42,7 +42,7 @@ * Details of a field. */ @ApiModel(description = "Details of a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Field { @JsonProperty("id") private String id; @@ -62,6 +62,9 @@ public class Field { @JsonProperty("isLocked") private Boolean isLocked; + @JsonProperty("searcherKey") + private String searcherKey; + @JsonProperty("screensCount") private Long screensCount; @@ -116,7 +119,7 @@ public Field schema(JsonTypeBean schema) { * Get schema * @return schema **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public JsonTypeBean getSchema() { return schema; } @@ -179,6 +182,24 @@ public void setIsLocked(Boolean isLocked) { this.isLocked = isLocked; } + public Field searcherKey(String searcherKey) { + this.searcherKey = searcherKey; + return this; + } + + /** + * The searcher key of the field. Returned for custom fields. + * @return searcherKey + **/ + @ApiModelProperty(value = "The searcher key of the field. Returned for custom fields.") + public String getSearcherKey() { + return searcherKey; + } + + public void setSearcherKey(String searcherKey) { + this.searcherKey = searcherKey; + } + public Field screensCount(Long screensCount) { this.screensCount = screensCount; return this; @@ -249,6 +270,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.description, field.description) && Objects.equals(this.key, field.key) && Objects.equals(this.isLocked, field.isLocked) && + Objects.equals(this.searcherKey, field.searcherKey) && Objects.equals(this.screensCount, field.screensCount) && Objects.equals(this.contextsCount, field.contextsCount) && Objects.equals(this.lastUsed, field.lastUsed); @@ -256,7 +278,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(id, name, schema, description, key, isLocked, screensCount, contextsCount, lastUsed); + return Objects.hash(id, name, schema, description, key, isLocked, searcherKey, screensCount, contextsCount, lastUsed); } @@ -271,6 +293,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" key: ").append(toIndentedString(key)).append("\n"); sb.append(" isLocked: ").append(toIndentedString(isLocked)).append("\n"); + sb.append(" searcherKey: ").append(toIndentedString(searcherKey)).append("\n"); sb.append(" screensCount: ").append(toIndentedString(screensCount)).append("\n"); sb.append(" contextsCount: ").append(toIndentedString(contextsCount)).append("\n"); sb.append(" lastUsed: ").append(toIndentedString(lastUsed)).append("\n"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldChangedClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldChangedClause.java index 743d087..118331c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldChangedClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldChangedClause.java @@ -44,7 +44,7 @@ * A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator. */ @ApiModel(description = "A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldChangedClause { @JsonProperty("field") private JqlQueryField field; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfiguration.java index 5682d74..965fbfd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfiguration.java @@ -40,7 +40,7 @@ * Details of a field configuration. */ @ApiModel(description = "Details of a field configuration.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldConfiguration { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationIssueTypeItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationIssueTypeItem.java index f490c0b..b1cd82e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationIssueTypeItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationIssueTypeItem.java @@ -40,7 +40,7 @@ * The field configuration for an issue type. */ @ApiModel(description = "The field configuration for an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldConfigurationIssueTypeItem { @JsonProperty("fieldConfigurationSchemeId") private String fieldConfigurationSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationItem.java index ac37ce0..ac6af6f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationItem.java @@ -40,7 +40,7 @@ * A field within a field configuration. */ @ApiModel(description = "A field within a field configuration.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldConfigurationItem { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationScheme.java index ea605ed..c5fcb5e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationScheme.java @@ -40,7 +40,7 @@ * Details of a field configuration scheme. */ @ApiModel(description = "Details of a field configuration scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldConfigurationScheme { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationSchemeProjectAssociation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationSchemeProjectAssociation.java index d1d63aa..63c6026 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationSchemeProjectAssociation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationSchemeProjectAssociation.java @@ -40,7 +40,7 @@ * Associated field configuration scheme and project. */ @ApiModel(description = "Associated field configuration scheme and project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldConfigurationSchemeProjectAssociation { @JsonProperty("fieldConfigurationSchemeId") private String fieldConfigurationSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationSchemeProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationSchemeProjects.java index f97885d..9f539c4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationSchemeProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldConfigurationSchemeProjects.java @@ -43,7 +43,7 @@ * Project list with assigned field configuration schema. */ @ApiModel(description = "Project list with assigned field configuration schema.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldConfigurationSchemeProjects { @JsonProperty("fieldConfigurationScheme") private FieldConfigurationScheme fieldConfigurationScheme; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldDetails.java index af550a9..42fba1c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldDetails.java @@ -44,7 +44,7 @@ * Details about a field. */ @ApiModel(description = "Details about a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldDetails { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldLastUsed.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldLastUsed.java index 3cec7d5..c3dee70 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldLastUsed.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldLastUsed.java @@ -41,7 +41,7 @@ * Information about the most recent use of a field. */ @ApiModel(description = "Information about the most recent use of a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldLastUsed { /** * Last used value type: * *TRACKED*: field is tracked and a last used date is available. * *NOT\\_TRACKED*: field is not tracked, last used date is not available. * *NO\\_INFORMATION*: field is tracked, but no last used date is available. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldMetadata.java index 0912abb..9619f52 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldMetadata.java @@ -43,7 +43,7 @@ * The metadata describing an issue field. */ @ApiModel(description = "The metadata describing an issue field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldMetadata { @JsonProperty("required") private Boolean required; @@ -85,7 +85,7 @@ public Boolean getRequired() { * The data type of the field. * @return schema **/ - @ApiModelProperty(value = "The data type of the field.") + @ApiModelProperty(required = true, value = "The data type of the field.") public JsonTypeBean getSchema() { return schema; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldReferenceData.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldReferenceData.java index c47db48..872dec3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldReferenceData.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldReferenceData.java @@ -42,7 +42,7 @@ * Details of a field that can be used in advanced searches. */ @ApiModel(description = "Details of a field that can be used in advanced searches.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldReferenceData { @JsonProperty("value") private String value; @@ -197,10 +197,10 @@ public FieldReferenceData displayName(String displayName) { } /** - * The display name of the field. + * The display name contains the following: * for system fields, the field name. For example, `Summary`. * for collapsed custom fields, the field name followed by a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`. * for other custom fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`. * @return displayName **/ - @ApiModelProperty(value = "The display name of the field.") + @ApiModelProperty(value = "The display name contains the following: * for system fields, the field name. For example, `Summary`. * for collapsed custom fields, the field name followed by a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`. * for other custom fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`.") public String getDisplayName() { return displayName; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldUpdateOperation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldUpdateOperation.java index 8d501cb..c6b2b15 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldUpdateOperation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldUpdateOperation.java @@ -40,9 +40,10 @@ * Details of an operation to perform on a field. */ @ApiModel(description = "Details of an operation to perform on a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") @com.fasterxml.jackson.annotation.JsonInclude(com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL) -public class FieldUpdateOperation { +public + class FieldUpdateOperation { @JsonProperty("add") private Object add = null; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldValueClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldValueClause.java index ec0588d..77a7d11 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldValueClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldValueClause.java @@ -42,7 +42,7 @@ * A clause that asserts the current value of a field. For example, `summary ~ test`. */ @ApiModel(description = "A clause that asserts the current value of a field. For example, `summary ~ test`.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldValueClause { @JsonProperty("field") private JqlQueryField field; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldWasClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldWasClause.java index 80d64d4..511bc83 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldWasClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FieldWasClause.java @@ -45,7 +45,7 @@ * A clause that asserts a previous value of a field. For example, `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator. */ @ApiModel(description = "A clause that asserts a previous value of a field. For example, `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FieldWasClause { @JsonProperty("field") private JqlQueryField field; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Fields.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Fields.java index aba3250..245aae1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Fields.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Fields.java @@ -45,7 +45,7 @@ * Key fields from the linked issue. */ @ApiModel(description = "Key fields from the linked issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Fields { @JsonProperty("summary") private String summary; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Filter.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Filter.java index 30650e1..4808a56 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Filter.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Filter.java @@ -47,7 +47,7 @@ * Details about a filter. */ @ApiModel(description = "Details about a filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Filter { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterDetails.java index 0cf2a6a..26548fc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterDetails.java @@ -46,7 +46,7 @@ * Details of a filter. */ @ApiModel(description = "Details of a filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FilterDetails { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterSubscription.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterSubscription.java index 8a8ba00..cd7add1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterSubscription.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterSubscription.java @@ -42,7 +42,7 @@ * Details of a user or group subscribing to a filter. */ @ApiModel(description = "Details of a user or group subscribing to a filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FilterSubscription { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterSubscriptionsList.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterSubscriptionsList.java index 85ebaf6..e48f483 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterSubscriptionsList.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FilterSubscriptionsList.java @@ -43,7 +43,7 @@ * A paginated list of subscriptions to a filter. */ @ApiModel(description = "A paginated list of subscriptions to a filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FilterSubscriptionsList { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundGroup.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundGroup.java index fa37c58..3d55ded 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundGroup.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundGroup.java @@ -43,7 +43,7 @@ * A group found in a search. */ @ApiModel(description = "A group found in a search.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FoundGroup { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundGroups.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundGroups.java index fdaa0b8..d8530d2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundGroups.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundGroups.java @@ -43,7 +43,7 @@ * The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups. */ @ApiModel(description = "The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FoundGroups { @JsonProperty("header") private String header; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundUsers.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundUsers.java index 67e1a4a..cc6d416 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundUsers.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundUsers.java @@ -43,7 +43,7 @@ * The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users. */ @ApiModel(description = "The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FoundUsers { @JsonProperty("users") private List users = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundUsersAndGroups.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundUsersAndGroups.java index 9bd5f8c..0bfadf8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundUsersAndGroups.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FoundUsersAndGroups.java @@ -42,7 +42,7 @@ * List of users and groups found in a search. */ @ApiModel(description = "List of users and groups found in a search.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FoundUsersAndGroups { @JsonProperty("users") private FoundUsers users; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FunctionOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FunctionOperand.java index 103d937..0f7dced 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FunctionOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FunctionOperand.java @@ -42,7 +42,7 @@ * An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions. */ @ApiModel(description = "An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FunctionOperand { @JsonProperty("function") private String function; @@ -74,9 +74,6 @@ public FunctionOperand arguments(List arguments) { } public FunctionOperand addArgumentsItem(String argumentsItem) { - if (this.arguments == null) { - this.arguments = new ArrayList<>(); - } this.arguments.add(argumentsItem); return this; } @@ -85,7 +82,7 @@ public FunctionOperand addArgumentsItem(String argumentsItem) { * The list of function arguments. * @return arguments **/ - @ApiModelProperty(value = "The list of function arguments.") + @ApiModelProperty(required = true, value = "The list of function arguments.") public List getArguments() { return arguments; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FunctionReferenceData.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FunctionReferenceData.java index a26861a..ed45fd5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FunctionReferenceData.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/FunctionReferenceData.java @@ -42,7 +42,7 @@ * Details of functions that can be used in advanced searches. */ @ApiModel(description = "Details of functions that can be used in advanced searches.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class FunctionReferenceData { @JsonProperty("value") private String value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GlobalScopeBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GlobalScopeBean.java index 8f9da71..c58bb40 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GlobalScopeBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GlobalScopeBean.java @@ -41,7 +41,7 @@ /** * GlobalScopeBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class GlobalScopeBean { /** * Gets or Sets attributes diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Group.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Group.java index 77870d1..777f92c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Group.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Group.java @@ -41,7 +41,7 @@ /** * Group */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Group { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupDetails.java index a7eaf01..4ca97e4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupDetails.java @@ -40,7 +40,7 @@ * Details about a group. */ @ApiModel(description = "Details about a group.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class GroupDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupLabel.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupLabel.java index 8f33c1c..341b5da 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupLabel.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupLabel.java @@ -40,7 +40,7 @@ * A group label. */ @ApiModel(description = "A group label.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class GroupLabel { @JsonProperty("text") private String text; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupName.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupName.java index 9f3617b..88cd692 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupName.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/GroupName.java @@ -41,7 +41,7 @@ * Details about a group name. */ @ApiModel(description = "Details about a group name.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class GroupName { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HealthCheckResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HealthCheckResult.java index e18033c..02c36d6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HealthCheckResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HealthCheckResult.java @@ -40,7 +40,7 @@ * Jira instance health check results. Deprecated and no longer returned. */ @ApiModel(description = "Jira instance health check results. Deprecated and no longer returned.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class HealthCheckResult { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Hierarchy.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Hierarchy.java index 66e0901..4fa6c5b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Hierarchy.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Hierarchy.java @@ -40,38 +40,42 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.HierarchyLevel; /** - * Project Issue Type Hierarchy + * The project issue type hierarchy. */ -@ApiModel(description = "Project Issue Type Hierarchy") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@ApiModel(description = "The project issue type hierarchy.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Hierarchy { - @JsonProperty("level") - private List level = new ArrayList<>(); + @JsonProperty("baseLevelId") + private Long baseLevelId; - public Hierarchy level(List level) { - this.level = level; - return this; - } + @JsonProperty("levels") + private List levels = new ArrayList<>(); - public Hierarchy addLevelItem(HierarchyLevel levelItem) { - if (this.level == null) { - this.level = new ArrayList<>(); - } - this.level.add(levelItem); + public Hierarchy baseLevelId(Long baseLevelId) { + this.baseLevelId = baseLevelId; return this; } /** - * Get level - * @return level + * The ID of the base level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). + * @return baseLevelId **/ - @ApiModelProperty(value = "") - public List getLevel() { - return level; + @ApiModelProperty(value = "The ID of the base level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") + public Long getBaseLevelId() { + return baseLevelId; } - public void setLevel(List level) { - this.level = level; + public void setBaseLevelId(Long baseLevelId) { + this.baseLevelId = baseLevelId; + } + + /** + * Details about the hierarchy level. + * @return levels + **/ + @ApiModelProperty(value = "Details about the hierarchy level.") + public List getLevels() { + return levels; } @@ -84,12 +88,13 @@ public boolean equals(java.lang.Object o) { return false; } Hierarchy hierarchy = (Hierarchy) o; - return Objects.equals(this.level, hierarchy.level); + return Objects.equals(this.baseLevelId, hierarchy.baseLevelId) && + Objects.equals(this.levels, hierarchy.levels); } @Override public int hashCode() { - return Objects.hash(level); + return Objects.hash(baseLevelId, levels); } @@ -98,7 +103,8 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class Hierarchy {\n"); - sb.append(" level: ").append(toIndentedString(level)).append("\n"); + sb.append(" baseLevelId: ").append(toIndentedString(baseLevelId)).append("\n"); + sb.append(" levels: ").append(toIndentedString(levels)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HierarchyLevel.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HierarchyLevel.java index 15cb623..b188735 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HierarchyLevel.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HierarchyLevel.java @@ -42,7 +42,7 @@ /** * HierarchyLevel */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class HierarchyLevel { @JsonProperty("id") private Long id; @@ -59,22 +59,65 @@ public class HierarchyLevel { @JsonProperty("projectConfigurationId") private Long projectConfigurationId; + @JsonProperty("level") + private Integer level; + @JsonProperty("issueTypeIds") private List issueTypeIds = new ArrayList<>(); @JsonProperty("externalUuid") private UUID externalUuid; + /** + * Gets or Sets globalHierarchyLevel + */ + public enum GlobalHierarchyLevelEnum { + SUBTASK("SUBTASK"), + + BASE("BASE"), + + EPIC("EPIC"); + + private String value; + + GlobalHierarchyLevelEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static GlobalHierarchyLevelEnum fromValue(String value) { + for (GlobalHierarchyLevelEnum b : GlobalHierarchyLevelEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("globalHierarchyLevel") + private GlobalHierarchyLevelEnum globalHierarchyLevel; + public HierarchyLevel id(Long id) { this.id = id; return this; } /** - * Get id + * The ID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return id **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The ID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public Long getId() { return id; } @@ -89,10 +132,10 @@ public HierarchyLevel name(String name) { } /** - * Get name + * The name of this hierarchy level. * @return name **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The name of this hierarchy level.") public String getName() { return name; } @@ -107,10 +150,10 @@ public HierarchyLevel aboveLevelId(Long aboveLevelId) { } /** - * Get aboveLevelId + * The ID of the level above this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return aboveLevelId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The ID of the level above this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public Long getAboveLevelId() { return aboveLevelId; } @@ -125,10 +168,10 @@ public HierarchyLevel belowLevelId(Long belowLevelId) { } /** - * Get belowLevelId + * The ID of the level below this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return belowLevelId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The ID of the level below this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public Long getBelowLevelId() { return belowLevelId; } @@ -143,10 +186,10 @@ public HierarchyLevel projectConfigurationId(Long projectConfigurationId) { } /** - * Get projectConfigurationId + * The ID of the project configuration. This property is deprecated, see [Change oticen: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return projectConfigurationId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The ID of the project configuration. This property is deprecated, see [Change oticen: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public Long getProjectConfigurationId() { return projectConfigurationId; } @@ -155,6 +198,24 @@ public void setProjectConfigurationId(Long projectConfigurationId) { this.projectConfigurationId = projectConfigurationId; } + public HierarchyLevel level(Integer level) { + this.level = level; + return this; + } + + /** + * The level of this item in the hierarchy. + * @return level + **/ + @ApiModelProperty(value = "The level of this item in the hierarchy.") + public Integer getLevel() { + return level; + } + + public void setLevel(Integer level) { + this.level = level; + } + public HierarchyLevel issueTypeIds(List issueTypeIds) { this.issueTypeIds = issueTypeIds; return this; @@ -169,10 +230,10 @@ public HierarchyLevel addIssueTypeIdsItem(Long issueTypeIdsItem) { } /** - * Get issueTypeIds + * The issue types available in this hierarchy level. * @return issueTypeIds **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The issue types available in this hierarchy level.") public List getIssueTypeIds() { return issueTypeIds; } @@ -187,10 +248,10 @@ public HierarchyLevel externalUuid(UUID externalUuid) { } /** - * Get externalUuid + * The external UUID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return externalUuid **/ - @ApiModelProperty(value = "") + @ApiModelProperty(value = "The external UUID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public UUID getExternalUuid() { return externalUuid; } @@ -199,6 +260,24 @@ public void setExternalUuid(UUID externalUuid) { this.externalUuid = externalUuid; } + public HierarchyLevel globalHierarchyLevel(GlobalHierarchyLevelEnum globalHierarchyLevel) { + this.globalHierarchyLevel = globalHierarchyLevel; + return this; + } + + /** + * Get globalHierarchyLevel + * @return globalHierarchyLevel + **/ + @ApiModelProperty(value = "") + public GlobalHierarchyLevelEnum getGlobalHierarchyLevel() { + return globalHierarchyLevel; + } + + public void setGlobalHierarchyLevel(GlobalHierarchyLevelEnum globalHierarchyLevel) { + this.globalHierarchyLevel = globalHierarchyLevel; + } + @Override public boolean equals(java.lang.Object o) { @@ -214,13 +293,15 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.aboveLevelId, hierarchyLevel.aboveLevelId) && Objects.equals(this.belowLevelId, hierarchyLevel.belowLevelId) && Objects.equals(this.projectConfigurationId, hierarchyLevel.projectConfigurationId) && + Objects.equals(this.level, hierarchyLevel.level) && Objects.equals(this.issueTypeIds, hierarchyLevel.issueTypeIds) && - Objects.equals(this.externalUuid, hierarchyLevel.externalUuid); + Objects.equals(this.externalUuid, hierarchyLevel.externalUuid) && + Objects.equals(this.globalHierarchyLevel, hierarchyLevel.globalHierarchyLevel); } @Override public int hashCode() { - return Objects.hash(id, name, aboveLevelId, belowLevelId, projectConfigurationId, issueTypeIds, externalUuid); + return Objects.hash(id, name, aboveLevelId, belowLevelId, projectConfigurationId, level, issueTypeIds, externalUuid, globalHierarchyLevel); } @@ -234,8 +315,10 @@ public String toString() { sb.append(" aboveLevelId: ").append(toIndentedString(aboveLevelId)).append("\n"); sb.append(" belowLevelId: ").append(toIndentedString(belowLevelId)).append("\n"); sb.append(" projectConfigurationId: ").append(toIndentedString(projectConfigurationId)).append("\n"); + sb.append(" level: ").append(toIndentedString(level)).append("\n"); sb.append(" issueTypeIds: ").append(toIndentedString(issueTypeIds)).append("\n"); sb.append(" externalUuid: ").append(toIndentedString(externalUuid)).append("\n"); + sb.append(" globalHierarchyLevel: ").append(toIndentedString(globalHierarchyLevel)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HistoryMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HistoryMetadata.java index d36e2f4..0249c58 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HistoryMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HistoryMetadata.java @@ -44,7 +44,7 @@ * Details of issue history metadata. */ @ApiModel(description = "Details of issue history metadata.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class HistoryMetadata { @JsonProperty("type") private String type; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HistoryMetadataParticipant.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HistoryMetadataParticipant.java index 49c6647..f828d0e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HistoryMetadataParticipant.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/HistoryMetadataParticipant.java @@ -42,7 +42,7 @@ * Details of user or system associated with a issue history metadata item. */ @ApiModel(description = "Details of user or system associated with a issue history metadata item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class HistoryMetadataParticipant { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Icon.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Icon.java index c3e4c93..cecf467 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Icon.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Icon.java @@ -42,7 +42,7 @@ * An icon. If no icon is defined: * for a status icon, no status icon displays in Jira. * for the remote object icon, the default link icon displays in Jira. */ @ApiModel(description = "An icon. If no icon is defined: * for a status icon, no status icon displays in Jira. * for the remote object icon, the default link icon displays in Jira.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Icon { @JsonProperty("url16x16") private String url16x16; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IconBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IconBean.java index 19e4f2a..5725cfb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IconBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IconBean.java @@ -40,7 +40,7 @@ * An icon. */ @ApiModel(description = "An icon.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IconBean { @JsonProperty("url16x16") private String url16x16; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IdBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IdBean.java index 434754c..e01f91e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IdBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IdBean.java @@ -39,7 +39,7 @@ /** * IdBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IdBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IdOrKeyBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IdOrKeyBean.java index f2bda03..a427dd8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IdOrKeyBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IdOrKeyBean.java @@ -39,7 +39,7 @@ /** * IdOrKeyBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IdOrKeyBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IncludedFields.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IncludedFields.java index fc351ac..e56631c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IncludedFields.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IncludedFields.java @@ -41,42 +41,16 @@ /** * IncludedFields */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IncludedFields { - @JsonProperty("actuallyIncluded") - private List actuallyIncluded = new ArrayList<>(); - @JsonProperty("included") private List included = new ArrayList<>(); @JsonProperty("excluded") private List excluded = new ArrayList<>(); - public IncludedFields actuallyIncluded(List actuallyIncluded) { - this.actuallyIncluded = actuallyIncluded; - return this; - } - - public IncludedFields addActuallyIncludedItem(String actuallyIncludedItem) { - if (this.actuallyIncluded == null) { - this.actuallyIncluded = new ArrayList<>(); - } - this.actuallyIncluded.add(actuallyIncludedItem); - return this; - } - - /** - * Get actuallyIncluded - * @return actuallyIncluded - **/ - @ApiModelProperty(value = "") - public List getActuallyIncluded() { - return actuallyIncluded; - } - - public void setActuallyIncluded(List actuallyIncluded) { - this.actuallyIncluded = actuallyIncluded; - } + @JsonProperty("actuallyIncluded") + private List actuallyIncluded = new ArrayList<>(); public IncludedFields included(List included) { this.included = included; @@ -130,6 +104,32 @@ public void setExcluded(List excluded) { this.excluded = excluded; } + public IncludedFields actuallyIncluded(List actuallyIncluded) { + this.actuallyIncluded = actuallyIncluded; + return this; + } + + public IncludedFields addActuallyIncludedItem(String actuallyIncludedItem) { + if (this.actuallyIncluded == null) { + this.actuallyIncluded = new ArrayList<>(); + } + this.actuallyIncluded.add(actuallyIncludedItem); + return this; + } + + /** + * Get actuallyIncluded + * @return actuallyIncluded + **/ + @ApiModelProperty(value = "") + public List getActuallyIncluded() { + return actuallyIncluded; + } + + public void setActuallyIncluded(List actuallyIncluded) { + this.actuallyIncluded = actuallyIncluded; + } + @Override public boolean equals(java.lang.Object o) { @@ -140,14 +140,14 @@ public boolean equals(java.lang.Object o) { return false; } IncludedFields includedFields = (IncludedFields) o; - return Objects.equals(this.actuallyIncluded, includedFields.actuallyIncluded) && - Objects.equals(this.included, includedFields.included) && - Objects.equals(this.excluded, includedFields.excluded); + return Objects.equals(this.included, includedFields.included) && + Objects.equals(this.excluded, includedFields.excluded) && + Objects.equals(this.actuallyIncluded, includedFields.actuallyIncluded); } @Override public int hashCode() { - return Objects.hash(actuallyIncluded, included, excluded); + return Objects.hash(included, excluded, actuallyIncluded); } @@ -156,9 +156,9 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class IncludedFields {\n"); - sb.append(" actuallyIncluded: ").append(toIndentedString(actuallyIncluded)).append("\n"); sb.append(" included: ").append(toIndentedString(included)).append("\n"); sb.append(" excluded: ").append(toIndentedString(excluded)).append("\n"); + sb.append(" actuallyIncluded: ").append(toIndentedString(actuallyIncluded)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueBean.java index f0c18aa..9795c41 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueBean.java @@ -48,9 +48,10 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.PageOfChangelogs; /** - * IssueBean + * Details about an issue. */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@ApiModel(description = "Details about an issue.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueBean { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueChangelogIds.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueChangelogIds.java new file mode 100644 index 0000000..a716ec1 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueChangelogIds.java @@ -0,0 +1,114 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * A list of changelog IDs. + */ +@ApiModel(description = "A list of changelog IDs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class IssueChangelogIds { + @JsonProperty("changelogIds") + private List changelogIds = new ArrayList<>(); + + public IssueChangelogIds changelogIds(List changelogIds) { + this.changelogIds = changelogIds; + return this; + } + + public IssueChangelogIds addChangelogIdsItem(Long changelogIdsItem) { + this.changelogIds.add(changelogIdsItem); + return this; + } + + /** + * The list of changelog IDs. + * @return changelogIds + **/ + @ApiModelProperty(required = true, value = "The list of changelog IDs.") + public List getChangelogIds() { + return changelogIds; + } + + public void setChangelogIds(List changelogIds) { + this.changelogIds = changelogIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssueChangelogIds issueChangelogIds = (IssueChangelogIds) o; + return Objects.equals(this.changelogIds, issueChangelogIds.changelogIds); + } + + @Override + public int hashCode() { + return Objects.hash(changelogIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssueChangelogIds {\n"); + + sb.append(" changelogIds: ").append(toIndentedString(changelogIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueCommentListRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueCommentListRequestBean.java index 903a1dd..ce292d5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueCommentListRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueCommentListRequestBean.java @@ -41,7 +41,7 @@ /** * IssueCommentListRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueCommentListRequestBean { @JsonProperty("ids") private List ids = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueCreateMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueCreateMetadata.java index d7bdd07..7ce3882 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueCreateMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueCreateMetadata.java @@ -43,7 +43,7 @@ * The wrapper for the issue creation metadata for a list of projects. */ @ApiModel(description = "The wrapper for the issue creation metadata for a list of projects.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueCreateMetadata { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueEntityProperties.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueEntityProperties.java index 9181281..b5dbafe 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueEntityProperties.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueEntityProperties.java @@ -45,7 +45,7 @@ * Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information. */ @ApiModel(description = "Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueEntityProperties { @JsonProperty("entitiesIds") private List entitiesIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOption.java index 80385e8..d7b2c70 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOption.java @@ -44,7 +44,7 @@ * Details of the options for a select list issue field. */ @ApiModel(description = "Details of the options for a select list issue field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueFieldOption { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionConfiguration.java index ea4fec2..2ae2024 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionConfiguration.java @@ -43,7 +43,7 @@ * Details of the projects the option is available in. */ @ApiModel(description = "Details of the projects the option is available in.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueFieldOptionConfiguration { @JsonProperty("scope") private IssueFieldOptionScopeBean scope; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionCreateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionCreateBean.java index 58104f4..aba0e88 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionCreateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionCreateBean.java @@ -43,7 +43,7 @@ /** * IssueFieldOptionCreateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueFieldOptionCreateBean { @JsonProperty("value") private String value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionScopeBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionScopeBean.java index b3dbbe4..e040156 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionScopeBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFieldOptionScopeBean.java @@ -43,7 +43,7 @@ /** * IssueFieldOptionScopeBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueFieldOptionScopeBean { @JsonProperty("projects") private List projects = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFilterForBulkPropertyDelete.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFilterForBulkPropertyDelete.java index 6335dc9..15e500f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFilterForBulkPropertyDelete.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFilterForBulkPropertyDelete.java @@ -42,7 +42,7 @@ * Bulk operation filter details. */ @ApiModel(description = "Bulk operation filter details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueFilterForBulkPropertyDelete { @JsonProperty("entityIds") private List entityIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFilterForBulkPropertySet.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFilterForBulkPropertySet.java index 667c035..5b6d2c6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFilterForBulkPropertySet.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueFilterForBulkPropertySet.java @@ -42,7 +42,7 @@ * Bulk operation filter details. */ @ApiModel(description = "Bulk operation filter details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueFilterForBulkPropertySet { @JsonProperty("entityIds") private List entityIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLink.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLink.java index a97888f..85eec7c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLink.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLink.java @@ -43,7 +43,7 @@ * Details of a link between issues. */ @ApiModel(description = "Details of a link between issues.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueLink { @JsonProperty("id") private String id; @@ -87,7 +87,7 @@ public IssueLink type(IssueLinkType type) { * The type of link between the issues. * @return type **/ - @ApiModelProperty(value = "The type of link between the issues.") + @ApiModelProperty(required = true, value = "The type of link between the issues.") public IssueLinkType getType() { return type; } @@ -105,7 +105,7 @@ public IssueLink inwardIssue(LinkedIssue inwardIssue) { * The issue the link joins to. * @return inwardIssue **/ - @ApiModelProperty(value = "The issue the link joins to.") + @ApiModelProperty(required = true, value = "The issue the link joins to.") public LinkedIssue getInwardIssue() { return inwardIssue; } @@ -123,7 +123,7 @@ public IssueLink outwardIssue(LinkedIssue outwardIssue) { * The issue the link originates from. * @return outwardIssue **/ - @ApiModelProperty(value = "The issue the link originates from.") + @ApiModelProperty(required = true, value = "The issue the link originates from.") public LinkedIssue getOutwardIssue() { return outwardIssue; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLinkType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLinkType.java index 349ad61..85ffd4e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLinkType.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLinkType.java @@ -41,7 +41,7 @@ * This object is used as follows: * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-3-issueLinkType-get). * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it defines and reports on issue link types. */ @ApiModel(description = "This object is used as follows: * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-3-issueLinkType-get). * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it defines and reports on issue link types.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueLinkType { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLinkTypes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLinkTypes.java index bd1b534..86ce281 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLinkTypes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueLinkTypes.java @@ -43,7 +43,7 @@ * A list of issue link type beans. */ @ApiModel(description = "A list of issue link type beans.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueLinkTypes { @JsonProperty("issueLinkTypes") private List issueLinkTypes = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueMatches.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueMatches.java index 6768efd..ac517d4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueMatches.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueMatches.java @@ -43,7 +43,7 @@ * A list of matched issues or errors for each JQL query, in the order the JQL queries were passed. */ @ApiModel(description = "A list of matched issues or errors for each JQL query, in the order the JQL queries were passed.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueMatches { @JsonProperty("matches") private List matches = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueMatchesForJQL.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueMatchesForJQL.java index 8030de9..edb3e8d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueMatchesForJQL.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueMatchesForJQL.java @@ -42,7 +42,7 @@ * A list of the issues matched to a JQL query or details of errors encountered during matching. */ @ApiModel(description = "A list of the issues matched to a JQL query or details of errors encountered during matching.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueMatchesForJQL { @JsonProperty("matchedIssues") private List matchedIssues = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuePickerSuggestions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuePickerSuggestions.java index ae78494..86a263a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuePickerSuggestions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuePickerSuggestions.java @@ -43,7 +43,7 @@ * A list of issues suggested for use in auto-completion. */ @ApiModel(description = "A list of issues suggested for use in auto-completion.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssuePickerSuggestions { @JsonProperty("sections") private List sections = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuePickerSuggestionsIssueType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuePickerSuggestionsIssueType.java index 09566a6..4ada7ed 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuePickerSuggestionsIssueType.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuePickerSuggestionsIssueType.java @@ -43,7 +43,7 @@ * A type of issue suggested for use in auto-completion. */ @ApiModel(description = "A type of issue suggested for use in auto-completion.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssuePickerSuggestionsIssueType { @JsonProperty("label") private String label; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueSecurityLevelMember.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueSecurityLevelMember.java index 50a1df4..ec9d382 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueSecurityLevelMember.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueSecurityLevelMember.java @@ -41,7 +41,7 @@ * Issue security level member. */ @ApiModel(description = "Issue security level member.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueSecurityLevelMember { @JsonProperty("id") private Long id; @@ -94,10 +94,10 @@ public IssueSecurityLevelMember holder(PermissionHolder holder) { } /** - * The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information. + * The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information. * @return holder **/ - @ApiModelProperty(value = "The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information.") + @ApiModelProperty(required = true, value = "The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.") public PermissionHolder getHolder() { return holder; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTransition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTransition.java index 245ffaf..2d02015 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTransition.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTransition.java @@ -45,7 +45,7 @@ * Details of an issue transition. */ @ApiModel(description = "Details of an issue transition.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTransition { @JsonProperty("id") private String id; @@ -77,6 +77,9 @@ public class IssueTransition { @JsonProperty("expand") private String expand; + @JsonProperty("looped") + private Boolean looped; + private HashMap additionalProperties_ = new HashMap(); public IssueTransition id(String id) { @@ -178,6 +181,24 @@ public String getExpand() { return expand; } + public IssueTransition looped(Boolean looped) { + this.looped = looped; + return this; + } + + /** + * Get looped + * @return looped + **/ + @ApiModelProperty(value = "") + public Boolean getLooped() { + return looped; + } + + public void setLooped(Boolean looped) { + this.looped = looped; + } + @com.fasterxml.jackson.annotation.JsonAnyGetter public Map any() { @@ -208,12 +229,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.isConditional, issueTransition.isConditional) && Objects.equals(this.fields, issueTransition.fields) && Objects.equals(this.expand, issueTransition.expand) && + Objects.equals(this.looped, issueTransition.looped) && super.equals(o); } @Override public int hashCode() { - return Objects.hash(id, name, to, hasScreen, isGlobal, isInitial, isAvailable, isConditional, fields, expand, super.hashCode()); + return Objects.hash(id, name, to, hasScreen, isGlobal, isInitial, isAvailable, isConditional, fields, expand, looped, super.hashCode()); } @@ -232,6 +254,7 @@ public String toString() { sb.append(" isConditional: ").append(toIndentedString(isConditional)).append("\n"); sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); sb.append(" expand: ").append(toIndentedString(expand)).append("\n"); + sb.append(" looped: ").append(toIndentedString(looped)).append("\n"); sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties_)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeCreateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeCreateBean.java index e227137..074670b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeCreateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeCreateBean.java @@ -39,7 +39,7 @@ /** * IssueTypeCreateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeCreateBean { @JsonProperty("name") private String name; @@ -48,7 +48,7 @@ public class IssueTypeCreateBean { private String description; /** - * Whether the issue type is `subtype` or `standard`. Defaults to `standard`. + * Deprecated. Use `hierarchyLevel` instead. Whether the issue type is `subtype` or `standard`. Defaults to `standard`. */ public enum TypeEnum { SUBTASK("subtask"), @@ -85,6 +85,9 @@ public static TypeEnum fromValue(String value) { @JsonProperty("type") private TypeEnum type; + @JsonProperty("hierarchyLevel") + private Integer hierarchyLevel; + public IssueTypeCreateBean name(String name) { this.name = name; return this; @@ -127,10 +130,10 @@ public IssueTypeCreateBean type(TypeEnum type) { } /** - * Whether the issue type is `subtype` or `standard`. Defaults to `standard`. + * Deprecated. Use `hierarchyLevel` instead. Whether the issue type is `subtype` or `standard`. Defaults to `standard`. * @return type **/ - @ApiModelProperty(value = "Whether the issue type is `subtype` or `standard`. Defaults to `standard`.") + @ApiModelProperty(value = "Deprecated. Use `hierarchyLevel` instead. Whether the issue type is `subtype` or `standard`. Defaults to `standard`.") public TypeEnum getType() { return type; } @@ -139,6 +142,24 @@ public void setType(TypeEnum type) { this.type = type; } + public IssueTypeCreateBean hierarchyLevel(Integer hierarchyLevel) { + this.hierarchyLevel = hierarchyLevel; + return this; + } + + /** + * The hierarchy level of the issue type. Use: * `-1` for Subtask. * `0` for Base. Defaults to `0`. + * @return hierarchyLevel + **/ + @ApiModelProperty(value = "The hierarchy level of the issue type. Use: * `-1` for Subtask. * `0` for Base. Defaults to `0`.") + public Integer getHierarchyLevel() { + return hierarchyLevel; + } + + public void setHierarchyLevel(Integer hierarchyLevel) { + this.hierarchyLevel = hierarchyLevel; + } + @Override public boolean equals(java.lang.Object o) { @@ -151,12 +172,13 @@ public boolean equals(java.lang.Object o) { IssueTypeCreateBean issueTypeCreateBean = (IssueTypeCreateBean) o; return Objects.equals(this.name, issueTypeCreateBean.name) && Objects.equals(this.description, issueTypeCreateBean.description) && - Objects.equals(this.type, issueTypeCreateBean.type); + Objects.equals(this.type, issueTypeCreateBean.type) && + Objects.equals(this.hierarchyLevel, issueTypeCreateBean.hierarchyLevel); } @Override public int hashCode() { - return Objects.hash(name, description, type); + return Objects.hash(name, description, type, hierarchyLevel); } @@ -168,6 +190,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" hierarchyLevel: ").append(toIndentedString(hierarchyLevel)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeDetails.java index a7c654c..c4330d0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeDetails.java @@ -42,7 +42,7 @@ * Details about an issue type. */ @ApiModel(description = "Details about an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeDetails { @JsonProperty("self") private String self; @@ -68,6 +68,9 @@ public class IssueTypeDetails { @JsonProperty("entityId") private UUID entityId; + @JsonProperty("hierarchyLevel") + private Integer hierarchyLevel; + @JsonProperty("scope") private Scope scope; @@ -143,6 +146,15 @@ public UUID getEntityId() { return entityId; } + /** + * Hierarchy level of the issue type. + * @return hierarchyLevel + **/ + @ApiModelProperty(value = "Hierarchy level of the issue type.") + public Integer getHierarchyLevel() { + return hierarchyLevel; + } + /** * Details of the next-gen projects the issue type is available in. * @return scope @@ -170,12 +182,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.subtask, issueTypeDetails.subtask) && Objects.equals(this.avatarId, issueTypeDetails.avatarId) && Objects.equals(this.entityId, issueTypeDetails.entityId) && + Objects.equals(this.hierarchyLevel, issueTypeDetails.hierarchyLevel) && Objects.equals(this.scope, issueTypeDetails.scope); } @Override public int hashCode() { - return Objects.hash(self, id, description, iconUrl, name, subtask, avatarId, entityId, scope); + return Objects.hash(self, id, description, iconUrl, name, subtask, avatarId, entityId, hierarchyLevel, scope); } @@ -192,6 +205,7 @@ public String toString() { sb.append(" subtask: ").append(toIndentedString(subtask)).append("\n"); sb.append(" avatarId: ").append(toIndentedString(avatarId)).append("\n"); sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" hierarchyLevel: ").append(toIndentedString(hierarchyLevel)).append("\n"); sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeIDs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeIDs.java index db24f44..c5bda85 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeIDs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeIDs.java @@ -39,15 +39,15 @@ import java.util.List; /** - * A list of issue type IDs. + * The list of issue type IDs. */ -@ApiModel(description = "A list of issue type IDs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@ApiModel(description = "The list of issue type IDs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeIDs { @JsonProperty("issueTypeIds") private List issueTypeIds = new ArrayList<>(); - public IssueTypeIDs issueTypeIds(List issueTypeIds) { + public IssueTypeIDs issueTypeIDs(List issueTypeIds) { this.issueTypeIds = issueTypeIds; return this; } @@ -58,10 +58,10 @@ public IssueTypeIDs addIssueTypeIdsItem(String issueTypeIdsItem) { } /** - * List of issue type IDs. + * The list of issue type IDs. * @return issueTypeIds **/ - @ApiModelProperty(required = true, value = "List of issue type IDs.") + @ApiModelProperty(required = true, value = "The list of issue type IDs.") public List getIssueTypeIds() { return issueTypeIds; } @@ -92,7 +92,7 @@ public int hashCode() { @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb.append("class IssueTypeIDs {\n"); + sb.append("class IssueTypeIds {\n"); sb.append(" issueTypeIds: ").append(toIndentedString(issueTypeIds)).append("\n"); sb.append("}"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeInfo.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeInfo.java index d3a4384..e8482d5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeInfo.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeInfo.java @@ -40,7 +40,7 @@ * Details of an issue type. */ @ApiModel(description = "Details of an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeInfo { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeIssueCreateMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeIssueCreateMetadata.java index d9e703f..bf7e818 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeIssueCreateMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeIssueCreateMetadata.java @@ -46,7 +46,7 @@ * Details of the issue creation metadata for an issue type. */ @ApiModel(description = "Details of the issue creation metadata for an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeIssueCreateMetadata { @JsonProperty("self") private String self; @@ -72,6 +72,9 @@ public class IssueTypeIssueCreateMetadata { @JsonProperty("entityId") private UUID entityId; + @JsonProperty("hierarchyLevel") + private Integer hierarchyLevel; + @JsonProperty("scope") private Scope scope; @@ -153,6 +156,15 @@ public UUID getEntityId() { return entityId; } + /** + * Hierarchy level of the issue type. + * @return hierarchyLevel + **/ + @ApiModelProperty(value = "Hierarchy level of the issue type.") + public Integer getHierarchyLevel() { + return hierarchyLevel; + } + /** * Details of the next-gen projects the issue type is available in. * @return scope @@ -198,6 +210,7 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.subtask, issueTypeIssueCreateMetadata.subtask) && Objects.equals(this.avatarId, issueTypeIssueCreateMetadata.avatarId) && Objects.equals(this.entityId, issueTypeIssueCreateMetadata.entityId) && + Objects.equals(this.hierarchyLevel, issueTypeIssueCreateMetadata.hierarchyLevel) && Objects.equals(this.scope, issueTypeIssueCreateMetadata.scope) && Objects.equals(this.expand, issueTypeIssueCreateMetadata.expand) && Objects.equals(this.fields, issueTypeIssueCreateMetadata.fields); @@ -205,7 +218,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(self, id, description, iconUrl, name, subtask, avatarId, entityId, scope, expand, fields); + return Objects.hash(self, id, description, iconUrl, name, subtask, avatarId, entityId, hierarchyLevel, scope, expand, fields); } @@ -222,6 +235,7 @@ public String toString() { sb.append(" subtask: ").append(toIndentedString(subtask)).append("\n"); sb.append(" avatarId: ").append(toIndentedString(avatarId)).append("\n"); sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append(" hierarchyLevel: ").append(toIndentedString(hierarchyLevel)).append("\n"); sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); sb.append(" expand: ").append(toIndentedString(expand)).append("\n"); sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScheme.java index 1244524..11c1103 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScheme.java @@ -40,7 +40,7 @@ * Details of an issue type scheme. */ @ApiModel(description = "Details of an issue type scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScheme { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeDetails.java index a8cf302..abc2f87 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeDetails.java @@ -42,7 +42,7 @@ * Details of an issue type scheme and its associated issue types. */ @ApiModel(description = "Details of an issue type scheme and its associated issue types.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeSchemeDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeID.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeID.java index 67d6a37..74867d1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeID.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeID.java @@ -40,7 +40,7 @@ * The ID of an issue type scheme. */ @ApiModel(description = "The ID of an issue type scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeSchemeID { @JsonProperty("issueTypeSchemeId") private String issueTypeSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeMapping.java index 1c2d3f1..91574b3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeMapping.java @@ -40,7 +40,7 @@ * Issue type scheme item. */ @ApiModel(description = "Issue type scheme item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeSchemeMapping { @JsonProperty("issueTypeSchemeId") private String issueTypeSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeProjectAssociation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeProjectAssociation.java index de84ebf..da534ec 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeProjectAssociation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeProjectAssociation.java @@ -40,7 +40,7 @@ * Details of the association between an issue type scheme and project. */ @ApiModel(description = "Details of the association between an issue type scheme and project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeSchemeProjectAssociation { @JsonProperty("issueTypeSchemeId") private String issueTypeSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeProjects.java index 28e4ac7..2c0ff27 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeProjects.java @@ -43,7 +43,7 @@ * Issue type scheme with a list of the projects that use it. */ @ApiModel(description = "Issue type scheme with a list of the projects that use it.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeSchemeProjects { @JsonProperty("issueTypeScheme") private IssueTypeScheme issueTypeScheme; @@ -60,7 +60,7 @@ public IssueTypeSchemeProjects issueTypeScheme(IssueTypeScheme issueTypeScheme) * Details of an issue type scheme. * @return issueTypeScheme **/ - @ApiModelProperty(value = "Details of an issue type scheme.") + @ApiModelProperty(required = true, value = "Details of an issue type scheme.") public IssueTypeScheme getIssueTypeScheme() { return issueTypeScheme; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeUpdateDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeUpdateDetails.java index f172828..96dce99 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeUpdateDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeSchemeUpdateDetails.java @@ -40,7 +40,7 @@ * Details of the name, description, and default issue type for an issue type scheme. */ @ApiModel(description = "Details of the name, description, and default issue type for an issue type scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeSchemeUpdateDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenScheme.java index c2db8cb..227941f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenScheme.java @@ -40,7 +40,7 @@ * Details of an issue type screen scheme. */ @ApiModel(description = "Details of an issue type screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScreenScheme { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeDetails.java index ff4ce49..955fc10 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeDetails.java @@ -43,7 +43,7 @@ * The details of an issue type screen scheme. */ @ApiModel(description = "The details of an issue type screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScreenSchemeDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeId.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeId.java index 422d33e..5524e18 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeId.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeId.java @@ -40,7 +40,7 @@ * The ID of an issue type screen scheme. */ @ApiModel(description = "The ID of an issue type screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScreenSchemeId { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeItem.java index 9fc1505..05b5be0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeItem.java @@ -40,7 +40,7 @@ * The screen scheme for an issue type. */ @ApiModel(description = "The screen scheme for an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScreenSchemeItem { @JsonProperty("issueTypeScreenSchemeId") private String issueTypeScreenSchemeId; @@ -75,10 +75,10 @@ public IssueTypeScreenSchemeItem issueTypeId(String issueTypeId) { } /** - * The ID of the issue type or *default*. When set to *default* this issue type screen scheme item applies to all issue types without a screen scheme. + * The ID of the issue type or *default*. Only issue types used in classic projects are accepted. When creating an issue screen scheme, an entry for *default* must be provided and defines the mapping for all issue types without a screen scheme. Otherwise, a *default* entry can't be provided. * @return issueTypeId **/ - @ApiModelProperty(required = true, value = "The ID of the issue type or *default*. When set to *default* this issue type screen scheme item applies to all issue types without a screen scheme.") + @ApiModelProperty(required = true, value = "The ID of the issue type or *default*. Only issue types used in classic projects are accepted. When creating an issue screen scheme, an entry for *default* must be provided and defines the mapping for all issue types without a screen scheme. Otherwise, a *default* entry can't be provided.") public String getIssueTypeId() { return issueTypeId; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeMapping.java index 5bfbcf8..f584929 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeMapping.java @@ -40,7 +40,7 @@ * The IDs of the screen schemes for the issue type IDs. */ @ApiModel(description = "The IDs of the screen schemes for the issue type IDs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScreenSchemeMapping { @JsonProperty("issueTypeId") private String issueTypeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeMappingDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeMappingDetails.java new file mode 100644 index 0000000..a016185 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeMappingDetails.java @@ -0,0 +1,115 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeScreenSchemeMapping; + +/** + * A list of issue type screen scheme mappings. + */ +@ApiModel(description = "A list of issue type screen scheme mappings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class IssueTypeScreenSchemeMappingDetails { + @JsonProperty("issueTypeMappings") + private List issueTypeMappings = new ArrayList<>(); + + public IssueTypeScreenSchemeMappingDetails issueTypeMappings(List issueTypeMappings) { + this.issueTypeMappings = issueTypeMappings; + return this; + } + + public IssueTypeScreenSchemeMappingDetails addIssueTypeMappingsItem(IssueTypeScreenSchemeMapping issueTypeMappingsItem) { + this.issueTypeMappings.add(issueTypeMappingsItem); + return this; + } + + /** + * The list of issue type to screen scheme mappings. A *default* entry cannot be specified because a default entry is added when an issue type screen scheme is created. + * @return issueTypeMappings + **/ + @ApiModelProperty(required = true, value = "The list of issue type to screen scheme mappings. A *default* entry cannot be specified because a default entry is added when an issue type screen scheme is created.") + public List getIssueTypeMappings() { + return issueTypeMappings; + } + + public void setIssueTypeMappings(List issueTypeMappings) { + this.issueTypeMappings = issueTypeMappings; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssueTypeScreenSchemeMappingDetails issueTypeScreenSchemeMappingDetails = (IssueTypeScreenSchemeMappingDetails) o; + return Objects.equals(this.issueTypeMappings, issueTypeScreenSchemeMappingDetails.issueTypeMappings); + } + + @Override + public int hashCode() { + return Objects.hash(issueTypeMappings); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssueTypeScreenSchemeMappingDetails {\n"); + + sb.append(" issueTypeMappings: ").append(toIndentedString(issueTypeMappings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeProjectAssociation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeProjectAssociation.java index 1823523..f622b63 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeProjectAssociation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeProjectAssociation.java @@ -40,7 +40,7 @@ * Associated issue type screen scheme and project. */ @ApiModel(description = "Associated issue type screen scheme and project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScreenSchemeProjectAssociation { @JsonProperty("issueTypeScreenSchemeId") private String issueTypeScreenSchemeId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeUpdateDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeUpdateDetails.java index 9b408de..db4fe58 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeUpdateDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemeUpdateDetails.java @@ -40,7 +40,7 @@ * Details of an issue type screen scheme. */ @ApiModel(description = "Details of an issue type screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScreenSchemeUpdateDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemesProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemesProjects.java index 5bc923c..fe6f7a0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemesProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeScreenSchemesProjects.java @@ -43,7 +43,7 @@ * Issue type screen scheme with a list of the projects that use it. */ @ApiModel(description = "Issue type screen scheme with a list of the projects that use it.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeScreenSchemesProjects { @JsonProperty("issueTypeScreenScheme") private IssueTypeScreenScheme issueTypeScreenScheme; @@ -60,7 +60,7 @@ public IssueTypeScreenSchemesProjects issueTypeScreenScheme(IssueTypeScreenSchem * Details of an issue type screen scheme. * @return issueTypeScreenScheme **/ - @ApiModelProperty(value = "Details of an issue type screen scheme.") + @ApiModelProperty(required = true, value = "Details of an issue type screen scheme.") public IssueTypeScreenScheme getIssueTypeScreenScheme() { return issueTypeScreenScheme; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeToContextMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeToContextMapping.java new file mode 100644 index 0000000..5512a4d --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeToContextMapping.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Mapping of an issue type to a context. + */ +@ApiModel(description = "Mapping of an issue type to a context.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class IssueTypeToContextMapping { + @JsonProperty("contextId") + private String contextId; + + @JsonProperty("issueTypeId") + private String issueTypeId; + + @JsonProperty("isAnyIssueType") + private Boolean isAnyIssueType; + + public IssueTypeToContextMapping contextId(String contextId) { + this.contextId = contextId; + return this; + } + + /** + * The ID of the context. + * @return contextId + **/ + @ApiModelProperty(required = true, value = "The ID of the context.") + public String getContextId() { + return contextId; + } + + public void setContextId(String contextId) { + this.contextId = contextId; + } + + public IssueTypeToContextMapping issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the issue type. + * @return issueTypeId + **/ + @ApiModelProperty(value = "The ID of the issue type.") + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + public IssueTypeToContextMapping isAnyIssueType(Boolean isAnyIssueType) { + this.isAnyIssueType = isAnyIssueType; + return this; + } + + /** + * Whether the context is mapped to any issue type. + * @return isAnyIssueType + **/ + @ApiModelProperty(value = "Whether the context is mapped to any issue type.") + public Boolean getIsAnyIssueType() { + return isAnyIssueType; + } + + public void setIsAnyIssueType(Boolean isAnyIssueType) { + this.isAnyIssueType = isAnyIssueType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IssueTypeToContextMapping issueTypeToContextMapping = (IssueTypeToContextMapping) o; + return Objects.equals(this.contextId, issueTypeToContextMapping.contextId) && + Objects.equals(this.issueTypeId, issueTypeToContextMapping.issueTypeId) && + Objects.equals(this.isAnyIssueType, issueTypeToContextMapping.isAnyIssueType); + } + + @Override + public int hashCode() { + return Objects.hash(contextId, issueTypeId, isAnyIssueType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IssueTypeToContextMapping {\n"); + + sb.append(" contextId: ").append(toIndentedString(contextId)).append("\n"); + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append(" isAnyIssueType: ").append(toIndentedString(isAnyIssueType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeUpdateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeUpdateBean.java index d94afc6..fa38e82 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeUpdateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeUpdateBean.java @@ -39,7 +39,7 @@ /** * IssueTypeUpdateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeUpdateBean { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeWithStatus.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeWithStatus.java index 5186ac5..f2020e4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeWithStatus.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeWithStatus.java @@ -43,7 +43,7 @@ * Status details for an issue type. */ @ApiModel(description = "Status details for an issue type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeWithStatus { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeWorkflowMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeWorkflowMapping.java index a9d5bcb..8d823bc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeWorkflowMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypeWorkflowMapping.java @@ -40,7 +40,7 @@ * Details about the mapping between an issue type and a workflow. */ @ApiModel(description = "Details about the mapping between an issue type and a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypeWorkflowMapping { @JsonProperty("issueType") private String issueType; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypesWorkflowMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypesWorkflowMapping.java index 476d304..68b35c2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypesWorkflowMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueTypesWorkflowMapping.java @@ -42,7 +42,7 @@ * Details about the mapping between issue types and a workflow. */ @ApiModel(description = "Details about the mapping between issue types and a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueTypesWorkflowMapping { @JsonProperty("workflow") private String workflow; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueUpdateDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueUpdateDetails.java index bac756e..07fa10d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueUpdateDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueUpdateDetails.java @@ -48,7 +48,7 @@ * Details of an issue update request. */ @ApiModel(description = "Details of an issue update request.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueUpdateDetails { @JsonProperty("transition") private IssueTransition transition; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueUpdateMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueUpdateMetadata.java index ae56780..dcf8924 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueUpdateMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssueUpdateMetadata.java @@ -44,16 +44,16 @@ * A list of editable field details. */ @ApiModel(description = "A list of editable field details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssueUpdateMetadata { @JsonProperty("fields") private Map fields = new HashMap<>(); /** - * A list of editable field details. + * Get fields * @return fields **/ - @ApiModelProperty(value = "A list of editable field details.") + @ApiModelProperty(value = "") public Map getFields() { return fields; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesAndJQLQueries.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesAndJQLQueries.java index 11b9d9f..7ceea9c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesAndJQLQueries.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesAndJQLQueries.java @@ -42,7 +42,7 @@ * List of issues and JQL queries. */ @ApiModel(description = "List of issues and JQL queries.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssuesAndJQLQueries { @JsonProperty("jqls") private List jqls = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesJqlMetaDataBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesJqlMetaDataBean.java index 7951d84..d804825 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesJqlMetaDataBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesJqlMetaDataBean.java @@ -42,7 +42,7 @@ * The description of the page of issues loaded by the provided JQL query. */ @ApiModel(description = "The description of the page of issues loaded by the provided JQL query.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssuesJqlMetaDataBean { @JsonProperty("startAt") private Long startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesMetaBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesMetaBean.java index 9d79999..137e929 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesMetaBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesMetaBean.java @@ -41,7 +41,7 @@ * Meta data describing the `issues` context variable. */ @ApiModel(description = "Meta data describing the `issues` context variable.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssuesMetaBean { @JsonProperty("jql") private IssuesJqlMetaDataBean jql; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesUpdateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesUpdateBean.java index 5304eaf..8827e01 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesUpdateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/IssuesUpdateBean.java @@ -44,7 +44,7 @@ /** * IssuesUpdateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class IssuesUpdateBean { @JsonProperty("issueUpdates") private List issueUpdates = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLPersonalDataMigrationRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLPersonalDataMigrationRequest.java index 8086fa0..dbf8d59 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLPersonalDataMigrationRequest.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLPersonalDataMigrationRequest.java @@ -42,7 +42,7 @@ * The JQL queries to be converted. */ @ApiModel(description = "The JQL queries to be converted.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JQLPersonalDataMigrationRequest { @JsonProperty("queryStrings") private List queryStrings = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLQueryWithUnknownUsers.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLQueryWithUnknownUsers.java index 3375b2f..7568c64 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLQueryWithUnknownUsers.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLQueryWithUnknownUsers.java @@ -40,7 +40,7 @@ * JQL queries that contained users that could not be found */ @ApiModel(description = "JQL queries that contained users that could not be found") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JQLQueryWithUnknownUsers { @JsonProperty("originalQuery") private String originalQuery; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLReferenceData.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLReferenceData.java index 4e968d3..b3ff332 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLReferenceData.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JQLReferenceData.java @@ -44,7 +44,7 @@ * Lists of JQL reference data. */ @ApiModel(description = "Lists of JQL reference data.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JQLReferenceData { @JsonProperty("visibleFieldNames") private List visibleFieldNames = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JexpIssues.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JexpIssues.java index 9e8e459..e6aaf66 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JexpIssues.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JexpIssues.java @@ -41,7 +41,7 @@ * The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. */ @ApiModel(description = "The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JexpIssues { @JsonProperty("jql") private JexpJqlIssues jql; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JexpJqlIssues.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JexpJqlIssues.java index 1ed9e86..b8e3ac7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JexpJqlIssues.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JexpJqlIssues.java @@ -40,7 +40,7 @@ * The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response. */ @ApiModel(description = "The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JexpJqlIssues { @JsonProperty("query") private String query; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionAnalysis.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionAnalysis.java index f737ec3..e47162c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionAnalysis.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionAnalysis.java @@ -44,7 +44,7 @@ * Details about the analysed Jira expression. */ @ApiModel(description = "Details about the analysed Jira expression.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionAnalysis { @JsonProperty("expression") private String expression; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionComplexity.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionComplexity.java index 88076d5..285d282 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionComplexity.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionComplexity.java @@ -43,7 +43,7 @@ * Details about the complexity of the analysed Jira expression. */ @ApiModel(description = "Details about the complexity of the analysed Jira expression.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionComplexity { @JsonProperty("expensiveOperations") private String expensiveOperations; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvalContextBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvalContextBean.java index 5f627e2..74b8815 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvalContextBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvalContextBean.java @@ -41,7 +41,7 @@ /** * JiraExpressionEvalContextBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionEvalContextBean { @JsonProperty("issue") private IdOrKeyBean issue; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvalRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvalRequestBean.java index 5fd0e92..f28a8a4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvalRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvalRequestBean.java @@ -40,7 +40,7 @@ /** * JiraExpressionEvalRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionEvalRequestBean { @JsonProperty("expression") private String expression; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvaluationMetaDataBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvaluationMetaDataBean.java index 3e42d4e..b69e41c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvaluationMetaDataBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionEvaluationMetaDataBean.java @@ -41,7 +41,7 @@ /** * JiraExpressionEvaluationMetaDataBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionEvaluationMetaDataBean { @JsonProperty("complexity") private JiraExpressionsComplexityBean complexity; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionForAnalysis.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionForAnalysis.java index 0f2f842..fee4c94 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionForAnalysis.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionForAnalysis.java @@ -44,7 +44,7 @@ * Details of Jira expressions for analysis. */ @ApiModel(description = "Details of Jira expressions for analysis.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionForAnalysis { @JsonProperty("expressions") private List expressions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionResult.java index ef10d87..d22b844 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionResult.java @@ -41,7 +41,7 @@ * The result of evaluating a Jira expression. */ @ApiModel(description = "The result of evaluating a Jira expression.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionResult { @JsonProperty("value") private Object value = null; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionValidationError.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionValidationError.java index 1c3a5f9..6607e60 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionValidationError.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionValidationError.java @@ -40,7 +40,7 @@ * Details about syntax and type errors. The error details apply to the entire expression, unless the object includes: * `line` and `column` * `expression` */ @ApiModel(description = "Details about syntax and type errors. The error details apply to the entire expression, unless the object includes: * `line` and `column` * `expression`") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionValidationError { @JsonProperty("line") private Integer line; @@ -157,7 +157,7 @@ public JiraExpressionValidationError message(String message) { * Details about the error. * @return message **/ - @ApiModelProperty(example = "!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, new, [ or { expected, > encountered.", required = true, value = "Details about the error.") + @ApiModelProperty(example = "!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.", required = true, value = "Details about the error.") public String getMessage() { return message; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsAnalysis.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsAnalysis.java index b2aea9d..b530844 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsAnalysis.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsAnalysis.java @@ -43,7 +43,7 @@ * Details about the analysed Jira expression. */ @ApiModel(description = "Details about the analysed Jira expression.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionsAnalysis { @JsonProperty("results") private List results = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsComplexityBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsComplexityBean.java index ad13083..6011b31 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsComplexityBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsComplexityBean.java @@ -40,7 +40,7 @@ /** * JiraExpressionsComplexityBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionsComplexityBean { @JsonProperty("steps") private JiraExpressionsComplexityValueBean steps; @@ -63,7 +63,7 @@ public JiraExpressionsComplexityBean steps(JiraExpressionsComplexityValueBean st * The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function. * @return steps **/ - @ApiModelProperty(value = "The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.") + @ApiModelProperty(required = true, value = "The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.") public JiraExpressionsComplexityValueBean getSteps() { return steps; } @@ -81,7 +81,7 @@ public JiraExpressionsComplexityBean expensiveOperations(JiraExpressionsComplexi * The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields. * @return expensiveOperations **/ - @ApiModelProperty(value = "The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.") + @ApiModelProperty(required = true, value = "The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.") public JiraExpressionsComplexityValueBean getExpensiveOperations() { return expensiveOperations; } @@ -99,7 +99,7 @@ public JiraExpressionsComplexityBean beans(JiraExpressionsComplexityValueBean be * The number of Jira REST API beans returned in the response. * @return beans **/ - @ApiModelProperty(value = "The number of Jira REST API beans returned in the response.") + @ApiModelProperty(required = true, value = "The number of Jira REST API beans returned in the response.") public JiraExpressionsComplexityValueBean getBeans() { return beans; } @@ -117,7 +117,7 @@ public JiraExpressionsComplexityBean primitiveValues(JiraExpressionsComplexityVa * The number of primitive values returned in the response. * @return primitiveValues **/ - @ApiModelProperty(value = "The number of primitive values returned in the response.") + @ApiModelProperty(required = true, value = "The number of primitive values returned in the response.") public JiraExpressionsComplexityValueBean getPrimitiveValues() { return primitiveValues; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsComplexityValueBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsComplexityValueBean.java index ea647f9..1babac1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsComplexityValueBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JiraExpressionsComplexityValueBean.java @@ -39,7 +39,7 @@ /** * JiraExpressionsComplexityValueBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JiraExpressionsComplexityValueBean { @JsonProperty("value") private Integer value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueriesToParse.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueriesToParse.java index 312cb94..433de24 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueriesToParse.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueriesToParse.java @@ -42,7 +42,7 @@ * A list of JQL queries to parse. */ @ApiModel(description = "A list of JQL queries to parse.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQueriesToParse { @JsonProperty("queries") private List queries = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQuery.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQuery.java index 9ff6974..8bf632d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQuery.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQuery.java @@ -41,7 +41,7 @@ * A parsed JQL query. */ @ApiModel(description = "A parsed JQL query.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQuery { @JsonProperty("where") private Object where = null; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryClauseOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryClauseOperand.java index 428a9f6..3914148 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryClauseOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryClauseOperand.java @@ -47,7 +47,7 @@ * Details of an operand in a JQL clause. */ @ApiModel(description = "Details of an operand in a JQL clause.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQueryClauseOperand { @JsonProperty("values") private List values = new ArrayList<>(); @@ -103,9 +103,6 @@ public JqlQueryClauseOperand values(List values) { } public JqlQueryClauseOperand addValuesItem(JqlQueryUnitaryOperand valuesItem) { - if (this.values == null) { - this.values = new ArrayList<>(); - } this.values.add(valuesItem); return this; } @@ -114,7 +111,7 @@ public JqlQueryClauseOperand addValuesItem(JqlQueryUnitaryOperand valuesItem) { * The list of operand values. * @return values **/ - @ApiModelProperty(value = "The list of operand values.") + @ApiModelProperty(required = true, value = "The list of operand values.") public List getValues() { return values; } @@ -165,9 +162,6 @@ public JqlQueryClauseOperand arguments(List arguments) { } public JqlQueryClauseOperand addArgumentsItem(String argumentsItem) { - if (this.arguments == null) { - this.arguments = new ArrayList<>(); - } this.arguments.add(argumentsItem); return this; } @@ -176,7 +170,7 @@ public JqlQueryClauseOperand addArgumentsItem(String argumentsItem) { * The list of function arguments. * @return arguments **/ - @ApiModelProperty(value = "The list of function arguments.") + @ApiModelProperty(required = true, value = "The list of function arguments.") public List getArguments() { return arguments; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryClauseTimePredicate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryClauseTimePredicate.java index bdcaa48..72cbe6b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryClauseTimePredicate.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryClauseTimePredicate.java @@ -41,7 +41,7 @@ * A time predicate for a temporal JQL clause. */ @ApiModel(description = "A time predicate for a temporal JQL clause.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQueryClauseTimePredicate { /** * The operator between the field and the operand. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryField.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryField.java index bb44909..2e2f989 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryField.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryField.java @@ -43,7 +43,7 @@ * A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries. */ @ApiModel(description = "A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQueryField { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryFieldEntityProperty.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryFieldEntityProperty.java index 1633d86..0fd9876 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryFieldEntityProperty.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryFieldEntityProperty.java @@ -40,7 +40,7 @@ * Details of an entity property. */ @ApiModel(description = "Details of an entity property.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQueryFieldEntityProperty { @JsonProperty("entity") private String entity; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryOrderByClause.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryOrderByClause.java index 52c58ef..7b2963c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryOrderByClause.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryOrderByClause.java @@ -43,7 +43,7 @@ * Details of the order-by JQL clause. */ @ApiModel(description = "Details of the order-by JQL clause.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQueryOrderByClause { @JsonProperty("fields") private List fields = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryOrderByClauseElement.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryOrderByClauseElement.java index 8ef9589..b248791 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryOrderByClauseElement.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryOrderByClauseElement.java @@ -41,7 +41,7 @@ * An element of the order-by JQL clause. */ @ApiModel(description = "An element of the order-by JQL clause.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQueryOrderByClauseElement { @JsonProperty("field") private JqlQueryField field; @@ -93,7 +93,7 @@ public JqlQueryOrderByClauseElement field(JqlQueryField field) { * Get field * @return field **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public JqlQueryField getField() { return field; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryUnitaryOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryUnitaryOperand.java index dc962d8..227f20e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryUnitaryOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JqlQueryUnitaryOperand.java @@ -45,7 +45,7 @@ * An operand that can be part of a list operand. */ @ApiModel(description = "An operand that can be part of a list operand.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JqlQueryUnitaryOperand { @JsonProperty("value") private String value; @@ -134,9 +134,6 @@ public JqlQueryUnitaryOperand arguments(List arguments) { } public JqlQueryUnitaryOperand addArgumentsItem(String argumentsItem) { - if (this.arguments == null) { - this.arguments = new ArrayList<>(); - } this.arguments.add(argumentsItem); return this; } @@ -145,7 +142,7 @@ public JqlQueryUnitaryOperand addArgumentsItem(String argumentsItem) { * The list of function arguments. * @return arguments **/ - @ApiModelProperty(value = "The list of function arguments.") + @ApiModelProperty(required = true, value = "The list of function arguments.") public List getArguments() { return arguments; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JsonNode.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JsonNode.java index 0b0aef5..33535f1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JsonNode.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JsonNode.java @@ -42,17 +42,29 @@ /** * JsonNode */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JsonNode { @JsonProperty("elements") private Object elements = null; - @JsonProperty("number") - private Boolean number; - @JsonProperty("pojo") private Boolean pojo; + @JsonProperty("containerNode") + private Boolean containerNode; + + @JsonProperty("missingNode") + private Boolean missingNode; + + @JsonProperty("object") + private Boolean _object; + + @JsonProperty("valueNode") + private Boolean valueNode; + + @JsonProperty("number") + private Boolean number; + @JsonProperty("integralNumber") private Boolean integralNumber; @@ -83,30 +95,6 @@ public class JsonNode { @JsonProperty("binary") private Boolean binary; - @JsonProperty("object") - private Boolean _object; - - @JsonProperty("missingNode") - private Boolean missingNode; - - @JsonProperty("valueNode") - private Boolean valueNode; - - @JsonProperty("containerNode") - private Boolean containerNode; - - @JsonProperty("valueAsInt") - private Integer valueAsInt; - - @JsonProperty("valueAsLong") - private Long valueAsLong; - - @JsonProperty("valueAsDouble") - private Double valueAsDouble; - - @JsonProperty("valueAsBoolean") - private Boolean valueAsBoolean; - @JsonProperty("numberValue") private BigDecimal numberValue; @@ -177,15 +165,27 @@ public static NumberTypeEnum fromValue(String value) { @JsonProperty("binaryValue") private List binaryValue = new ArrayList<>(); + @JsonProperty("valueAsInt") + private Integer valueAsInt; + + @JsonProperty("valueAsLong") + private Long valueAsLong; + + @JsonProperty("valueAsDouble") + private Double valueAsDouble; + + @JsonProperty("valueAsBoolean") + private Boolean valueAsBoolean; + + @JsonProperty("fieldNames") + private Object fieldNames = null; + @JsonProperty("textValue") private String textValue; @JsonProperty("valueAsText") private String valueAsText; - @JsonProperty("fieldNames") - private Object fieldNames = null; - @JsonProperty("array") private Boolean array; @@ -213,40 +213,112 @@ public void setElements(Object elements) { this.elements = elements; } - public JsonNode number(Boolean number) { - this.number = number; + public JsonNode pojo(Boolean pojo) { + this.pojo = pojo; return this; } /** - * Get number - * @return number + * Get pojo + * @return pojo **/ @ApiModelProperty(value = "") - public Boolean getNumber() { - return number; + public Boolean getPojo() { + return pojo; } - public void setNumber(Boolean number) { - this.number = number; + public void setPojo(Boolean pojo) { + this.pojo = pojo; } - public JsonNode pojo(Boolean pojo) { - this.pojo = pojo; + public JsonNode containerNode(Boolean containerNode) { + this.containerNode = containerNode; return this; } /** - * Get pojo - * @return pojo + * Get containerNode + * @return containerNode **/ @ApiModelProperty(value = "") - public Boolean getPojo() { - return pojo; + public Boolean getContainerNode() { + return containerNode; } - public void setPojo(Boolean pojo) { - this.pojo = pojo; + public void setContainerNode(Boolean containerNode) { + this.containerNode = containerNode; + } + + public JsonNode missingNode(Boolean missingNode) { + this.missingNode = missingNode; + return this; + } + + /** + * Get missingNode + * @return missingNode + **/ + @ApiModelProperty(value = "") + public Boolean getMissingNode() { + return missingNode; + } + + public void setMissingNode(Boolean missingNode) { + this.missingNode = missingNode; + } + + public JsonNode _object(Boolean _object) { + this._object = _object; + return this; + } + + /** + * Get _object + * @return _object + **/ + @ApiModelProperty(value = "") + public Boolean getObject() { + return _object; + } + + public void setObject(Boolean _object) { + this._object = _object; + } + + public JsonNode valueNode(Boolean valueNode) { + this.valueNode = valueNode; + return this; + } + + /** + * Get valueNode + * @return valueNode + **/ + @ApiModelProperty(value = "") + public Boolean getValueNode() { + return valueNode; + } + + public void setValueNode(Boolean valueNode) { + this.valueNode = valueNode; + } + + public JsonNode number(Boolean number) { + this.number = number; + return this; + } + + /** + * Get number + * @return number + **/ + @ApiModelProperty(value = "") + public Boolean getNumber() { + return number; + } + + public void setNumber(Boolean number) { + this.number = number; } public JsonNode integralNumber(Boolean integralNumber) { @@ -429,150 +501,6 @@ public void setBinary(Boolean binary) { this.binary = binary; } - public JsonNode _object(Boolean _object) { - this._object = _object; - return this; - } - - /** - * Get _object - * @return _object - **/ - @ApiModelProperty(value = "") - public Boolean getObject() { - return _object; - } - - public void setObject(Boolean _object) { - this._object = _object; - } - - public JsonNode missingNode(Boolean missingNode) { - this.missingNode = missingNode; - return this; - } - - /** - * Get missingNode - * @return missingNode - **/ - @ApiModelProperty(value = "") - public Boolean getMissingNode() { - return missingNode; - } - - public void setMissingNode(Boolean missingNode) { - this.missingNode = missingNode; - } - - public JsonNode valueNode(Boolean valueNode) { - this.valueNode = valueNode; - return this; - } - - /** - * Get valueNode - * @return valueNode - **/ - @ApiModelProperty(value = "") - public Boolean getValueNode() { - return valueNode; - } - - public void setValueNode(Boolean valueNode) { - this.valueNode = valueNode; - } - - public JsonNode containerNode(Boolean containerNode) { - this.containerNode = containerNode; - return this; - } - - /** - * Get containerNode - * @return containerNode - **/ - @ApiModelProperty(value = "") - public Boolean getContainerNode() { - return containerNode; - } - - public void setContainerNode(Boolean containerNode) { - this.containerNode = containerNode; - } - - public JsonNode valueAsInt(Integer valueAsInt) { - this.valueAsInt = valueAsInt; - return this; - } - - /** - * Get valueAsInt - * @return valueAsInt - **/ - @ApiModelProperty(value = "") - public Integer getValueAsInt() { - return valueAsInt; - } - - public void setValueAsInt(Integer valueAsInt) { - this.valueAsInt = valueAsInt; - } - - public JsonNode valueAsLong(Long valueAsLong) { - this.valueAsLong = valueAsLong; - return this; - } - - /** - * Get valueAsLong - * @return valueAsLong - **/ - @ApiModelProperty(value = "") - public Long getValueAsLong() { - return valueAsLong; - } - - public void setValueAsLong(Long valueAsLong) { - this.valueAsLong = valueAsLong; - } - - public JsonNode valueAsDouble(Double valueAsDouble) { - this.valueAsDouble = valueAsDouble; - return this; - } - - /** - * Get valueAsDouble - * @return valueAsDouble - **/ - @ApiModelProperty(value = "") - public Double getValueAsDouble() { - return valueAsDouble; - } - - public void setValueAsDouble(Double valueAsDouble) { - this.valueAsDouble = valueAsDouble; - } - - public JsonNode valueAsBoolean(Boolean valueAsBoolean) { - this.valueAsBoolean = valueAsBoolean; - return this; - } - - /** - * Get valueAsBoolean - * @return valueAsBoolean - **/ - @ApiModelProperty(value = "") - public Boolean getValueAsBoolean() { - return valueAsBoolean; - } - - public void setValueAsBoolean(Boolean valueAsBoolean) { - this.valueAsBoolean = valueAsBoolean; - } - public JsonNode numberValue(BigDecimal numberValue) { this.numberValue = numberValue; return this; @@ -743,40 +671,76 @@ public void setBinaryValue(List binaryValue) { this.binaryValue = binaryValue; } - public JsonNode textValue(String textValue) { - this.textValue = textValue; + public JsonNode valueAsInt(Integer valueAsInt) { + this.valueAsInt = valueAsInt; return this; } /** - * Get textValue - * @return textValue + * Get valueAsInt + * @return valueAsInt **/ @ApiModelProperty(value = "") - public String getTextValue() { - return textValue; + public Integer getValueAsInt() { + return valueAsInt; } - public void setTextValue(String textValue) { - this.textValue = textValue; + public void setValueAsInt(Integer valueAsInt) { + this.valueAsInt = valueAsInt; } - public JsonNode valueAsText(String valueAsText) { - this.valueAsText = valueAsText; + public JsonNode valueAsLong(Long valueAsLong) { + this.valueAsLong = valueAsLong; return this; } /** - * Get valueAsText - * @return valueAsText + * Get valueAsLong + * @return valueAsLong **/ @ApiModelProperty(value = "") - public String getValueAsText() { - return valueAsText; + public Long getValueAsLong() { + return valueAsLong; } - public void setValueAsText(String valueAsText) { - this.valueAsText = valueAsText; + public void setValueAsLong(Long valueAsLong) { + this.valueAsLong = valueAsLong; + } + + public JsonNode valueAsDouble(Double valueAsDouble) { + this.valueAsDouble = valueAsDouble; + return this; + } + + /** + * Get valueAsDouble + * @return valueAsDouble + **/ + @ApiModelProperty(value = "") + public Double getValueAsDouble() { + return valueAsDouble; + } + + public void setValueAsDouble(Double valueAsDouble) { + this.valueAsDouble = valueAsDouble; + } + + public JsonNode valueAsBoolean(Boolean valueAsBoolean) { + this.valueAsBoolean = valueAsBoolean; + return this; + } + + /** + * Get valueAsBoolean + * @return valueAsBoolean + **/ + @ApiModelProperty(value = "") + public Boolean getValueAsBoolean() { + return valueAsBoolean; + } + + public void setValueAsBoolean(Boolean valueAsBoolean) { + this.valueAsBoolean = valueAsBoolean; } public JsonNode fieldNames(Object fieldNames) { @@ -797,6 +761,42 @@ public void setFieldNames(Object fieldNames) { this.fieldNames = fieldNames; } + public JsonNode textValue(String textValue) { + this.textValue = textValue; + return this; + } + + /** + * Get textValue + * @return textValue + **/ + @ApiModelProperty(value = "") + public String getTextValue() { + return textValue; + } + + public void setTextValue(String textValue) { + this.textValue = textValue; + } + + public JsonNode valueAsText(String valueAsText) { + this.valueAsText = valueAsText; + return this; + } + + /** + * Get valueAsText + * @return valueAsText + **/ + @ApiModelProperty(value = "") + public String getValueAsText() { + return valueAsText; + } + + public void setValueAsText(String valueAsText) { + this.valueAsText = valueAsText; + } + public JsonNode array(Boolean array) { this.array = array; return this; @@ -862,8 +862,12 @@ public boolean equals(java.lang.Object o) { } JsonNode jsonNode = (JsonNode) o; return Objects.equals(this.elements, jsonNode.elements) && - Objects.equals(this.number, jsonNode.number) && Objects.equals(this.pojo, jsonNode.pojo) && + Objects.equals(this.containerNode, jsonNode.containerNode) && + Objects.equals(this.missingNode, jsonNode.missingNode) && + Objects.equals(this._object, jsonNode._object) && + Objects.equals(this.valueNode, jsonNode.valueNode) && + Objects.equals(this.number, jsonNode.number) && Objects.equals(this.integralNumber, jsonNode.integralNumber) && Objects.equals(this.floatingPointNumber, jsonNode.floatingPointNumber) && Objects.equals(this._int, jsonNode._int) && @@ -874,14 +878,6 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.textual, jsonNode.textual) && Objects.equals(this._boolean, jsonNode._boolean) && Objects.equals(this.binary, jsonNode.binary) && - Objects.equals(this._object, jsonNode._object) && - Objects.equals(this.missingNode, jsonNode.missingNode) && - Objects.equals(this.valueNode, jsonNode.valueNode) && - Objects.equals(this.containerNode, jsonNode.containerNode) && - Objects.equals(this.valueAsInt, jsonNode.valueAsInt) && - Objects.equals(this.valueAsLong, jsonNode.valueAsLong) && - Objects.equals(this.valueAsDouble, jsonNode.valueAsDouble) && - Objects.equals(this.valueAsBoolean, jsonNode.valueAsBoolean) && Objects.equals(this.numberValue, jsonNode.numberValue) && Objects.equals(this.numberType, jsonNode.numberType) && Objects.equals(this.intValue, jsonNode.intValue) && @@ -891,9 +887,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.decimalValue, jsonNode.decimalValue) && Objects.equals(this.booleanValue, jsonNode.booleanValue) && Objects.equals(this.binaryValue, jsonNode.binaryValue) && + Objects.equals(this.valueAsInt, jsonNode.valueAsInt) && + Objects.equals(this.valueAsLong, jsonNode.valueAsLong) && + Objects.equals(this.valueAsDouble, jsonNode.valueAsDouble) && + Objects.equals(this.valueAsBoolean, jsonNode.valueAsBoolean) && + Objects.equals(this.fieldNames, jsonNode.fieldNames) && Objects.equals(this.textValue, jsonNode.textValue) && Objects.equals(this.valueAsText, jsonNode.valueAsText) && - Objects.equals(this.fieldNames, jsonNode.fieldNames) && Objects.equals(this.array, jsonNode.array) && Objects.equals(this.fields, jsonNode.fields) && Objects.equals(this._null, jsonNode._null); @@ -901,7 +901,7 @@ public boolean equals(java.lang.Object o) { @Override public int hashCode() { - return Objects.hash(elements, number, pojo, integralNumber, floatingPointNumber, _int, _long, _double, bigDecimal, bigInteger, textual, _boolean, binary, _object, missingNode, valueNode, containerNode, valueAsInt, valueAsLong, valueAsDouble, valueAsBoolean, numberValue, numberType, intValue, longValue, bigIntegerValue, doubleValue, decimalValue, booleanValue, binaryValue, textValue, valueAsText, fieldNames, array, fields, _null); + return Objects.hash(elements, pojo, containerNode, missingNode, _object, valueNode, number, integralNumber, floatingPointNumber, _int, _long, _double, bigDecimal, bigInteger, textual, _boolean, binary, numberValue, numberType, intValue, longValue, bigIntegerValue, doubleValue, decimalValue, booleanValue, binaryValue, valueAsInt, valueAsLong, valueAsDouble, valueAsBoolean, fieldNames, textValue, valueAsText, array, fields, _null); } @@ -911,8 +911,12 @@ public String toString() { sb.append("class JsonNode {\n"); sb.append(" elements: ").append(toIndentedString(elements)).append("\n"); - sb.append(" number: ").append(toIndentedString(number)).append("\n"); sb.append(" pojo: ").append(toIndentedString(pojo)).append("\n"); + sb.append(" containerNode: ").append(toIndentedString(containerNode)).append("\n"); + sb.append(" missingNode: ").append(toIndentedString(missingNode)).append("\n"); + sb.append(" _object: ").append(toIndentedString(_object)).append("\n"); + sb.append(" valueNode: ").append(toIndentedString(valueNode)).append("\n"); + sb.append(" number: ").append(toIndentedString(number)).append("\n"); sb.append(" integralNumber: ").append(toIndentedString(integralNumber)).append("\n"); sb.append(" floatingPointNumber: ").append(toIndentedString(floatingPointNumber)).append("\n"); sb.append(" _int: ").append(toIndentedString(_int)).append("\n"); @@ -923,14 +927,6 @@ public String toString() { sb.append(" textual: ").append(toIndentedString(textual)).append("\n"); sb.append(" _boolean: ").append(toIndentedString(_boolean)).append("\n"); sb.append(" binary: ").append(toIndentedString(binary)).append("\n"); - sb.append(" _object: ").append(toIndentedString(_object)).append("\n"); - sb.append(" missingNode: ").append(toIndentedString(missingNode)).append("\n"); - sb.append(" valueNode: ").append(toIndentedString(valueNode)).append("\n"); - sb.append(" containerNode: ").append(toIndentedString(containerNode)).append("\n"); - sb.append(" valueAsInt: ").append(toIndentedString(valueAsInt)).append("\n"); - sb.append(" valueAsLong: ").append(toIndentedString(valueAsLong)).append("\n"); - sb.append(" valueAsDouble: ").append(toIndentedString(valueAsDouble)).append("\n"); - sb.append(" valueAsBoolean: ").append(toIndentedString(valueAsBoolean)).append("\n"); sb.append(" numberValue: ").append(toIndentedString(numberValue)).append("\n"); sb.append(" numberType: ").append(toIndentedString(numberType)).append("\n"); sb.append(" intValue: ").append(toIndentedString(intValue)).append("\n"); @@ -940,9 +936,13 @@ public String toString() { sb.append(" decimalValue: ").append(toIndentedString(decimalValue)).append("\n"); sb.append(" booleanValue: ").append(toIndentedString(booleanValue)).append("\n"); sb.append(" binaryValue: ").append(toIndentedString(binaryValue)).append("\n"); + sb.append(" valueAsInt: ").append(toIndentedString(valueAsInt)).append("\n"); + sb.append(" valueAsLong: ").append(toIndentedString(valueAsLong)).append("\n"); + sb.append(" valueAsDouble: ").append(toIndentedString(valueAsDouble)).append("\n"); + sb.append(" valueAsBoolean: ").append(toIndentedString(valueAsBoolean)).append("\n"); + sb.append(" fieldNames: ").append(toIndentedString(fieldNames)).append("\n"); sb.append(" textValue: ").append(toIndentedString(textValue)).append("\n"); sb.append(" valueAsText: ").append(toIndentedString(valueAsText)).append("\n"); - sb.append(" fieldNames: ").append(toIndentedString(fieldNames)).append("\n"); sb.append(" array: ").append(toIndentedString(array)).append("\n"); sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); sb.append(" _null: ").append(toIndentedString(_null)).append("\n"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JsonTypeBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JsonTypeBean.java index d7c8803..87f58de 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JsonTypeBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/JsonTypeBean.java @@ -43,7 +43,7 @@ * The schema of a field. */ @ApiModel(description = "The schema of a field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class JsonTypeBean { @JsonProperty("type") private String type; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/KeywordOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/KeywordOperand.java index a63220f..c041c59 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/KeywordOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/KeywordOperand.java @@ -40,7 +40,7 @@ * An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords. */ @ApiModel(description = "An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class KeywordOperand { /** * The keyword that is the operand value. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/License.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/License.java new file mode 100644 index 0000000..18fe016 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/License.java @@ -0,0 +1,101 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.LicensedApplication; + +/** + * Details about a license for the Jira instance. + */ +@ApiModel(description = "Details about a license for the Jira instance.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class License { + @JsonProperty("applications") + private List applications = new ArrayList<>(); + + /** + * The applications under this license. + * @return applications + **/ + @ApiModelProperty(required = true, value = "The applications under this license.") + public List getApplications() { + return applications; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + License license = (License) o; + return Objects.equals(this.applications, license.applications); + } + + @Override + public int hashCode() { + return Objects.hash(applications); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class License {\n"); + + sb.append(" applications: ").append(toIndentedString(applications)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LicensedApplication.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LicensedApplication.java new file mode 100644 index 0000000..36fb56e --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LicensedApplication.java @@ -0,0 +1,149 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details about a licensed Jira application. + */ +@ApiModel(description = "Details about a licensed Jira application.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class LicensedApplication { + @JsonProperty("id") + private String id; + + /** + * The licensing plan. + */ + public enum PlanEnum { + UNLICENSED("UNLICENSED"), + + FREE("FREE"), + + PAID("PAID"); + + private String value; + + PlanEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static PlanEnum fromValue(String value) { + for (PlanEnum b : PlanEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("plan") + private PlanEnum plan; + + /** + * The ID of the application. + * @return id + **/ + @ApiModelProperty(required = true, value = "The ID of the application.") + public String getId() { + return id; + } + + /** + * The licensing plan. + * @return plan + **/ + @ApiModelProperty(required = true, value = "The licensing plan.") + public PlanEnum getPlan() { + return plan; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LicensedApplication licensedApplication = (LicensedApplication) o; + return Objects.equals(this.id, licensedApplication.id) && + Objects.equals(this.plan, licensedApplication.plan); + } + + @Override + public int hashCode() { + return Objects.hash(id, plan); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class LicensedApplication {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" plan: ").append(toIndentedString(plan)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkGroup.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkGroup.java index cc7df0a..76f9c79 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkGroup.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkGroup.java @@ -43,7 +43,7 @@ * Details a link group, which defines issue operations. */ @ApiModel(description = "Details a link group, which defines issue operations.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class LinkGroup { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkIssueRequestJsonBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkIssueRequestJsonBean.java index 57b1a17..60c1796 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkIssueRequestJsonBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkIssueRequestJsonBean.java @@ -42,7 +42,7 @@ /** * LinkIssueRequestJsonBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class LinkIssueRequestJsonBean { @JsonProperty("type") private IssueLinkType type; @@ -65,7 +65,7 @@ public LinkIssueRequestJsonBean type(IssueLinkType type) { * Get type * @return type **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public IssueLinkType getType() { return type; } @@ -83,7 +83,7 @@ public LinkIssueRequestJsonBean inwardIssue(LinkedIssue inwardIssue) { * Get inwardIssue * @return inwardIssue **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public LinkedIssue getInwardIssue() { return inwardIssue; } @@ -101,7 +101,7 @@ public LinkIssueRequestJsonBean outwardIssue(LinkedIssue outwardIssue) { * Get outwardIssue * @return outwardIssue **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public LinkedIssue getOutwardIssue() { return outwardIssue; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkedIssue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkedIssue.java index 4dcf590..43e62d9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkedIssue.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/LinkedIssue.java @@ -42,7 +42,7 @@ * The ID or key of a linked issue. */ @ApiModel(description = "The ID or key of a linked issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class LinkedIssue { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ListOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ListOperand.java index 51b271a..3bf7901 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ListOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ListOperand.java @@ -43,7 +43,7 @@ * An operand that is a list of values. */ @ApiModel(description = "An operand that is a list of values.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ListOperand { @JsonProperty("values") private List values = new ArrayList<>(); @@ -54,9 +54,6 @@ public ListOperand values(List values) { } public ListOperand addValuesItem(JqlQueryUnitaryOperand valuesItem) { - if (this.values == null) { - this.values = new ArrayList<>(); - } this.values.add(valuesItem); return this; } @@ -65,7 +62,7 @@ public ListOperand addValuesItem(JqlQueryUnitaryOperand valuesItem) { * The list of operand values. * @return values **/ - @ApiModelProperty(value = "The list of operand values.") + @ApiModelProperty(required = true, value = "The list of operand values.") public List getValues() { return values; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Locale.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Locale.java index b4dcdd2..c37ef76 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Locale.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Locale.java @@ -40,7 +40,7 @@ * Details of a locale. */ @ApiModel(description = "Details of a locale.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Locale { @JsonProperty("locale") private String locale; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ModelConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ModelConfiguration.java index 7b7a7b5..1de4d4e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ModelConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ModelConfiguration.java @@ -41,7 +41,7 @@ * Details about the configuration of Jira. */ @ApiModel(description = "Details about the configuration of Jira.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ModelConfiguration { @JsonProperty("votingEnabled") private Boolean votingEnabled; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/MoveFieldBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/MoveFieldBean.java index c310201..be075b9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/MoveFieldBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/MoveFieldBean.java @@ -40,7 +40,7 @@ /** * MoveFieldBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class MoveFieldBean { @JsonProperty("after") private URI after; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NestedResponse.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NestedResponse.java index 90721fd..725434a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NestedResponse.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NestedResponse.java @@ -40,7 +40,7 @@ /** * NestedResponse */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class NestedResponse { @JsonProperty("status") private Integer status; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NewUserDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NewUserDetails.java new file mode 100644 index 0000000..055af8a --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NewUserDetails.java @@ -0,0 +1,262 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * The user details. + */ +@ApiModel(description = "The user details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class NewUserDetails { + @JsonProperty("self") + private String self; + + @JsonProperty("key") + private String key; + + @JsonProperty("name") + private String name; + + @JsonProperty("password") + private String password; + + @JsonProperty("emailAddress") + private String emailAddress; + + @JsonProperty("displayName") + private String displayName; + + @JsonProperty("applicationKeys") + private List applicationKeys = new ArrayList<>(); + + private HashMap additionalProperties_ = new HashMap(); + + /** + * The URL of the user. + * @return self + **/ + @ApiModelProperty(value = "The URL of the user.") + public String getSelf() { + return self; + } + + public NewUserDetails key(String key) { + this.key = key; + return this; + } + + /** + * This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * @return key + **/ + @ApiModelProperty(value = "This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public NewUserDetails name(String name) { + this.name = name; + return this; + } + + /** + * This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * @return name + **/ + @ApiModelProperty(value = "This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public NewUserDetails password(String password) { + this.password = password; + return this; + } + + /** + * This property is no longer available. If the user has an Atlassian account, their password is not changed. If the user does not have an Atlassian account, they are sent an email asking them set up an account. + * @return password + **/ + @ApiModelProperty(value = "This property is no longer available. If the user has an Atlassian account, their password is not changed. If the user does not have an Atlassian account, they are sent an email asking them set up an account.") + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public NewUserDetails emailAddress(String emailAddress) { + this.emailAddress = emailAddress; + return this; + } + + /** + * The email address for the user. + * @return emailAddress + **/ + @ApiModelProperty(required = true, value = "The email address for the user.") + public String getEmailAddress() { + return emailAddress; + } + + public void setEmailAddress(String emailAddress) { + this.emailAddress = emailAddress; + } + + public NewUserDetails displayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * A suggested display name for the user. If the user has an Atlassian account, their display name is not changed. If the user does not have an Atlassian account, this display name is used as a suggestion for creating an account. The user is sent an email asking them to set their display name and privacy preferences. + * @return displayName + **/ + @ApiModelProperty(required = true, value = "A suggested display name for the user. If the user has an Atlassian account, their display name is not changed. If the user does not have an Atlassian account, this display name is used as a suggestion for creating an account. The user is sent an email asking them to set their display name and privacy preferences.") + public String getDisplayName() { + return displayName; + } + + public void setDisplayName(String displayName) { + this.displayName = displayName; + } + + public NewUserDetails applicationKeys(List applicationKeys) { + this.applicationKeys = applicationKeys; + return this; + } + + public NewUserDetails addApplicationKeysItem(String applicationKeysItem) { + if (this.applicationKeys == null) { + this.applicationKeys = new ArrayList<>(); + } + this.applicationKeys.add(applicationKeysItem); + return this; + } + + /** + * Deprecated, do not use. + * @return applicationKeys + **/ + @ApiModelProperty(value = "Deprecated, do not use.") + public List getApplicationKeys() { + return applicationKeys; + } + + public void setApplicationKeys(List applicationKeys) { + this.applicationKeys = applicationKeys; + } + + + @com.fasterxml.jackson.annotation.JsonAnyGetter + public Map any() { + return this.additionalProperties_; + } + + @com.fasterxml.jackson.annotation.JsonAnySetter + public void set(String name, Object value) { + this.additionalProperties_.put(name, value); + } + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + NewUserDetails newUserDetails = (NewUserDetails) o; + return Objects.equals(this.self, newUserDetails.self) && + Objects.equals(this.key, newUserDetails.key) && + Objects.equals(this.name, newUserDetails.name) && + Objects.equals(this.password, newUserDetails.password) && + Objects.equals(this.emailAddress, newUserDetails.emailAddress) && + Objects.equals(this.displayName, newUserDetails.displayName) && + Objects.equals(this.applicationKeys, newUserDetails.applicationKeys) && + super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(self, key, name, password, emailAddress, displayName, applicationKeys, super.hashCode()); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class NewUserDetails {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" password: ").append(toIndentedString(password)).append("\n"); + sb.append(" emailAddress: ").append(toIndentedString(emailAddress)).append("\n"); + sb.append(" displayName: ").append(toIndentedString(displayName)).append("\n"); + sb.append(" applicationKeys: ").append(toIndentedString(applicationKeys)).append("\n"); + sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties_)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Notification.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Notification.java index c1da9c9..9010377 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Notification.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Notification.java @@ -44,7 +44,7 @@ * Details about a notification. */ @ApiModel(description = "Details about a notification.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Notification { @JsonProperty("subject") private String subject; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationEvent.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationEvent.java index 36681f1..6930646 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationEvent.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationEvent.java @@ -40,7 +40,7 @@ * Details about a notification event. */ @ApiModel(description = "Details about a notification event.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class NotificationEvent { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationRecipients.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationRecipients.java index d5a8b27..45f0501 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationRecipients.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationRecipients.java @@ -46,7 +46,7 @@ * Details of the users and groups to receive the notification. */ @ApiModel(description = "Details of the users and groups to receive the notification.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class NotificationRecipients { @JsonProperty("reporter") private Boolean reporter; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationRecipientsRestrictions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationRecipientsRestrictions.java index b32b5c5..bfa8908 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationRecipientsRestrictions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationRecipientsRestrictions.java @@ -44,7 +44,7 @@ * Details of the group membership or permissions needed to receive the notification. */ @ApiModel(description = "Details of the group membership or permissions needed to receive the notification.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class NotificationRecipientsRestrictions { @JsonProperty("groups") private List groups = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationScheme.java index 2605737..c0e250b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationScheme.java @@ -44,7 +44,7 @@ * Details about a notification scheme. */ @ApiModel(description = "Details about a notification scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class NotificationScheme { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationSchemeEvent.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationSchemeEvent.java index 647b438..9e834be 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationSchemeEvent.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/NotificationSchemeEvent.java @@ -44,7 +44,7 @@ * Details about a notification scheme event. */ @ApiModel(description = "Details about a notification scheme event.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class NotificationSchemeEvent { @JsonProperty("event") private NotificationEvent event; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OperationMessage.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OperationMessage.java index eb3d431..fe39934 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OperationMessage.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OperationMessage.java @@ -39,7 +39,7 @@ /** * OperationMessage */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class OperationMessage { @JsonProperty("message") private String message; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Operations.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Operations.java index 666b905..539af9f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Operations.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Operations.java @@ -45,7 +45,7 @@ * Details of the operations that can be performed on the issue. */ @ApiModel(description = "Details of the operations that can be performed on the issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Operations { @JsonProperty("linkGroups") private List linkGroups = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OrderOfCustomFieldOptions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OrderOfCustomFieldOptions.java index 772f525..3a283e4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OrderOfCustomFieldOptions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OrderOfCustomFieldOptions.java @@ -42,7 +42,7 @@ * An ordered list of custom field option IDs and information on where to move them. */ @ApiModel(description = "An ordered list of custom field option IDs and information on where to move them.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class OrderOfCustomFieldOptions { @JsonProperty("customFieldOptionIds") private List customFieldOptionIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OrderOfIssueTypes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OrderOfIssueTypes.java index c9d6524..25eb71b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OrderOfIssueTypes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/OrderOfIssueTypes.java @@ -42,7 +42,7 @@ * An ordered list of issue type IDs and information about where to move them. */ @ApiModel(description = "An ordered list of issue type IDs and information about where to move them.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class OrderOfIssueTypes { @JsonProperty("issueTypeIds") private List issueTypeIds = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanChangelog.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanChangelog.java index 16b4cbc..41e29d5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanChangelog.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanChangelog.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanChangelog { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanComment.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanComment.java index d898fb7..40fe6dd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanComment.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanComment.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanComment { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanComponentWithIssueCount.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanComponentWithIssueCount.java index 27d3ef8..63bd6f9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanComponentWithIssueCount.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanComponentWithIssueCount.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanComponentWithIssueCount { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContext.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContext.java index 704cbda..22c81c2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContext.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContext.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanContext { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContextForProjectAndIssueType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContextForProjectAndIssueType.java new file mode 100644 index 0000000..cfa814f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContextForProjectAndIssueType.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.ContextForProjectAndIssueType; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PageBeanContextForProjectAndIssueType { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanContextForProjectAndIssueType pageBeanContextForProjectAndIssueType = (PageBeanContextForProjectAndIssueType) o; + return Objects.equals(this.self, pageBeanContextForProjectAndIssueType.self) && + Objects.equals(this.nextPage, pageBeanContextForProjectAndIssueType.nextPage) && + Objects.equals(this.maxResults, pageBeanContextForProjectAndIssueType.maxResults) && + Objects.equals(this.startAt, pageBeanContextForProjectAndIssueType.startAt) && + Objects.equals(this.total, pageBeanContextForProjectAndIssueType.total) && + Objects.equals(this.isLast, pageBeanContextForProjectAndIssueType.isLast) && + Objects.equals(this.values, pageBeanContextForProjectAndIssueType.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanContextForProjectAndIssueType {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContextualConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContextualConfiguration.java new file mode 100644 index 0000000..dc6b2e1 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanContextualConfiguration.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.ContextualConfiguration; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PageBeanContextualConfiguration { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanContextualConfiguration pageBeanContextualConfiguration = (PageBeanContextualConfiguration) o; + return Objects.equals(this.self, pageBeanContextualConfiguration.self) && + Objects.equals(this.nextPage, pageBeanContextualConfiguration.nextPage) && + Objects.equals(this.maxResults, pageBeanContextualConfiguration.maxResults) && + Objects.equals(this.startAt, pageBeanContextualConfiguration.startAt) && + Objects.equals(this.total, pageBeanContextualConfiguration.total) && + Objects.equals(this.isLast, pageBeanContextualConfiguration.isLast) && + Objects.equals(this.values, pageBeanContextualConfiguration.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanContextualConfiguration {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContext.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContext.java new file mode 100644 index 0000000..6778c8f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContext.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldContext; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PageBeanCustomFieldContext { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanCustomFieldContext pageBeanCustomFieldContext = (PageBeanCustomFieldContext) o; + return Objects.equals(this.self, pageBeanCustomFieldContext.self) && + Objects.equals(this.nextPage, pageBeanCustomFieldContext.nextPage) && + Objects.equals(this.maxResults, pageBeanCustomFieldContext.maxResults) && + Objects.equals(this.startAt, pageBeanCustomFieldContext.startAt) && + Objects.equals(this.total, pageBeanCustomFieldContext.total) && + Objects.equals(this.isLast, pageBeanCustomFieldContext.isLast) && + Objects.equals(this.values, pageBeanCustomFieldContext.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanCustomFieldContext {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextDefaultValue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextDefaultValue.java new file mode 100644 index 0000000..56d536f --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextDefaultValue.java @@ -0,0 +1,185 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PageBeanCustomFieldContextDefaultValue { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanCustomFieldContextDefaultValue pageBeanCustomFieldContextDefaultValue = (PageBeanCustomFieldContextDefaultValue) o; + return Objects.equals(this.self, pageBeanCustomFieldContextDefaultValue.self) && + Objects.equals(this.nextPage, pageBeanCustomFieldContextDefaultValue.nextPage) && + Objects.equals(this.maxResults, pageBeanCustomFieldContextDefaultValue.maxResults) && + Objects.equals(this.startAt, pageBeanCustomFieldContextDefaultValue.startAt) && + Objects.equals(this.total, pageBeanCustomFieldContextDefaultValue.total) && + Objects.equals(this.isLast, pageBeanCustomFieldContextDefaultValue.isLast) && + Objects.equals(this.values, pageBeanCustomFieldContextDefaultValue.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanCustomFieldContextDefaultValue {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextOption.java index f2ee9cc..a360908 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextOption.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanCustomFieldContextOption { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextProjectMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextProjectMapping.java new file mode 100644 index 0000000..700ca29 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanCustomFieldContextProjectMapping.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.CustomFieldContextProjectMapping; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PageBeanCustomFieldContextProjectMapping { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanCustomFieldContextProjectMapping pageBeanCustomFieldContextProjectMapping = (PageBeanCustomFieldContextProjectMapping) o; + return Objects.equals(this.self, pageBeanCustomFieldContextProjectMapping.self) && + Objects.equals(this.nextPage, pageBeanCustomFieldContextProjectMapping.nextPage) && + Objects.equals(this.maxResults, pageBeanCustomFieldContextProjectMapping.maxResults) && + Objects.equals(this.startAt, pageBeanCustomFieldContextProjectMapping.startAt) && + Objects.equals(this.total, pageBeanCustomFieldContextProjectMapping.total) && + Objects.equals(this.isLast, pageBeanCustomFieldContextProjectMapping.isLast) && + Objects.equals(this.values, pageBeanCustomFieldContextProjectMapping.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanCustomFieldContextProjectMapping {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanDashboard.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanDashboard.java index a9083d4..1fc5b71 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanDashboard.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanDashboard.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanDashboard { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanField.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanField.java index 843fa8f..eaf2401 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanField.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanField.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanField { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfiguration.java index 4cf6c7a..b2fdd41 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfiguration.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanFieldConfiguration { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationIssueTypeItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationIssueTypeItem.java index 5b6d0c9..5e92f8a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationIssueTypeItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationIssueTypeItem.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanFieldConfigurationIssueTypeItem { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationItem.java index 4a90c39..e566f9d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationItem.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanFieldConfigurationItem { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationScheme.java index 66a2b9d..62fcc49 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanFieldConfigurationScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationSchemeProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationSchemeProjects.java index c18585b..736ad2b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationSchemeProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFieldConfigurationSchemeProjects.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanFieldConfigurationSchemeProjects { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFilterDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFilterDetails.java index 3e99d19..e8f3c8d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFilterDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanFilterDetails.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanFilterDetails { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanGroupDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanGroupDetails.java index 4fd207b..4ab1a20 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanGroupDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanGroupDetails.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanGroupDetails { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueFieldOption.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueFieldOption.java index c4d0034..bfcccd1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueFieldOption.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueFieldOption.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanIssueFieldOption { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueSecurityLevelMember.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueSecurityLevelMember.java index 28f731d..049c574 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueSecurityLevelMember.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueSecurityLevelMember.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanIssueSecurityLevelMember { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScheme.java index 9768caa..56ee2a2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanIssueTypeScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeSchemeMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeSchemeMapping.java index eb25071..2372d28 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeSchemeMapping.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeSchemeMapping.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanIssueTypeSchemeMapping { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeSchemeProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeSchemeProjects.java index 084adce..a21f3c5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeSchemeProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeSchemeProjects.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanIssueTypeSchemeProjects { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenScheme.java index 9461163..70c701e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanIssueTypeScreenScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenSchemeItem.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenSchemeItem.java index 6f30552..ca1065c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenSchemeItem.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenSchemeItem.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanIssueTypeScreenSchemeItem { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenSchemesProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenSchemesProjects.java index 5183545..1f6c6c3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenSchemesProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeScreenSchemesProjects.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanIssueTypeScreenSchemesProjects { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeToContextMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeToContextMapping.java new file mode 100644 index 0000000..006060a --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanIssueTypeToContextMapping.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeToContextMapping; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PageBeanIssueTypeToContextMapping { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanIssueTypeToContextMapping pageBeanIssueTypeToContextMapping = (PageBeanIssueTypeToContextMapping) o; + return Objects.equals(this.self, pageBeanIssueTypeToContextMapping.self) && + Objects.equals(this.nextPage, pageBeanIssueTypeToContextMapping.nextPage) && + Objects.equals(this.maxResults, pageBeanIssueTypeToContextMapping.maxResults) && + Objects.equals(this.startAt, pageBeanIssueTypeToContextMapping.startAt) && + Objects.equals(this.total, pageBeanIssueTypeToContextMapping.total) && + Objects.equals(this.isLast, pageBeanIssueTypeToContextMapping.isLast) && + Objects.equals(this.values, pageBeanIssueTypeToContextMapping.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanIssueTypeToContextMapping {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanNotificationScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanNotificationScheme.java index 85adb94..e0d85c1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanNotificationScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanNotificationScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanNotificationScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanProject.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanProject.java index a4789cd..3eb8ad0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanProject.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanProject.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanProject { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanProjectDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanProjectDetails.java new file mode 100644 index 0000000..850e7ca --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanProjectDetails.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectDetails; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PageBeanProjectDetails { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanProjectDetails pageBeanProjectDetails = (PageBeanProjectDetails) o; + return Objects.equals(this.self, pageBeanProjectDetails.self) && + Objects.equals(this.nextPage, pageBeanProjectDetails.nextPage) && + Objects.equals(this.maxResults, pageBeanProjectDetails.maxResults) && + Objects.equals(this.startAt, pageBeanProjectDetails.startAt) && + Objects.equals(this.total, pageBeanProjectDetails.total) && + Objects.equals(this.isLast, pageBeanProjectDetails.isLast) && + Objects.equals(this.values, pageBeanProjectDetails.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanProjectDetails {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreen.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreen.java index eaddea1..9e01740 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreen.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreen.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanScreen { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreenScheme.java index 9363634..fc0fb5f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreenScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreenScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanScreenScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreenWithTab.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreenWithTab.java new file mode 100644 index 0000000..5062be1 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanScreenWithTab.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.ScreenWithTab; + +/** + * A page of items. + */ +@ApiModel(description = "A page of items.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PageBeanScreenWithTab { + @JsonProperty("self") + private URI self; + + @JsonProperty("nextPage") + private URI nextPage; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("total") + private Long total; + + @JsonProperty("isLast") + private Boolean isLast; + + @JsonProperty("values") + private List values = new ArrayList<>(); + + /** + * The URL of the page. + * @return self + **/ + @ApiModelProperty(value = "The URL of the page.") + public URI getSelf() { + return self; + } + + /** + * If there is another page of results, the URL of the next page. + * @return nextPage + **/ + @ApiModelProperty(value = "If there is another page of results, the URL of the next page.") + public URI getNextPage() { + return nextPage; + } + + /** + * The maximum number of items that could be returned. + * @return maxResults + **/ + @ApiModelProperty(value = "The maximum number of items that could be returned.") + public Integer getMaxResults() { + return maxResults; + } + + /** + * The index of the first item returned. + * @return startAt + **/ + @ApiModelProperty(value = "The index of the first item returned.") + public Long getStartAt() { + return startAt; + } + + /** + * The number of items returned. + * @return total + **/ + @ApiModelProperty(value = "The number of items returned.") + public Long getTotal() { + return total; + } + + /** + * Whether this is the last page. + * @return isLast + **/ + @ApiModelProperty(value = "Whether this is the last page.") + public Boolean getIsLast() { + return isLast; + } + + /** + * The list of items. + * @return values + **/ + @ApiModelProperty(value = "The list of items.") + public List getValues() { + return values; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PageBeanScreenWithTab pageBeanScreenWithTab = (PageBeanScreenWithTab) o; + return Objects.equals(this.self, pageBeanScreenWithTab.self) && + Objects.equals(this.nextPage, pageBeanScreenWithTab.nextPage) && + Objects.equals(this.maxResults, pageBeanScreenWithTab.maxResults) && + Objects.equals(this.startAt, pageBeanScreenWithTab.startAt) && + Objects.equals(this.total, pageBeanScreenWithTab.total) && + Objects.equals(this.isLast, pageBeanScreenWithTab.isLast) && + Objects.equals(this.values, pageBeanScreenWithTab.values); + } + + @Override + public int hashCode() { + return Objects.hash(self, nextPage, maxResults, startAt, total, isLast, values); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PageBeanScreenWithTab {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" nextPage: ").append(toIndentedString(nextPage)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" isLast: ").append(toIndentedString(isLast)).append("\n"); + sb.append(" values: ").append(toIndentedString(values)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanString.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanString.java index 5df5627..5d540cb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanString.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanString.java @@ -43,7 +43,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanString { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUser.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUser.java index d638695..54a476b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUser.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUser.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanUser { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUserDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUserDetails.java index b4cd1ac..ca52ee9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUserDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUserDetails.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanUserDetails { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUserKey.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUserKey.java index c7c5cf3..bb5c366 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUserKey.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanUserKey.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanUserKey { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanVersion.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanVersion.java index 902e6ae..76dc268 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanVersion.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanVersion.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanVersion { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWebhook.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWebhook.java index e48024a..87c7079 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWebhook.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWebhook.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanWebhook { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflow.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflow.java index 13bc996..4e62753 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflow.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflow.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanWorkflow { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflowScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflowScheme.java index f2abc52..1751bca 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflowScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflowScheme.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanWorkflowScheme { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflowTransitionRules.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflowTransitionRules.java index 850359a..8449de6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflowTransitionRules.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageBeanWorkflowTransitionRules.java @@ -44,7 +44,7 @@ * A page of items. */ @ApiModel(description = "A page of items.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageBeanWorkflowTransitionRules { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfChangelogs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfChangelogs.java index d867888..8db7df1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfChangelogs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfChangelogs.java @@ -43,7 +43,7 @@ * A page of changelogs. */ @ApiModel(description = "A page of changelogs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageOfChangelogs { @JsonProperty("startAt") private Integer startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfComments.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfComments.java index ac875bb..b9546dd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfComments.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfComments.java @@ -45,7 +45,7 @@ * A page of comments. */ @ApiModel(description = "A page of comments.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageOfComments { @JsonProperty("startAt") private Long startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfDashboards.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfDashboards.java index 45b9ad7..e34598b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfDashboards.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfDashboards.java @@ -43,7 +43,7 @@ * A page containing dashboard details. */ @ApiModel(description = "A page containing dashboard details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageOfDashboards { @JsonProperty("startAt") private Integer startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfWorklogs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfWorklogs.java index 3142617..b588d31 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfWorklogs.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PageOfWorklogs.java @@ -45,7 +45,7 @@ * Paginated list of worklog details */ @ApiModel(description = "Paginated list of worklog details") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PageOfWorklogs { @JsonProperty("startAt") private Integer startAt; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PagedListUserDetailsApplicationUser.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PagedListUserDetailsApplicationUser.java index f514247..9aeb39c 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PagedListUserDetailsApplicationUser.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PagedListUserDetailsApplicationUser.java @@ -43,7 +43,7 @@ * A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40. */ @ApiModel(description = "A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PagedListUserDetailsApplicationUser { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PaginatedResponseComment.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PaginatedResponseComment.java new file mode 100644 index 0000000..82d46ef --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PaginatedResponseComment.java @@ -0,0 +1,186 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.Comment; + +/** + * PaginatedResponseComment + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PaginatedResponseComment { + @JsonProperty("total") + private Long total; + + @JsonProperty("startAt") + private Long startAt; + + @JsonProperty("maxResults") + private Integer maxResults; + + @JsonProperty("results") + private List results = new ArrayList<>(); + + public PaginatedResponseComment total(Long total) { + this.total = total; + return this; + } + + /** + * Get total + * @return total + **/ + @ApiModelProperty(value = "") + public Long getTotal() { + return total; + } + + public void setTotal(Long total) { + this.total = total; + } + + public PaginatedResponseComment startAt(Long startAt) { + this.startAt = startAt; + return this; + } + + /** + * Get startAt + * @return startAt + **/ + @ApiModelProperty(value = "") + public Long getStartAt() { + return startAt; + } + + public void setStartAt(Long startAt) { + this.startAt = startAt; + } + + public PaginatedResponseComment maxResults(Integer maxResults) { + this.maxResults = maxResults; + return this; + } + + /** + * Get maxResults + * @return maxResults + **/ + @ApiModelProperty(value = "") + public Integer getMaxResults() { + return maxResults; + } + + public void setMaxResults(Integer maxResults) { + this.maxResults = maxResults; + } + + public PaginatedResponseComment results(List results) { + this.results = results; + return this; + } + + public PaginatedResponseComment addResultsItem(Comment resultsItem) { + if (this.results == null) { + this.results = new ArrayList<>(); + } + this.results.add(resultsItem); + return this; + } + + /** + * Get results + * @return results + **/ + @ApiModelProperty(value = "") + public List getResults() { + return results; + } + + public void setResults(List results) { + this.results = results; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PaginatedResponseComment paginatedResponseComment = (PaginatedResponseComment) o; + return Objects.equals(this.total, paginatedResponseComment.total) && + Objects.equals(this.startAt, paginatedResponseComment.startAt) && + Objects.equals(this.maxResults, paginatedResponseComment.maxResults) && + Objects.equals(this.results, paginatedResponseComment.results); + } + + @Override + public int hashCode() { + return Objects.hash(total, startAt, maxResults, results); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PaginatedResponseComment {\n"); + + sb.append(" total: ").append(toIndentedString(total)).append("\n"); + sb.append(" startAt: ").append(toIndentedString(startAt)).append("\n"); + sb.append(" maxResults: ").append(toIndentedString(maxResults)).append("\n"); + sb.append(" results: ").append(toIndentedString(results)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ParsedJqlQueries.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ParsedJqlQueries.java index b21936d..34ad890 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ParsedJqlQueries.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ParsedJqlQueries.java @@ -43,7 +43,7 @@ * A list of parsed JQL queries. */ @ApiModel(description = "A list of parsed JQL queries.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ParsedJqlQueries { @JsonProperty("queries") private List queries = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ParsedJqlQuery.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ParsedJqlQuery.java index 631a9b7..e2f06f9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ParsedJqlQuery.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ParsedJqlQuery.java @@ -43,7 +43,7 @@ * Details of a parsed JQL query. */ @ApiModel(description = "Details of a parsed JQL query.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ParsedJqlQuery { @JsonProperty("query") private String query; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionGrant.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionGrant.java index 66cfbef..52be046 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionGrant.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionGrant.java @@ -42,7 +42,7 @@ * Details about a permission granted to a user or group. */ @ApiModel(description = "Details about a permission granted to a user or group.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PermissionGrant { @JsonProperty("id") private Long id; @@ -80,10 +80,10 @@ public PermissionGrant holder(PermissionHolder holder) { } /** - * The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information. + * The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information. * @return holder **/ - @ApiModelProperty(value = "The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information.") + @ApiModelProperty(value = "The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.") public PermissionHolder getHolder() { return holder; } @@ -98,10 +98,10 @@ public PermissionGrant permission(String permission) { } /** - * The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions. + * The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions. * @return permission **/ - @ApiModelProperty(value = "The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions.") + @ApiModelProperty(value = "The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions.") public String getPermission() { return permission; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionGrants.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionGrants.java index 735867d..3cbf410 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionGrants.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionGrants.java @@ -43,7 +43,7 @@ * List of permission grants. */ @ApiModel(description = "List of permission grants.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PermissionGrants { @JsonProperty("permissions") private List permissions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionHolder.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionHolder.java index f457066..94c18fc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionHolder.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionHolder.java @@ -37,10 +37,10 @@ import io.swagger.annotations.ApiModelProperty; /** - * Details of a user, group, field, or project role that holds a permission. See [Holder object](#holder-object) in *Get all permission schemes* for more information. + * Details of a user, group, field, or project role that holds a permission. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information. */ -@ApiModel(description = "Details of a user, group, field, or project role that holds a permission. See [Holder object](#holder-object) in *Get all permission schemes* for more information.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@ApiModel(description = "Details of a user, group, field, or project role that holds a permission. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PermissionHolder { @JsonProperty("type") private String type; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionScheme.java index 49d8130..fb198c9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionScheme.java @@ -47,7 +47,7 @@ * Details of a permission scheme. */ @ApiModel(description = "Details of a permission scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PermissionScheme { @JsonProperty("expand") private String expand; @@ -167,10 +167,10 @@ public PermissionScheme addPermissionsItem(PermissionGrant permissionsItem) { } /** - * The permission scheme to create or update. See [About permission schemes and grants](#about-permission-schemes-and-grants) for more information. + * The permission scheme to create or update. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information. * @return permissions **/ - @ApiModelProperty(value = "The permission scheme to create or update. See [About permission schemes and grants](#about-permission-schemes-and-grants) for more information.") + @ApiModelProperty(value = "The permission scheme to create or update. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information.") public List getPermissions() { return permissions; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionSchemes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionSchemes.java index 99aa114..5a720b2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionSchemes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionSchemes.java @@ -43,7 +43,7 @@ * List of all permission schemes. */ @ApiModel(description = "List of all permission schemes.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PermissionSchemes { @JsonProperty("permissionSchemes") private List permissionSchemes = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Permissions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Permissions.java index 1d9fbc0..9da9b4b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Permissions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Permissions.java @@ -44,7 +44,7 @@ * Details about permissions. */ @ApiModel(description = "Details about permissions.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Permissions { @JsonProperty("permissions") private Map permissions = new HashMap<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionsKeysBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionsKeysBean.java index 68d012b..4b56ca9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionsKeysBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermissionsKeysBean.java @@ -41,7 +41,7 @@ /** * PermissionsKeysBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PermissionsKeysBean { @JsonProperty("permissions") private List permissions = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermittedProjects.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermittedProjects.java index 188290f..9302874 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermittedProjects.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PermittedProjects.java @@ -43,7 +43,7 @@ * A list of projects in which a user is granted permissions. */ @ApiModel(description = "A list of projects in which a user is granted permissions.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PermittedProjects { @JsonProperty("projects") private List projects = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Priority.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Priority.java index 1b2e713..2838d48 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Priority.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Priority.java @@ -42,7 +42,7 @@ * An issue priority. */ @ApiModel(description = "An issue priority.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Priority { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Project.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Project.java index 0d689b1..9e3e31a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Project.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Project.java @@ -43,11 +43,12 @@ import java.util.Map; import java.util.UUID; import org.everit.atlassian.restclient.jiracloud.v3.model.AvatarUrlsBean; -import org.everit.atlassian.restclient.jiracloud.v3.model.Component; import org.everit.atlassian.restclient.jiracloud.v3.model.Hierarchy; import org.everit.atlassian.restclient.jiracloud.v3.model.IssueTypeDetails; import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectCategory; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectComponent; import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectInsight; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectLandingPageInfo; import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectPermissions; import org.everit.atlassian.restclient.jiracloud.v3.model.User; import org.everit.atlassian.restclient.jiracloud.v3.model.Version; @@ -56,7 +57,7 @@ * Details about a project. */ @ApiModel(description = "Details about a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Project { @JsonProperty("expand") private String expand; @@ -77,7 +78,7 @@ public class Project { private User lead; @JsonProperty("components") - private List components = new ArrayList<>(); + private List components = new ArrayList<>(); @JsonProperty("issueTypes") private List issueTypes = new ArrayList<>(); @@ -264,6 +265,9 @@ public static StyleEnum fromValue(String value) { @JsonProperty("archivedBy") private User archivedBy; + @JsonProperty("landingPageInfo") + private ProjectLandingPageInfo landingPageInfo; + /** * Expand options that include additional project details in the response. * @return expand @@ -332,7 +336,7 @@ public User getLead() { * @return components **/ @ApiModelProperty(value = "List of the components contained in the project.") - public List getComponents() { + public List getComponents() { return components; } @@ -481,10 +485,10 @@ public Boolean getIsPrivate() { } /** - * The issue type hierarchy for the project + * The issue type hierarchy for the project. * @return issueTypeHierarchy **/ - @ApiModelProperty(value = "The issue type hierarchy for the project") + @ApiModelProperty(value = "The issue type hierarchy for the project.") public Hierarchy getIssueTypeHierarchy() { return issueTypeHierarchy; } @@ -588,6 +592,15 @@ public User getArchivedBy() { return archivedBy; } + /** + * The project landing page info. + * @return landingPageInfo + **/ + @ApiModelProperty(value = "The project landing page info.") + public ProjectLandingPageInfo getLandingPageInfo() { + return landingPageInfo; + } + @Override public boolean equals(java.lang.Object o) { @@ -630,12 +643,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.deletedBy, project.deletedBy) && Objects.equals(this.archived, project.archived) && Objects.equals(this.archivedDate, project.archivedDate) && - Objects.equals(this.archivedBy, project.archivedBy); + Objects.equals(this.archivedBy, project.archivedBy) && + Objects.equals(this.landingPageInfo, project.landingPageInfo); } @Override public int hashCode() { - return Objects.hash(expand, self, id, key, description, lead, components, issueTypes, url, email, assigneeType, versions, name, roles, avatarUrls, projectCategory, projectTypeKey, simplified, style, favourite, isPrivate, issueTypeHierarchy, permissions, properties, uuid, insight, deleted, retentionTillDate, deletedDate, deletedBy, archived, archivedDate, archivedBy); + return Objects.hash(expand, self, id, key, description, lead, components, issueTypes, url, email, assigneeType, versions, name, roles, avatarUrls, projectCategory, projectTypeKey, simplified, style, favourite, isPrivate, issueTypeHierarchy, permissions, properties, uuid, insight, deleted, retentionTillDate, deletedDate, deletedBy, archived, archivedDate, archivedBy, landingPageInfo); } @@ -677,6 +691,7 @@ public String toString() { sb.append(" archived: ").append(toIndentedString(archived)).append("\n"); sb.append(" archivedDate: ").append(toIndentedString(archivedDate)).append("\n"); sb.append(" archivedBy: ").append(toIndentedString(archivedBy)).append("\n"); + sb.append(" landingPageInfo: ").append(toIndentedString(landingPageInfo)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectAvatars.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectAvatars.java index a78d062..44baf8e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectAvatars.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectAvatars.java @@ -43,7 +43,7 @@ * List of project avatars. */ @ApiModel(description = "List of project avatars.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectAvatars { @JsonProperty("system") private List system = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectCategory.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectCategory.java index b5c2dd1..ccef798 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectCategory.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectCategory.java @@ -41,7 +41,7 @@ * A project category. */ @ApiModel(description = "A project category.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectCategory { @JsonProperty("self") private URI self; @@ -97,10 +97,10 @@ public ProjectCategory description(String description) { } /** - * The description of the project category. Required on create, optional on update. + * The description of the project category. * @return description **/ - @ApiModelProperty(value = "The description of the project category. Required on create, optional on update.") + @ApiModelProperty(value = "The description of the project category.") public String getDescription() { return description; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectComponent.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectComponent.java new file mode 100644 index 0000000..0bd9970 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectComponent.java @@ -0,0 +1,414 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import org.everit.atlassian.restclient.jiracloud.v3.model.User; + +/** + * Details about a project component. + */ +@ApiModel(description = "Details about a project component.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ProjectComponent { + @JsonProperty("self") + private URI self; + + @JsonProperty("id") + private String id; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("lead") + private User lead; + + @JsonProperty("leadUserName") + private String leadUserName; + + @JsonProperty("leadAccountId") + private String leadAccountId; + + /** + * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component. + */ + public enum AssigneeTypeEnum { + PROJECT_DEFAULT("PROJECT_DEFAULT"), + + COMPONENT_LEAD("COMPONENT_LEAD"), + + PROJECT_LEAD("PROJECT_LEAD"), + + UNASSIGNED("UNASSIGNED"); + + private String value; + + AssigneeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AssigneeTypeEnum fromValue(String value) { + for (AssigneeTypeEnum b : AssigneeTypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("assigneeType") + private AssigneeTypeEnum assigneeType; + + @JsonProperty("assignee") + private User assignee; + + /** + * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. + */ + public enum RealAssigneeTypeEnum { + PROJECT_DEFAULT("PROJECT_DEFAULT"), + + COMPONENT_LEAD("COMPONENT_LEAD"), + + PROJECT_LEAD("PROJECT_LEAD"), + + UNASSIGNED("UNASSIGNED"); + + private String value; + + RealAssigneeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static RealAssigneeTypeEnum fromValue(String value) { + for (RealAssigneeTypeEnum b : RealAssigneeTypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("realAssigneeType") + private RealAssigneeTypeEnum realAssigneeType; + + @JsonProperty("realAssignee") + private User realAssignee; + + @JsonProperty("isAssigneeTypeValid") + private Boolean isAssigneeTypeValid; + + @JsonProperty("project") + private String project; + + @JsonProperty("projectId") + private Long projectId; + + /** + * The URL of the component. + * @return self + **/ + @ApiModelProperty(value = "The URL of the component.") + public URI getSelf() { + return self; + } + + /** + * The unique identifier for the component. + * @return id + **/ + @ApiModelProperty(value = "The unique identifier for the component.") + public String getId() { + return id; + } + + public ProjectComponent name(String name) { + this.name = name; + return this; + } + + /** + * The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters. + * @return name + **/ + @ApiModelProperty(value = "The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public ProjectComponent description(String description) { + this.description = description; + return this; + } + + /** + * The description for the component. Optional when creating or updating a component. + * @return description + **/ + @ApiModelProperty(value = "The description for the component. Optional when creating or updating a component.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + /** + * The user details for the component's lead user. + * @return lead + **/ + @ApiModelProperty(value = "The user details for the component's lead user.") + public User getLead() { + return lead; + } + + public ProjectComponent leadUserName(String leadUserName) { + this.leadUserName = leadUserName; + return this; + } + + /** + * This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * @return leadUserName + **/ + @ApiModelProperty(value = "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + public String getLeadUserName() { + return leadUserName; + } + + public void setLeadUserName(String leadUserName) { + this.leadUserName = leadUserName; + } + + public ProjectComponent leadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + return this; + } + + /** + * The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. + * @return leadAccountId + **/ + @ApiModelProperty(value = "The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.") + public String getLeadAccountId() { + return leadAccountId; + } + + public void setLeadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + } + + public ProjectComponent assigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + return this; + } + + /** + * The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component. + * @return assigneeType + **/ + @ApiModelProperty(value = "The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values: * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in. * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component. * `UNASSIGNED` an assignee is not set for issues created with this component. * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in. Default value: `PROJECT_DEFAULT`. Optional when creating or updating a component.") + public AssigneeTypeEnum getAssigneeType() { + return assigneeType; + } + + public void setAssigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + } + + /** + * The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component. + * @return assignee + **/ + @ApiModelProperty(value = "The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.") + public User getAssignee() { + return assignee; + } + + /** + * The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true. + * @return realAssigneeType + **/ + @ApiModelProperty(value = "The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values: * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in. * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in. * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues. * `PROJECT_DEFAULT` when none of the preceding cases are true.") + public RealAssigneeTypeEnum getRealAssigneeType() { + return realAssigneeType; + } + + /** + * The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee. + * @return realAssignee + **/ + @ApiModelProperty(value = "The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.") + public User getRealAssignee() { + return realAssignee; + } + + /** + * Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned. + * @return isAssigneeTypeValid + **/ + @ApiModelProperty(value = "Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.") + public Boolean getIsAssigneeTypeValid() { + return isAssigneeTypeValid; + } + + public ProjectComponent project(String project) { + this.project = project; + return this; + } + + /** + * The key of the project the component is assigned to. Required when creating a component. Can't be updated. + * @return project + **/ + @ApiModelProperty(value = "The key of the project the component is assigned to. Required when creating a component. Can't be updated.") + public String getProject() { + return project; + } + + public void setProject(String project) { + this.project = project; + } + + /** + * The ID of the project the component is assigned to. + * @return projectId + **/ + @ApiModelProperty(value = "The ID of the project the component is assigned to.") + public Long getProjectId() { + return projectId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectComponent projectComponent = (ProjectComponent) o; + return Objects.equals(this.self, projectComponent.self) && + Objects.equals(this.id, projectComponent.id) && + Objects.equals(this.name, projectComponent.name) && + Objects.equals(this.description, projectComponent.description) && + Objects.equals(this.lead, projectComponent.lead) && + Objects.equals(this.leadUserName, projectComponent.leadUserName) && + Objects.equals(this.leadAccountId, projectComponent.leadAccountId) && + Objects.equals(this.assigneeType, projectComponent.assigneeType) && + Objects.equals(this.assignee, projectComponent.assignee) && + Objects.equals(this.realAssigneeType, projectComponent.realAssigneeType) && + Objects.equals(this.realAssignee, projectComponent.realAssignee) && + Objects.equals(this.isAssigneeTypeValid, projectComponent.isAssigneeTypeValid) && + Objects.equals(this.project, projectComponent.project) && + Objects.equals(this.projectId, projectComponent.projectId); + } + + @Override + public int hashCode() { + return Objects.hash(self, id, name, description, lead, leadUserName, leadAccountId, assigneeType, assignee, realAssigneeType, realAssignee, isAssigneeTypeValid, project, projectId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectComponent {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" lead: ").append(toIndentedString(lead)).append("\n"); + sb.append(" leadUserName: ").append(toIndentedString(leadUserName)).append("\n"); + sb.append(" leadAccountId: ").append(toIndentedString(leadAccountId)).append("\n"); + sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); + sb.append(" assignee: ").append(toIndentedString(assignee)).append("\n"); + sb.append(" realAssigneeType: ").append(toIndentedString(realAssigneeType)).append("\n"); + sb.append(" realAssignee: ").append(toIndentedString(realAssignee)).append("\n"); + sb.append(" isAssigneeTypeValid: ").append(toIndentedString(isAssigneeTypeValid)).append("\n"); + sb.append(" project: ").append(toIndentedString(project)).append("\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectDetails.java new file mode 100644 index 0000000..031e631 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectDetails.java @@ -0,0 +1,244 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import org.everit.atlassian.restclient.jiracloud.v3.model.AvatarUrlsBean; +import org.everit.atlassian.restclient.jiracloud.v3.model.UpdatedProjectCategory; + +/** + * Details about a project. + */ +@ApiModel(description = "Details about a project.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ProjectDetails { + @JsonProperty("self") + private String self; + + @JsonProperty("id") + private String id; + + @JsonProperty("key") + private String key; + + @JsonProperty("name") + private String name; + + /** + * The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project. + */ + public enum ProjectTypeKeyEnum { + SOFTWARE("software"), + + SERVICE_DESK("service_desk"), + + BUSINESS("business"); + + private String value; + + ProjectTypeKeyEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static ProjectTypeKeyEnum fromValue(String value) { + for (ProjectTypeKeyEnum b : ProjectTypeKeyEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("projectTypeKey") + private ProjectTypeKeyEnum projectTypeKey; + + @JsonProperty("simplified") + private Boolean simplified; + + @JsonProperty("avatarUrls") + private AvatarUrlsBean avatarUrls; + + @JsonProperty("projectCategory") + private UpdatedProjectCategory projectCategory; + + /** + * The URL of the project details. + * @return self + **/ + @ApiModelProperty(value = "The URL of the project details.") + public String getSelf() { + return self; + } + + public ProjectDetails id(String id) { + this.id = id; + return this; + } + + /** + * The ID of the project. + * @return id + **/ + @ApiModelProperty(value = "The ID of the project.") + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + /** + * The key of the project. + * @return key + **/ + @ApiModelProperty(value = "The key of the project.") + public String getKey() { + return key; + } + + /** + * The name of the project. + * @return name + **/ + @ApiModelProperty(value = "The name of the project.") + public String getName() { + return name; + } + + /** + * The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project. + * @return projectTypeKey + **/ + @ApiModelProperty(value = "The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.") + public ProjectTypeKeyEnum getProjectTypeKey() { + return projectTypeKey; + } + + /** + * Whether or not the project is simplified. + * @return simplified + **/ + @ApiModelProperty(value = "Whether or not the project is simplified.") + public Boolean getSimplified() { + return simplified; + } + + /** + * The URLs of the project's avatars. + * @return avatarUrls + **/ + @ApiModelProperty(value = "The URLs of the project's avatars.") + public AvatarUrlsBean getAvatarUrls() { + return avatarUrls; + } + + /** + * The category the project belongs to. + * @return projectCategory + **/ + @ApiModelProperty(value = "The category the project belongs to.") + public UpdatedProjectCategory getProjectCategory() { + return projectCategory; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectDetails projectDetails = (ProjectDetails) o; + return Objects.equals(this.self, projectDetails.self) && + Objects.equals(this.id, projectDetails.id) && + Objects.equals(this.key, projectDetails.key) && + Objects.equals(this.name, projectDetails.name) && + Objects.equals(this.projectTypeKey, projectDetails.projectTypeKey) && + Objects.equals(this.simplified, projectDetails.simplified) && + Objects.equals(this.avatarUrls, projectDetails.avatarUrls) && + Objects.equals(this.projectCategory, projectDetails.projectCategory); + } + + @Override + public int hashCode() { + return Objects.hash(self, id, key, name, projectTypeKey, simplified, avatarUrls, projectCategory); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectDetails {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" projectTypeKey: ").append(toIndentedString(projectTypeKey)).append("\n"); + sb.append(" simplified: ").append(toIndentedString(simplified)).append("\n"); + sb.append(" avatarUrls: ").append(toIndentedString(avatarUrls)).append("\n"); + sb.append(" projectCategory: ").append(toIndentedString(projectCategory)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectEmailAddress.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectEmailAddress.java index dcb22fa..240d1d2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectEmailAddress.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectEmailAddress.java @@ -40,7 +40,7 @@ * A project's sender email address. */ @ApiModel(description = "A project's sender email address.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectEmailAddress { @JsonProperty("emailAddress") private String emailAddress; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIdentifierBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIdentifierBean.java index f3cca5c..2bff523 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIdentifierBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIdentifierBean.java @@ -40,7 +40,7 @@ * The identifiers for a project. */ @ApiModel(description = "The identifiers for a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectIdentifierBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIdentifiers.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIdentifiers.java index 803d8c2..3a91f8f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIdentifiers.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIdentifiers.java @@ -41,7 +41,7 @@ * Identifiers for a project. */ @ApiModel(description = "Identifiers for a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectIdentifiers { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIds.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIds.java new file mode 100644 index 0000000..e7bcbc0 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIds.java @@ -0,0 +1,114 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * A list of project IDs. + */ +@ApiModel(description = "A list of project IDs.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ProjectIds { + @JsonProperty("projectIds") + private List projectIds = new ArrayList<>(); + + public ProjectIds projectIds(List projectIds) { + this.projectIds = projectIds; + return this; + } + + public ProjectIds addProjectIdsItem(String projectIdsItem) { + this.projectIds.add(projectIdsItem); + return this; + } + + /** + * The IDs of projects. + * @return projectIds + **/ + @ApiModelProperty(required = true, value = "The IDs of projects.") + public List getProjectIds() { + return projectIds; + } + + public void setProjectIds(List projectIds) { + this.projectIds = projectIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectIds projectIds = (ProjectIds) o; + return Objects.equals(this.projectIds, projectIds.projectIds); + } + + @Override + public int hashCode() { + return Objects.hash(projectIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectIds {\n"); + + sb.append(" projectIds: ").append(toIndentedString(projectIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectInsight.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectInsight.java index e9d496f..2997fb1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectInsight.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectInsight.java @@ -41,7 +41,7 @@ * Additional details about a project. */ @ApiModel(description = "Additional details about a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectInsight { @JsonProperty("totalIssueCount") private Long totalIssueCount; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueCreateMetadata.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueCreateMetadata.java index d8d5925..25f8371 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueCreateMetadata.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueCreateMetadata.java @@ -44,7 +44,7 @@ * Details of the issue creation metadata for a project. */ @ApiModel(description = "Details of the issue creation metadata for a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectIssueCreateMetadata { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueSecurityLevels.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueSecurityLevels.java index a93dfe6..07ae818 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueSecurityLevels.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueSecurityLevels.java @@ -43,7 +43,7 @@ * List of issue level security items in a project. */ @ApiModel(description = "List of issue level security items in a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectIssueSecurityLevels { @JsonProperty("levels") private List levels = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeHierarchy.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeHierarchy.java index 217c75e..1dd4b33 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeHierarchy.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeHierarchy.java @@ -43,7 +43,7 @@ * The hierarchy of issue types within a project. */ @ApiModel(description = "The hierarchy of issue types within a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectIssueTypeHierarchy { @JsonProperty("projectId") private Long projectId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeMapping.java new file mode 100644 index 0000000..8f8f770 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeMapping.java @@ -0,0 +1,130 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The project and issue type mapping. + */ +@ApiModel(description = "The project and issue type mapping.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ProjectIssueTypeMapping { + @JsonProperty("projectId") + private String projectId; + + @JsonProperty("issueTypeId") + private String issueTypeId; + + public ProjectIssueTypeMapping projectId(String projectId) { + this.projectId = projectId; + return this; + } + + /** + * The ID of the project. + * @return projectId + **/ + @ApiModelProperty(required = true, value = "The ID of the project.") + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + public ProjectIssueTypeMapping issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the issue type. + * @return issueTypeId + **/ + @ApiModelProperty(required = true, value = "The ID of the issue type.") + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectIssueTypeMapping projectIssueTypeMapping = (ProjectIssueTypeMapping) o; + return Objects.equals(this.projectId, projectIssueTypeMapping.projectId) && + Objects.equals(this.issueTypeId, projectIssueTypeMapping.issueTypeId); + } + + @Override + public int hashCode() { + return Objects.hash(projectId, issueTypeId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectIssueTypeMapping {\n"); + + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeMappings.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeMappings.java new file mode 100644 index 0000000..76484e9 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypeMappings.java @@ -0,0 +1,115 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectIssueTypeMapping; + +/** + * The project and issue type mappings. + */ +@ApiModel(description = "The project and issue type mappings.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ProjectIssueTypeMappings { + @JsonProperty("mappings") + private List mappings = new ArrayList<>(); + + public ProjectIssueTypeMappings mappings(List mappings) { + this.mappings = mappings; + return this; + } + + public ProjectIssueTypeMappings addMappingsItem(ProjectIssueTypeMapping mappingsItem) { + this.mappings.add(mappingsItem); + return this; + } + + /** + * The project and issue type mappings. + * @return mappings + **/ + @ApiModelProperty(required = true, value = "The project and issue type mappings.") + public List getMappings() { + return mappings; + } + + public void setMappings(List mappings) { + this.mappings = mappings; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectIssueTypeMappings projectIssueTypeMappings = (ProjectIssueTypeMappings) o; + return Objects.equals(this.mappings, projectIssueTypeMappings.mappings); + } + + @Override + public int hashCode() { + return Objects.hash(mappings); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectIssueTypeMappings {\n"); + + sb.append(" mappings: ").append(toIndentedString(mappings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypesHierarchyLevel.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypesHierarchyLevel.java index 7c68d33..c218e3f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypesHierarchyLevel.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectIssueTypesHierarchyLevel.java @@ -44,7 +44,7 @@ * Details of an issue type hierarchy level. */ @ApiModel(description = "Details of an issue type hierarchy level.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectIssueTypesHierarchyLevel { @JsonProperty("entityId") private UUID entityId; @@ -59,10 +59,10 @@ public class ProjectIssueTypesHierarchyLevel { private List issueTypes = new ArrayList<>(); /** - * The ID of the issue type hierarchy level. + * The ID of the issue type hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/). * @return entityId **/ - @ApiModelProperty(value = "The ID of the issue type hierarchy level.") + @ApiModelProperty(value = "The ID of the issue type hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).") public UUID getEntityId() { return entityId; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectLandingPageInfo.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectLandingPageInfo.java new file mode 100644 index 0000000..14004cb --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectLandingPageInfo.java @@ -0,0 +1,198 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * ProjectLandingPageInfo + */ +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ProjectLandingPageInfo { + @JsonProperty("url") + private String url; + + @JsonProperty("projectKey") + private String projectKey; + + @JsonProperty("projectType") + private String projectType; + + @JsonProperty("boardId") + private Long boardId; + + @JsonProperty("simplified") + private Boolean simplified; + + public ProjectLandingPageInfo url(String url) { + this.url = url; + return this; + } + + /** + * Get url + * @return url + **/ + @ApiModelProperty(value = "") + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public ProjectLandingPageInfo projectKey(String projectKey) { + this.projectKey = projectKey; + return this; + } + + /** + * Get projectKey + * @return projectKey + **/ + @ApiModelProperty(value = "") + public String getProjectKey() { + return projectKey; + } + + public void setProjectKey(String projectKey) { + this.projectKey = projectKey; + } + + public ProjectLandingPageInfo projectType(String projectType) { + this.projectType = projectType; + return this; + } + + /** + * Get projectType + * @return projectType + **/ + @ApiModelProperty(value = "") + public String getProjectType() { + return projectType; + } + + public void setProjectType(String projectType) { + this.projectType = projectType; + } + + public ProjectLandingPageInfo boardId(Long boardId) { + this.boardId = boardId; + return this; + } + + /** + * Get boardId + * @return boardId + **/ + @ApiModelProperty(value = "") + public Long getBoardId() { + return boardId; + } + + public void setBoardId(Long boardId) { + this.boardId = boardId; + } + + public ProjectLandingPageInfo simplified(Boolean simplified) { + this.simplified = simplified; + return this; + } + + /** + * Get simplified + * @return simplified + **/ + @ApiModelProperty(value = "") + public Boolean getSimplified() { + return simplified; + } + + public void setSimplified(Boolean simplified) { + this.simplified = simplified; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectLandingPageInfo projectLandingPageInfo = (ProjectLandingPageInfo) o; + return Objects.equals(this.url, projectLandingPageInfo.url) && + Objects.equals(this.projectKey, projectLandingPageInfo.projectKey) && + Objects.equals(this.projectType, projectLandingPageInfo.projectType) && + Objects.equals(this.boardId, projectLandingPageInfo.boardId) && + Objects.equals(this.simplified, projectLandingPageInfo.simplified); + } + + @Override + public int hashCode() { + return Objects.hash(url, projectKey, projectType, boardId, simplified); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectLandingPageInfo {\n"); + + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" projectKey: ").append(toIndentedString(projectKey)).append("\n"); + sb.append(" projectType: ").append(toIndentedString(projectType)).append("\n"); + sb.append(" boardId: ").append(toIndentedString(boardId)).append("\n"); + sb.append(" simplified: ").append(toIndentedString(simplified)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectPermissions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectPermissions.java index bb5166b..8679fa0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectPermissions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectPermissions.java @@ -40,7 +40,7 @@ * Permissions which a user has on a project. */ @ApiModel(description = "Permissions which a user has on a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectPermissions { @JsonProperty("canEdit") private Boolean canEdit; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRole.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRole.java index 10b6c20..da8eae0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRole.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRole.java @@ -45,7 +45,7 @@ * Details about the roles in a project. */ @ApiModel(description = "Details about the roles in a project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectRole { @JsonProperty("self") private URI self; @@ -71,12 +71,12 @@ public class ProjectRole { @JsonProperty("currentUserRole") private Boolean currentUserRole; - @JsonProperty("roleConfigurable") - private Boolean roleConfigurable; - @JsonProperty("admin") private Boolean admin; + @JsonProperty("roleConfigurable") + private Boolean roleConfigurable; + @JsonProperty("default") private Boolean _default; @@ -179,15 +179,6 @@ public void setCurrentUserRole(Boolean currentUserRole) { this.currentUserRole = currentUserRole; } - /** - * Whether the roles are configurable for this project. - * @return roleConfigurable - **/ - @ApiModelProperty(value = "Whether the roles are configurable for this project.") - public Boolean getRoleConfigurable() { - return roleConfigurable; - } - /** * Whether this role is the admin role for the project. * @return admin @@ -197,6 +188,15 @@ public Boolean getAdmin() { return admin; } + /** + * Whether the roles are configurable for this project. + * @return roleConfigurable + **/ + @ApiModelProperty(value = "Whether the roles are configurable for this project.") + public Boolean getRoleConfigurable() { + return roleConfigurable; + } + /** * Whether this role is the default role for the project * @return _default @@ -224,14 +224,14 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.scope, projectRole.scope) && Objects.equals(this.translatedName, projectRole.translatedName) && Objects.equals(this.currentUserRole, projectRole.currentUserRole) && - Objects.equals(this.roleConfigurable, projectRole.roleConfigurable) && Objects.equals(this.admin, projectRole.admin) && + Objects.equals(this.roleConfigurable, projectRole.roleConfigurable) && Objects.equals(this._default, projectRole._default); } @Override public int hashCode() { - return Objects.hash(self, name, id, description, actors, scope, translatedName, currentUserRole, roleConfigurable, admin, _default); + return Objects.hash(self, name, id, description, actors, scope, translatedName, currentUserRole, admin, roleConfigurable, _default); } @@ -248,8 +248,8 @@ public String toString() { sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); sb.append(" translatedName: ").append(toIndentedString(translatedName)).append("\n"); sb.append(" currentUserRole: ").append(toIndentedString(currentUserRole)).append("\n"); - sb.append(" roleConfigurable: ").append(toIndentedString(roleConfigurable)).append("\n"); sb.append(" admin: ").append(toIndentedString(admin)).append("\n"); + sb.append(" roleConfigurable: ").append(toIndentedString(roleConfigurable)).append("\n"); sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleActorsUpdateBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleActorsUpdateBean.java index ea78899..8356835 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleActorsUpdateBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleActorsUpdateBean.java @@ -42,7 +42,7 @@ /** * ProjectRoleActorsUpdateBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectRoleActorsUpdateBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleDetails.java new file mode 100644 index 0000000..7ccb940 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleDetails.java @@ -0,0 +1,230 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.net.URI; +import org.everit.atlassian.restclient.jiracloud.v3.model.Scope; + +/** + * Details about a project role. + */ +@ApiModel(description = "Details about a project role.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ProjectRoleDetails { + @JsonProperty("self") + private URI self; + + @JsonProperty("name") + private String name; + + @JsonProperty("id") + private Long id; + + @JsonProperty("description") + private String description; + + @JsonProperty("admin") + private Boolean admin; + + @JsonProperty("scope") + private Scope scope; + + @JsonProperty("roleConfigurable") + private Boolean roleConfigurable; + + @JsonProperty("translatedName") + private String translatedName; + + @JsonProperty("default") + private Boolean _default; + + /** + * The URL the project role details. + * @return self + **/ + @ApiModelProperty(value = "The URL the project role details.") + public URI getSelf() { + return self; + } + + public ProjectRoleDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the project role. + * @return name + **/ + @ApiModelProperty(value = "The name of the project role.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * The ID of the project role. + * @return id + **/ + @ApiModelProperty(value = "The ID of the project role.") + public Long getId() { + return id; + } + + /** + * The description of the project role. + * @return description + **/ + @ApiModelProperty(value = "The description of the project role.") + public String getDescription() { + return description; + } + + /** + * Whether this role is the admin role for the project. + * @return admin + **/ + @ApiModelProperty(value = "Whether this role is the admin role for the project.") + public Boolean getAdmin() { + return admin; + } + + /** + * The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO). + * @return scope + **/ + @ApiModelProperty(value = "The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).") + public Scope getScope() { + return scope; + } + + /** + * Whether the roles are configurable for this project. + * @return roleConfigurable + **/ + @ApiModelProperty(value = "Whether the roles are configurable for this project.") + public Boolean getRoleConfigurable() { + return roleConfigurable; + } + + public ProjectRoleDetails translatedName(String translatedName) { + this.translatedName = translatedName; + return this; + } + + /** + * The translated name of the project role. + * @return translatedName + **/ + @ApiModelProperty(value = "The translated name of the project role.") + public String getTranslatedName() { + return translatedName; + } + + public void setTranslatedName(String translatedName) { + this.translatedName = translatedName; + } + + /** + * Whether this role is the default role for the project. + * @return _default + **/ + @ApiModelProperty(value = "Whether this role is the default role for the project.") + public Boolean getDefault() { + return _default; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ProjectRoleDetails projectRoleDetails = (ProjectRoleDetails) o; + return Objects.equals(this.self, projectRoleDetails.self) && + Objects.equals(this.name, projectRoleDetails.name) && + Objects.equals(this.id, projectRoleDetails.id) && + Objects.equals(this.description, projectRoleDetails.description) && + Objects.equals(this.admin, projectRoleDetails.admin) && + Objects.equals(this.scope, projectRoleDetails.scope) && + Objects.equals(this.roleConfigurable, projectRoleDetails.roleConfigurable) && + Objects.equals(this.translatedName, projectRoleDetails.translatedName) && + Objects.equals(this._default, projectRoleDetails._default); + } + + @Override + public int hashCode() { + return Objects.hash(self, name, id, description, admin, scope, roleConfigurable, translatedName, _default); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ProjectRoleDetails {\n"); + + sb.append(" self: ").append(toIndentedString(self)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" admin: ").append(toIndentedString(admin)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" roleConfigurable: ").append(toIndentedString(roleConfigurable)).append("\n"); + sb.append(" translatedName: ").append(toIndentedString(translatedName)).append("\n"); + sb.append(" _default: ").append(toIndentedString(_default)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleGroup.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleGroup.java index 21f86e9..8f08168 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleGroup.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleGroup.java @@ -40,7 +40,7 @@ * Details of the group associated with the role. */ @ApiModel(description = "Details of the group associated with the role.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectRoleGroup { @JsonProperty("displayName") private String displayName; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleUser.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleUser.java index 738493e..13e3fed 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleUser.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectRoleUser.java @@ -40,7 +40,7 @@ * Details of the user associated with the role. */ @ApiModel(description = "Details of the user associated with the role.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectRoleUser { @JsonProperty("accountId") private String accountId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectScopeBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectScopeBean.java index afb8d0c..ca99f59 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectScopeBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectScopeBean.java @@ -41,7 +41,7 @@ /** * ProjectScopeBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectScopeBean { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectType.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectType.java index 7b7b585..a53d30f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectType.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ProjectType.java @@ -40,7 +40,7 @@ * Details about a project type. */ @ApiModel(description = "Details about a project type.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ProjectType { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PropertyKey.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PropertyKey.java index dc9353b..3bd3489 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PropertyKey.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PropertyKey.java @@ -40,7 +40,7 @@ * Property key details. */ @ApiModel(description = "Property key details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PropertyKey { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PropertyKeys.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PropertyKeys.java index 6ce5c25..a43e84b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PropertyKeys.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PropertyKeys.java @@ -43,7 +43,7 @@ * List of property keys. */ @ApiModel(description = "List of property keys.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PropertyKeys { @JsonProperty("keys") private List keys = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PublishDraftWorkflowScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PublishDraftWorkflowScheme.java new file mode 100644 index 0000000..2812cff --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PublishDraftWorkflowScheme.java @@ -0,0 +1,118 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.StatusMapping; + +/** + * Details about the status mappings for publishing a draft workflow scheme. + */ +@ApiModel(description = "Details about the status mappings for publishing a draft workflow scheme.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class PublishDraftWorkflowScheme { + @JsonProperty("statusMappings") + private List statusMappings = new ArrayList<>(); + + public PublishDraftWorkflowScheme statusMappings(List statusMappings) { + this.statusMappings = statusMappings; + return this; + } + + public PublishDraftWorkflowScheme addStatusMappingsItem(StatusMapping statusMappingsItem) { + if (this.statusMappings == null) { + this.statusMappings = new ArrayList<>(); + } + this.statusMappings.add(statusMappingsItem); + return this; + } + + /** + * Mappings of statuses to new statuses for issue types. + * @return statusMappings + **/ + @ApiModelProperty(value = "Mappings of statuses to new statuses for issue types.") + public List getStatusMappings() { + return statusMappings; + } + + public void setStatusMappings(List statusMappings) { + this.statusMappings = statusMappings; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PublishDraftWorkflowScheme publishDraftWorkflowScheme = (PublishDraftWorkflowScheme) o; + return Objects.equals(this.statusMappings, publishDraftWorkflowScheme.statusMappings); + } + + @Override + public int hashCode() { + return Objects.hash(statusMappings); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class PublishDraftWorkflowScheme {\n"); + + sb.append(" statusMappings: ").append(toIndentedString(statusMappings)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PublishedWorkflowId.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PublishedWorkflowId.java index aa9d460..541a8c3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PublishedWorkflowId.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/PublishedWorkflowId.java @@ -40,11 +40,14 @@ * Properties that identify a published workflow. */ @ApiModel(description = "Properties that identify a published workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class PublishedWorkflowId { @JsonProperty("name") private String name; + @JsonProperty("entityId") + private String entityId; + public PublishedWorkflowId name(String name) { this.name = name; return this; @@ -63,6 +66,24 @@ public void setName(String name) { this.name = name; } + public PublishedWorkflowId entityId(String entityId) { + this.entityId = entityId; + return this; + } + + /** + * The entity ID of the workflow. + * @return entityId + **/ + @ApiModelProperty(value = "The entity ID of the workflow.") + public String getEntityId() { + return entityId; + } + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + @Override public boolean equals(java.lang.Object o) { @@ -73,12 +94,13 @@ public boolean equals(java.lang.Object o) { return false; } PublishedWorkflowId publishedWorkflowId = (PublishedWorkflowId) o; - return Objects.equals(this.name, publishedWorkflowId.name); + return Objects.equals(this.name, publishedWorkflowId.name) && + Objects.equals(this.entityId, publishedWorkflowId.entityId); } @Override public int hashCode() { - return Objects.hash(name); + return Objects.hash(name, entityId); } @@ -88,6 +110,7 @@ public String toString() { sb.append("class PublishedWorkflowId {\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RegisteredWebhook.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RegisteredWebhook.java index e47fb3d..33176a9 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RegisteredWebhook.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RegisteredWebhook.java @@ -42,7 +42,7 @@ * ID of a registered webhook or error messages explaining why a webhook wasn't registered. */ @ApiModel(description = "ID of a registered webhook or error messages explaining why a webhook wasn't registered.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RegisteredWebhook { @JsonProperty("createdWebhookId") private Long createdWebhookId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLink.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLink.java index 79e80c7..20845fb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLink.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLink.java @@ -43,7 +43,7 @@ * Details of an issue remote link. */ @ApiModel(description = "Details of an issue remote link.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RemoteIssueLink { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLinkIdentifies.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLinkIdentifies.java index d750c95..b1df4b2 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLinkIdentifies.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLinkIdentifies.java @@ -40,7 +40,7 @@ * Details of the identifiers for a created or updated remote issue link. */ @ApiModel(description = "Details of the identifiers for a created or updated remote issue link.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RemoteIssueLinkIdentifies { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLinkRequest.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLinkRequest.java index 9f79a9c..817769a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLinkRequest.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteIssueLinkRequest.java @@ -44,7 +44,7 @@ * Details of a remote issue link. */ @ApiModel(description = "Details of a remote issue link.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RemoteIssueLinkRequest { @JsonProperty("globalId") private String globalId; @@ -123,7 +123,7 @@ public RemoteIssueLinkRequest _object(RemoteObject _object) { * Details of the item linked to. * @return _object **/ - @ApiModelProperty(value = "Details of the item linked to.") + @ApiModelProperty(required = true, value = "Details of the item linked to.") public RemoteObject getObject() { return _object; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteObject.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteObject.java index f207335..19c2c41 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteObject.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoteObject.java @@ -44,7 +44,7 @@ * The linked item. */ @ApiModel(description = "The linked item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RemoteObject { @JsonProperty("url") private String url; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoveOptionFromIssuesResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoveOptionFromIssuesResult.java index b001b75..2c90b64 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoveOptionFromIssuesResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RemoveOptionFromIssuesResult.java @@ -42,7 +42,7 @@ /** * RemoveOptionFromIssuesResult */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RemoveOptionFromIssuesResult { @JsonProperty("modifiedIssues") private List modifiedIssues = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Resolution.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Resolution.java index 5c64c97..2d2cfc1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Resolution.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Resolution.java @@ -41,7 +41,7 @@ * Details of an issue resolution. */ @ApiModel(description = "Details of an issue resolution.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Resolution { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RestrictedPermission.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RestrictedPermission.java index aaa2d93..de82da1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RestrictedPermission.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RestrictedPermission.java @@ -42,7 +42,7 @@ * Details of the permission. */ @ApiModel(description = "Details of the permission.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RestrictedPermission { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RichText.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RichText.java index f93d63a..a69ed64 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RichText.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RichText.java @@ -39,11 +39,14 @@ /** * RichText */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RichText { @JsonProperty("emptyAdf") private Boolean emptyAdf; + @JsonProperty("finalised") + private Boolean finalised; + @JsonProperty("valueSet") private Boolean valueSet; @@ -65,6 +68,24 @@ public void setEmptyAdf(Boolean emptyAdf) { this.emptyAdf = emptyAdf; } + public RichText finalised(Boolean finalised) { + this.finalised = finalised; + return this; + } + + /** + * Get finalised + * @return finalised + **/ + @ApiModelProperty(value = "") + public Boolean getFinalised() { + return finalised; + } + + public void setFinalised(Boolean finalised) { + this.finalised = finalised; + } + public RichText valueSet(Boolean valueSet) { this.valueSet = valueSet; return this; @@ -94,12 +115,13 @@ public boolean equals(java.lang.Object o) { } RichText richText = (RichText) o; return Objects.equals(this.emptyAdf, richText.emptyAdf) && + Objects.equals(this.finalised, richText.finalised) && Objects.equals(this.valueSet, richText.valueSet); } @Override public int hashCode() { - return Objects.hash(emptyAdf, valueSet); + return Objects.hash(emptyAdf, finalised, valueSet); } @@ -109,6 +131,7 @@ public String toString() { sb.append("class RichText {\n"); sb.append(" emptyAdf: ").append(toIndentedString(emptyAdf)).append("\n"); + sb.append(" finalised: ").append(toIndentedString(finalised)).append("\n"); sb.append(" valueSet: ").append(toIndentedString(valueSet)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RoleActor.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RoleActor.java index 83bf1b6..9adbc90 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RoleActor.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RoleActor.java @@ -43,7 +43,7 @@ * Details about a user assigned to a project role. */ @ApiModel(description = "Details about a user assigned to a project role.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RoleActor { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RuleConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RuleConfiguration.java index 66489f8..abe4efc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RuleConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/RuleConfiguration.java @@ -40,11 +40,17 @@ * A rule configuration. */ @ApiModel(description = "A rule configuration.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class RuleConfiguration { @JsonProperty("value") private String value; + @JsonProperty("disabled") + private Boolean disabled = false; + + @JsonProperty("tag") + private String tag; + public RuleConfiguration value(String value) { this.value = value; return this; @@ -63,6 +69,42 @@ public void setValue(String value) { this.value = value; } + public RuleConfiguration disabled(Boolean disabled) { + this.disabled = disabled; + return this; + } + + /** + * EXPERIMENTAL: Whether the rule is disabled. + * @return disabled + **/ + @ApiModelProperty(value = "EXPERIMENTAL: Whether the rule is disabled.") + public Boolean getDisabled() { + return disabled; + } + + public void setDisabled(Boolean disabled) { + this.disabled = disabled; + } + + public RuleConfiguration tag(String tag) { + this.tag = tag; + return this; + } + + /** + * EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get). + * @return tag + **/ + @ApiModelProperty(value = "EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).") + public String getTag() { + return tag; + } + + public void setTag(String tag) { + this.tag = tag; + } + @Override public boolean equals(java.lang.Object o) { @@ -73,12 +115,14 @@ public boolean equals(java.lang.Object o) { return false; } RuleConfiguration ruleConfiguration = (RuleConfiguration) o; - return Objects.equals(this.value, ruleConfiguration.value); + return Objects.equals(this.value, ruleConfiguration.value) && + Objects.equals(this.disabled, ruleConfiguration.disabled) && + Objects.equals(this.tag, ruleConfiguration.tag); } @Override public int hashCode() { - return Objects.hash(value); + return Objects.hash(value, disabled, tag); } @@ -88,6 +132,8 @@ public String toString() { sb.append("class RuleConfiguration {\n"); sb.append(" value: ").append(toIndentedString(value)).append("\n"); + sb.append(" disabled: ").append(toIndentedString(disabled)).append("\n"); + sb.append(" tag: ").append(toIndentedString(tag)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Scope.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Scope.java index a494df9..0c6e227 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Scope.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Scope.java @@ -37,13 +37,13 @@ import io.swagger.annotations.ApiModelProperty; import java.util.HashMap; import java.util.Map; -import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectForScope; +import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectDetails; /** * The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO). */ @ApiModel(description = "The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Scope { /** * The type of scope. @@ -84,7 +84,7 @@ public static TypeEnum fromValue(String value) { private TypeEnum type; @JsonProperty("project") - private ProjectForScope project; + private ProjectDetails project; private HashMap additionalProperties_ = new HashMap(); @@ -102,7 +102,7 @@ public TypeEnum getType() { * @return project **/ @ApiModelProperty(value = "The project the item has scope in.") - public ProjectForScope getProject() { + public ProjectDetails getProject() { return project; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Screen.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Screen.java index ae67b6a..2b9e922 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Screen.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Screen.java @@ -41,7 +41,7 @@ * A screen. */ @ApiModel(description = "A screen.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Screen { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenDetails.java index 3c8a807..fac4f10 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenDetails.java @@ -40,7 +40,7 @@ * Details of a screen. */ @ApiModel(description = "Details of a screen.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ScreenDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenID.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenID.java index fccba5e..a01908a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenID.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenID.java @@ -40,7 +40,7 @@ * ID of a screen. */ @ApiModel(description = "ID of a screen.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ScreenID { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenScheme.java index c88887e..755affa 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenScheme.java @@ -35,13 +35,14 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import org.everit.atlassian.restclient.jiracloud.v3.model.PageBeanIssueTypeScreenScheme; import org.everit.atlassian.restclient.jiracloud.v3.model.ScreenTypes; /** * A screen scheme. */ @ApiModel(description = "A screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ScreenScheme { @JsonProperty("id") private Long id; @@ -55,6 +56,9 @@ public class ScreenScheme { @JsonProperty("screens") private ScreenTypes screens; + @JsonProperty("issueTypeScreenSchemes") + private PageBeanIssueTypeScreenScheme issueTypeScreenSchemes; + public ScreenScheme id(Long id) { this.id = id; return this; @@ -127,6 +131,24 @@ public void setScreens(ScreenTypes screens) { this.screens = screens; } + public ScreenScheme issueTypeScreenSchemes(PageBeanIssueTypeScreenScheme issueTypeScreenSchemes) { + this.issueTypeScreenSchemes = issueTypeScreenSchemes; + return this; + } + + /** + * Details of the issue type screen schemes associated with the screen scheme. + * @return issueTypeScreenSchemes + **/ + @ApiModelProperty(value = "Details of the issue type screen schemes associated with the screen scheme.") + public PageBeanIssueTypeScreenScheme getIssueTypeScreenSchemes() { + return issueTypeScreenSchemes; + } + + public void setIssueTypeScreenSchemes(PageBeanIssueTypeScreenScheme issueTypeScreenSchemes) { + this.issueTypeScreenSchemes = issueTypeScreenSchemes; + } + @Override public boolean equals(java.lang.Object o) { @@ -140,12 +162,13 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.id, screenScheme.id) && Objects.equals(this.name, screenScheme.name) && Objects.equals(this.description, screenScheme.description) && - Objects.equals(this.screens, screenScheme.screens); + Objects.equals(this.screens, screenScheme.screens) && + Objects.equals(this.issueTypeScreenSchemes, screenScheme.issueTypeScreenSchemes); } @Override public int hashCode() { - return Objects.hash(id, name, description, screens); + return Objects.hash(id, name, description, screens, issueTypeScreenSchemes); } @@ -158,6 +181,7 @@ public String toString() { sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" screens: ").append(toIndentedString(screens)).append("\n"); + sb.append(" issueTypeScreenSchemes: ").append(toIndentedString(issueTypeScreenSchemes)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenSchemeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenSchemeDetails.java index 0cf26f9..86d3405 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenSchemeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenSchemeDetails.java @@ -41,7 +41,7 @@ * Details of a screen scheme. */ @ApiModel(description = "Details of a screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ScreenSchemeDetails { @JsonProperty("name") private String name; @@ -97,7 +97,7 @@ public ScreenSchemeDetails screens(ScreenTypes screens) { * The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted. * @return screens **/ - @ApiModelProperty(value = "The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.") + @ApiModelProperty(required = true, value = "The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.") public ScreenTypes getScreens() { return screens; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenSchemeId.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenSchemeId.java index 32e2b09..817e46b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenSchemeId.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenSchemeId.java @@ -40,7 +40,7 @@ * The ID of a screen scheme. */ @ApiModel(description = "The ID of a screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ScreenSchemeId { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenTypes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenTypes.java index 2bb2e02..71860a0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenTypes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenTypes.java @@ -40,7 +40,7 @@ * The IDs of the screens for the screen types of the screen scheme. */ @ApiModel(description = "The IDs of the screens for the screen types of the screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ScreenTypes { @JsonProperty("edit") private Long edit; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenWithTab.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenWithTab.java new file mode 100644 index 0000000..76d4e06 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenWithTab.java @@ -0,0 +1,174 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import org.everit.atlassian.restclient.jiracloud.v3.model.Scope; +import org.everit.atlassian.restclient.jiracloud.v3.model.ScreenableTab; + +/** + * A screen with tab details. + */ +@ApiModel(description = "A screen with tab details.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class ScreenWithTab { + @JsonProperty("id") + private Long id; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("scope") + private Scope scope; + + @JsonProperty("tab") + private ScreenableTab tab; + + /** + * The ID of the screen. + * @return id + **/ + @ApiModelProperty(value = "The ID of the screen.") + public Long getId() { + return id; + } + + /** + * The name of the screen. + * @return name + **/ + @ApiModelProperty(value = "The name of the screen.") + public String getName() { + return name; + } + + /** + * The description of the screen. + * @return description + **/ + @ApiModelProperty(value = "The description of the screen.") + public String getDescription() { + return description; + } + + public ScreenWithTab scope(Scope scope) { + this.scope = scope; + return this; + } + + /** + * The scope of the screen. + * @return scope + **/ + @ApiModelProperty(value = "The scope of the screen.") + public Scope getScope() { + return scope; + } + + public void setScope(Scope scope) { + this.scope = scope; + } + + public ScreenWithTab tab(ScreenableTab tab) { + this.tab = tab; + return this; + } + + /** + * The tab for the screen. + * @return tab + **/ + @ApiModelProperty(value = "The tab for the screen.") + public ScreenableTab getTab() { + return tab; + } + + public void setTab(ScreenableTab tab) { + this.tab = tab; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ScreenWithTab screenWithTab = (ScreenWithTab) o; + return Objects.equals(this.id, screenWithTab.id) && + Objects.equals(this.name, screenWithTab.name) && + Objects.equals(this.description, screenWithTab.description) && + Objects.equals(this.scope, screenWithTab.scope) && + Objects.equals(this.tab, screenWithTab.tab); + } + + @Override + public int hashCode() { + return Objects.hash(id, name, description, scope, tab); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class ScreenWithTab {\n"); + + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" scope: ").append(toIndentedString(scope)).append("\n"); + sb.append(" tab: ").append(toIndentedString(tab)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenableField.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenableField.java index 6674ded..fdd36d5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenableField.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenableField.java @@ -40,7 +40,7 @@ * A screen tab field. */ @ApiModel(description = "A screen tab field.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ScreenableField { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenableTab.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenableTab.java index 66d9fa7..a22a264 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenableTab.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ScreenableTab.java @@ -40,7 +40,7 @@ * A screen tab. */ @ApiModel(description = "A screen tab.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ScreenableTab { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchAutoCompleteFilter.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchAutoCompleteFilter.java new file mode 100644 index 0000000..2e14c37 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchAutoCompleteFilter.java @@ -0,0 +1,140 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * Details of how to filter and list search auto complete information. + */ +@ApiModel(description = "Details of how to filter and list search auto complete information.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class SearchAutoCompleteFilter { + @JsonProperty("projectIds") + private List projectIds = new ArrayList<>(); + + @JsonProperty("includeCollapsedFields") + private Boolean includeCollapsedFields = false; + + public SearchAutoCompleteFilter projectIds(List projectIds) { + this.projectIds = projectIds; + return this; + } + + public SearchAutoCompleteFilter addProjectIdsItem(Long projectIdsItem) { + if (this.projectIds == null) { + this.projectIds = new ArrayList<>(); + } + this.projectIds.add(projectIdsItem); + return this; + } + + /** + * List of project IDs used to filter the visible field details returned. + * @return projectIds + **/ + @ApiModelProperty(value = "List of project IDs used to filter the visible field details returned.") + public List getProjectIds() { + return projectIds; + } + + public void setProjectIds(List projectIds) { + this.projectIds = projectIds; + } + + public SearchAutoCompleteFilter includeCollapsedFields(Boolean includeCollapsedFields) { + this.includeCollapsedFields = includeCollapsedFields; + return this; + } + + /** + * Include collapsed fields for fields that have non-unique names. + * @return includeCollapsedFields + **/ + @ApiModelProperty(value = "Include collapsed fields for fields that have non-unique names.") + public Boolean getIncludeCollapsedFields() { + return includeCollapsedFields; + } + + public void setIncludeCollapsedFields(Boolean includeCollapsedFields) { + this.includeCollapsedFields = includeCollapsedFields; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SearchAutoCompleteFilter searchAutoCompleteFilter = (SearchAutoCompleteFilter) o; + return Objects.equals(this.projectIds, searchAutoCompleteFilter.projectIds) && + Objects.equals(this.includeCollapsedFields, searchAutoCompleteFilter.includeCollapsedFields); + } + + @Override + public int hashCode() { + return Objects.hash(projectIds, includeCollapsedFields); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class SearchAutoCompleteFilter {\n"); + + sb.append(" projectIds: ").append(toIndentedString(projectIds)).append("\n"); + sb.append(" includeCollapsedFields: ").append(toIndentedString(includeCollapsedFields)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchRequestBean.java index 0313b1b..4f25a36 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchRequestBean.java @@ -41,7 +41,7 @@ /** * SearchRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SearchRequestBean { @JsonProperty("jql") private String jql; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchResults.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchResults.java index f458462..cec267f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchResults.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SearchResults.java @@ -46,7 +46,7 @@ * The result of a JQL search. */ @ApiModel(description = "The result of a JQL search.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SearchResults { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecurityLevel.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecurityLevel.java index 23fc931..d18b3cd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecurityLevel.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecurityLevel.java @@ -40,7 +40,7 @@ * Details of an issue level security item. */ @ApiModel(description = "Details of an issue level security item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SecurityLevel { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecurityScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecurityScheme.java index d0b3126..164c16f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecurityScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecurityScheme.java @@ -43,7 +43,7 @@ * Details about a security scheme. */ @ApiModel(description = "Details about a security scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SecurityScheme { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecuritySchemes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecuritySchemes.java index 88d5f92..5a241c0 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecuritySchemes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SecuritySchemes.java @@ -43,7 +43,7 @@ * List of security schemes. */ @ApiModel(description = "List of security schemes.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SecuritySchemes { @JsonProperty("issueSecuritySchemes") private List issueSecuritySchemes = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ServerInformation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ServerInformation.java index 9f45840..264c113 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ServerInformation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ServerInformation.java @@ -44,7 +44,7 @@ * Details about the Jira instance. */ @ApiModel(description = "Details about the Jira instance.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ServerInformation { @JsonProperty("baseUrl") private String baseUrl; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SharePermission.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SharePermission.java index 978cf95..0defd04 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SharePermission.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SharePermission.java @@ -38,20 +38,23 @@ import org.everit.atlassian.restclient.jiracloud.v3.model.GroupName; import org.everit.atlassian.restclient.jiracloud.v3.model.Project; import org.everit.atlassian.restclient.jiracloud.v3.model.ProjectRole; +import org.everit.atlassian.restclient.jiracloud.v3.model.UserBean; /** * Details of a share permission for the filter. */ @ApiModel(description = "Details of a share permission for the filter.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SharePermission { @JsonProperty("id") private Long id; /** - * The type of share permission: * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request. + * The type of share permission: * `user` Shared with a user. * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request. */ public enum TypeEnum { + USER("user"), + GROUP("group"), PROJECT("project"), @@ -105,6 +108,9 @@ public static TypeEnum fromValue(String value) { @JsonProperty("group") private GroupName group; + @JsonProperty("user") + private UserBean user; + /** * The unique identifier of the share permission. * @return id @@ -120,10 +126,10 @@ public SharePermission type(TypeEnum type) { } /** - * The type of share permission: * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request. + * The type of share permission: * `user` Shared with a user. * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request. * @return type **/ - @ApiModelProperty(required = true, value = "The type of share permission: * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.") + @ApiModelProperty(required = true, value = "The type of share permission: * `user` Shared with a user. * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well. * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well. * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`. * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified. * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`. * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.") public TypeEnum getType() { return type; } @@ -186,6 +192,24 @@ public void setGroup(GroupName group) { this.group = group; } + public SharePermission user(UserBean user) { + this.user = user; + return this; + } + + /** + * The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user. + * @return user + **/ + @ApiModelProperty(value = "The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user.") + public UserBean getUser() { + return user; + } + + public void setUser(UserBean user) { + this.user = user; + } + @Override public boolean equals(java.lang.Object o) { @@ -200,12 +224,13 @@ public boolean equals(java.lang.Object o) { Objects.equals(this.type, sharePermission.type) && Objects.equals(this.project, sharePermission.project) && Objects.equals(this.role, sharePermission.role) && - Objects.equals(this.group, sharePermission.group); + Objects.equals(this.group, sharePermission.group) && + Objects.equals(this.user, sharePermission.user); } @Override public int hashCode() { - return Objects.hash(id, type, project, role, group); + return Objects.hash(id, type, project, role, group, user); } @@ -219,6 +244,7 @@ public String toString() { sb.append(" project: ").append(toIndentedString(project)).append("\n"); sb.append(" role: ").append(toIndentedString(role)).append("\n"); sb.append(" group: ").append(toIndentedString(group)).append("\n"); + sb.append(" user: ").append(toIndentedString(user)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SharePermissionInputBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SharePermissionInputBean.java index dd707ce..ef14d57 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SharePermissionInputBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SharePermissionInputBean.java @@ -39,12 +39,14 @@ /** * SharePermissionInputBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SharePermissionInputBean { /** - * The type of the share permission.Specify the type as follows: * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. + * The type of the share permission.Specify the type as follows: * `user` Share with a user. * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. */ public enum TypeEnum { + USER("user"), + PROJECT("project"), GROUP("group"), @@ -94,16 +96,22 @@ public static TypeEnum fromValue(String value) { @JsonProperty("projectRoleId") private String projectRoleId; + @JsonProperty("accountId") + private String accountId; + + @JsonProperty("rights") + private Integer rights; + public SharePermissionInputBean type(TypeEnum type) { this.type = type; return this; } /** - * The type of the share permission.Specify the type as follows: * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. + * The type of the share permission.Specify the type as follows: * `user` Share with a user. * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * @return type **/ - @ApiModelProperty(required = true, value = "The type of the share permission.Specify the type as follows: * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.") + @ApiModelProperty(required = true, value = "The type of the share permission.Specify the type as follows: * `user` Share with a user. * `group` Share with a group. Specify `groupname` as well. * `project` Share with a project. Specify `projectId` as well. * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well. * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set. * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.") public TypeEnum getType() { return type; } @@ -166,6 +174,42 @@ public void setProjectRoleId(String projectRoleId) { this.projectRoleId = projectRoleId; } + public SharePermissionInputBean accountId(String accountId) { + this.accountId = accountId; + return this; + } + + /** + * The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user. + * @return accountId + **/ + @ApiModelProperty(value = "The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user.") + public String getAccountId() { + return accountId; + } + + public void setAccountId(String accountId) { + this.accountId = accountId; + } + + public SharePermissionInputBean rights(Integer rights) { + this.rights = rights; + return this; + } + + /** + * The rights for the share permission. + * @return rights + **/ + @ApiModelProperty(value = "The rights for the share permission.") + public Integer getRights() { + return rights; + } + + public void setRights(Integer rights) { + this.rights = rights; + } + @Override public boolean equals(java.lang.Object o) { @@ -179,12 +223,14 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.type, sharePermissionInputBean.type) && Objects.equals(this.projectId, sharePermissionInputBean.projectId) && Objects.equals(this.groupname, sharePermissionInputBean.groupname) && - Objects.equals(this.projectRoleId, sharePermissionInputBean.projectRoleId); + Objects.equals(this.projectRoleId, sharePermissionInputBean.projectRoleId) && + Objects.equals(this.accountId, sharePermissionInputBean.accountId) && + Objects.equals(this.rights, sharePermissionInputBean.rights); } @Override public int hashCode() { - return Objects.hash(type, projectId, groupname, projectRoleId); + return Objects.hash(type, projectId, groupname, projectRoleId, accountId, rights); } @@ -197,6 +243,8 @@ public String toString() { sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); sb.append(" groupname: ").append(toIndentedString(groupname)).append("\n"); sb.append(" projectRoleId: ").append(toIndentedString(projectRoleId)).append("\n"); + sb.append(" accountId: ").append(toIndentedString(accountId)).append("\n"); + sb.append(" rights: ").append(toIndentedString(rights)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleApplicationPropertyBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleApplicationPropertyBean.java index c0478a7..f099adb 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleApplicationPropertyBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleApplicationPropertyBean.java @@ -39,7 +39,7 @@ /** * SimpleApplicationPropertyBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SimpleApplicationPropertyBean { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleErrorCollection.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleErrorCollection.java index 3e00e24..4eee7cc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleErrorCollection.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleErrorCollection.java @@ -43,7 +43,7 @@ /** * SimpleErrorCollection */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SimpleErrorCollection { @JsonProperty("errors") private Map errors = new HashMap<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleLink.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleLink.java index 1430818..71c36a3 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleLink.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleLink.java @@ -40,7 +40,7 @@ * Details about the operations available in this version. */ @ApiModel(description = "Details about the operations available in this version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SimpleLink { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleListWrapperApplicationRole.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleListWrapperApplicationRole.java index 8a1170d..4827252 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleListWrapperApplicationRole.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleListWrapperApplicationRole.java @@ -42,7 +42,7 @@ /** * SimpleListWrapperApplicationRole */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SimpleListWrapperApplicationRole { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleListWrapperGroupName.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleListWrapperGroupName.java index 0ef2568..f23c759 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleListWrapperGroupName.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SimpleListWrapperGroupName.java @@ -42,7 +42,7 @@ /** * SimpleListWrapperGroupName */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SimpleListWrapperGroupName { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Status.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Status.java index db6f4cc..70c0c15 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Status.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Status.java @@ -43,7 +43,7 @@ * The status of the item. */ @ApiModel(description = "The status of the item.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Status { @JsonProperty("resolved") private Boolean resolved; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusCategory.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusCategory.java index 41b4397..f1d4b1d 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusCategory.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusCategory.java @@ -42,7 +42,7 @@ * A status category. */ @ApiModel(description = "A status category.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class StatusCategory { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusDetails.java index 48c5753..4d98232 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusDetails.java @@ -43,7 +43,7 @@ * A status. */ @ApiModel(description = "A status.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class StatusDetails { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusMapping.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusMapping.java new file mode 100644 index 0000000..a3b8632 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/StatusMapping.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details about the mapping from a status to a new status for an issue type. + */ +@ApiModel(description = "Details about the mapping from a status to a new status for an issue type.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class StatusMapping { + @JsonProperty("issueTypeId") + private String issueTypeId; + + @JsonProperty("statusId") + private String statusId; + + @JsonProperty("newStatusId") + private String newStatusId; + + public StatusMapping issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the issue type. + * @return issueTypeId + **/ + @ApiModelProperty(required = true, value = "The ID of the issue type.") + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + public StatusMapping statusId(String statusId) { + this.statusId = statusId; + return this; + } + + /** + * The ID of the status. + * @return statusId + **/ + @ApiModelProperty(required = true, value = "The ID of the status.") + public String getStatusId() { + return statusId; + } + + public void setStatusId(String statusId) { + this.statusId = statusId; + } + + public StatusMapping newStatusId(String newStatusId) { + this.newStatusId = newStatusId; + return this; + } + + /** + * The ID of the new status. + * @return newStatusId + **/ + @ApiModelProperty(required = true, value = "The ID of the new status.") + public String getNewStatusId() { + return newStatusId; + } + + public void setNewStatusId(String newStatusId) { + this.newStatusId = newStatusId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + StatusMapping statusMapping = (StatusMapping) o; + return Objects.equals(this.issueTypeId, statusMapping.issueTypeId) && + Objects.equals(this.statusId, statusMapping.statusId) && + Objects.equals(this.newStatusId, statusMapping.newStatusId); + } + + @Override + public int hashCode() { + return Objects.hash(issueTypeId, statusId, newStatusId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class StatusMapping {\n"); + + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append(" statusId: ").append(toIndentedString(statusId)).append("\n"); + sb.append(" newStatusId: ").append(toIndentedString(newStatusId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SuggestedIssue.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SuggestedIssue.java index 5200db1..adfb1dc 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SuggestedIssue.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SuggestedIssue.java @@ -40,7 +40,7 @@ * An issue suggested for use in the issue picker auto-completion. */ @ApiModel(description = "An issue suggested for use in the issue picker auto-completion.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SuggestedIssue { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SystemAvatars.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SystemAvatars.java index f6ffdfa..2cec6b1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SystemAvatars.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/SystemAvatars.java @@ -43,7 +43,7 @@ * List of system avatars. */ @ApiModel(description = "List of system avatars.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class SystemAvatars { @JsonProperty("system") private List system = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TaskProgressBeanObject.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TaskProgressBeanObject.java index 0cd2a3f..fda1b94 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TaskProgressBeanObject.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TaskProgressBeanObject.java @@ -41,7 +41,7 @@ * Details about a task. */ @ApiModel(description = "Details about a task.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class TaskProgressBeanObject { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TaskProgressBeanRemoveOptionFromIssuesResult.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TaskProgressBeanRemoveOptionFromIssuesResult.java index a2143c3..eb019d6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TaskProgressBeanRemoveOptionFromIssuesResult.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TaskProgressBeanRemoveOptionFromIssuesResult.java @@ -42,7 +42,7 @@ * Details about a task. */ @ApiModel(description = "Details about a task.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class TaskProgressBeanRemoveOptionFromIssuesResult { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingConfiguration.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingConfiguration.java index 0dcf495..31b8b69 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingConfiguration.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingConfiguration.java @@ -40,7 +40,7 @@ * Details of the time tracking configuration. */ @ApiModel(description = "Details of the time tracking configuration.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class TimeTrackingConfiguration { @JsonProperty("workingHoursPerDay") private Double workingHoursPerDay; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingDetails.java index 83a1160..051d3b5 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingDetails.java @@ -40,7 +40,7 @@ * Time tracking details. */ @ApiModel(description = "Time tracking details.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class TimeTrackingDetails { @JsonProperty("originalEstimate") private String originalEstimate; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingProvider.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingProvider.java index e441efd..07ab89e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingProvider.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/TimeTrackingProvider.java @@ -40,7 +40,7 @@ * Details about the time tracking provider. */ @ApiModel(description = "Details about the time tracking provider.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class TimeTrackingProvider { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Transition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Transition.java index a7275b8..e76dfca 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Transition.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Transition.java @@ -44,7 +44,7 @@ * Details of a workflow transition. */ @ApiModel(description = "Details of a workflow transition.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Transition { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Transitions.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Transitions.java index 96a17de..97c0821 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Transitions.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Transitions.java @@ -43,7 +43,7 @@ * List of issue transitions. */ @ApiModel(description = "List of issue transitions.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Transitions { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UnrestrictedUserEmail.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UnrestrictedUserEmail.java index 93b7476..f68bb0f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UnrestrictedUserEmail.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UnrestrictedUserEmail.java @@ -39,7 +39,7 @@ /** * UnrestrictedUserEmail */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UnrestrictedUserEmail { @JsonProperty("accountId") private String accountId; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateCustomFieldDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateCustomFieldDetails.java new file mode 100644 index 0000000..97127f0 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateCustomFieldDetails.java @@ -0,0 +1,210 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details of a custom field. + */ +@ApiModel(description = "Details of a custom field.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class UpdateCustomFieldDetails { + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + /** + * The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` + */ + public enum SearcherKeyEnum { + CASCADINGSELECTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher"), + + DATERANGE("com.atlassian.jira.plugin.system.customfieldtypes:daterange"), + + DATETIMERANGE("com.atlassian.jira.plugin.system.customfieldtypes:datetimerange"), + + EXACTNUMBER("com.atlassian.jira.plugin.system.customfieldtypes:exactnumber"), + + EXACTTEXTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher"), + + GROUPPICKERSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher"), + + LABELSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher"), + + MULTISELECTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher"), + + NUMBERRANGE("com.atlassian.jira.plugin.system.customfieldtypes:numberrange"), + + PROJECTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher"), + + TEXTSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:textsearcher"), + + USERPICKERGROUPSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher"), + + VERSIONSEARCHER("com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher"); + + private String value; + + SearcherKeyEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static SearcherKeyEnum fromValue(String value) { + for (SearcherKeyEnum b : SearcherKeyEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("searcherKey") + private SearcherKeyEnum searcherKey; + + public UpdateCustomFieldDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters. + * @return name + **/ + @ApiModelProperty(value = "The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public UpdateCustomFieldDetails description(String description) { + this.description = description; + return this; + } + + /** + * The description of the custom field. The maximum length is 40000 characters. + * @return description + **/ + @ApiModelProperty(value = "The description of the custom field. The maximum length is 40000 characters.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public UpdateCustomFieldDetails searcherKey(SearcherKeyEnum searcherKey) { + this.searcherKey = searcherKey; + return this; + } + + /** + * The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher` + * @return searcherKey + **/ + @ApiModelProperty(value = "The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown): * `cascadingselect`: `cascadingselectsearcher` * `datepicker`: `daterange` * `datetime`: `datetimerange` * `float`: `exactnumber` or `numberrange` * `grouppicker`: `grouppickersearcher` * `importid`: `exactnumber` or `numberrange` * `labels`: `labelsearcher` * `multicheckboxes`: `multiselectsearcher` * `multigrouppicker`: `multiselectsearcher` * `multiselect`: `multiselectsearcher` * `multiuserpicker`: `userpickergroupsearcher` * `multiversion`: `versionsearcher` * `project`: `projectsearcher` * `radiobuttons`: `multiselectsearcher` * `readonlyfield`: `textsearcher` * `select`: `multiselectsearcher` * `textarea`: `textsearcher` * `textfield`: `textsearcher` * `url`: `exacttextsearcher` * `userpicker`: `userpickergroupsearcher` * `version`: `versionsearcher`") + public SearcherKeyEnum getSearcherKey() { + return searcherKey; + } + + public void setSearcherKey(SearcherKeyEnum searcherKey) { + this.searcherKey = searcherKey; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateCustomFieldDetails updateCustomFieldDetails = (UpdateCustomFieldDetails) o; + return Objects.equals(this.name, updateCustomFieldDetails.name) && + Objects.equals(this.description, updateCustomFieldDetails.description) && + Objects.equals(this.searcherKey, updateCustomFieldDetails.searcherKey); + } + + @Override + public int hashCode() { + return Objects.hash(name, description, searcherKey); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateCustomFieldDetails {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" searcherKey: ").append(toIndentedString(searcherKey)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateDefaultScreenScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateDefaultScreenScheme.java new file mode 100644 index 0000000..fbb5e6b --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateDefaultScreenScheme.java @@ -0,0 +1,107 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The ID of a screen scheme. + */ +@ApiModel(description = "The ID of a screen scheme.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class UpdateDefaultScreenScheme { + @JsonProperty("screenSchemeId") + private String screenSchemeId; + + public UpdateDefaultScreenScheme screenSchemeId(String screenSchemeId) { + this.screenSchemeId = screenSchemeId; + return this; + } + + /** + * The ID of the screen scheme. + * @return screenSchemeId + **/ + @ApiModelProperty(required = true, value = "The ID of the screen scheme.") + public String getScreenSchemeId() { + return screenSchemeId; + } + + public void setScreenSchemeId(String screenSchemeId) { + this.screenSchemeId = screenSchemeId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateDefaultScreenScheme updateDefaultScreenScheme = (UpdateDefaultScreenScheme) o; + return Objects.equals(this.screenSchemeId, updateDefaultScreenScheme.screenSchemeId); + } + + @Override + public int hashCode() { + return Objects.hash(screenSchemeId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateDefaultScreenScheme {\n"); + + sb.append(" screenSchemeId: ").append(toIndentedString(screenSchemeId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateProjectDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateProjectDetails.java new file mode 100644 index 0000000..f8c7a24 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateProjectDetails.java @@ -0,0 +1,395 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * Details about the project. + */ +@ApiModel(description = "Details about the project.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class UpdateProjectDetails { + @JsonProperty("key") + private String key; + + @JsonProperty("name") + private String name; + + @JsonProperty("description") + private String description; + + @JsonProperty("lead") + private String lead; + + @JsonProperty("leadAccountId") + private String leadAccountId; + + @JsonProperty("url") + private String url; + + /** + * The default assignee when creating issues for this project. + */ + public enum AssigneeTypeEnum { + PROJECT_LEAD("PROJECT_LEAD"), + + UNASSIGNED("UNASSIGNED"); + + private String value; + + AssigneeTypeEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static AssigneeTypeEnum fromValue(String value) { + for (AssigneeTypeEnum b : AssigneeTypeEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("assigneeType") + private AssigneeTypeEnum assigneeType; + + @JsonProperty("avatarId") + private Long avatarId; + + @JsonProperty("issueSecurityScheme") + private Long issueSecurityScheme; + + @JsonProperty("permissionScheme") + private Long permissionScheme; + + @JsonProperty("notificationScheme") + private Long notificationScheme; + + @JsonProperty("categoryId") + private Long categoryId; + + public UpdateProjectDetails key(String key) { + this.key = key; + return this; + } + + /** + * Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters. + * @return key + **/ + @ApiModelProperty(value = "Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters.") + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public UpdateProjectDetails name(String name) { + this.name = name; + return this; + } + + /** + * The name of the project. + * @return name + **/ + @ApiModelProperty(value = "The name of the project.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public UpdateProjectDetails description(String description) { + this.description = description; + return this; + } + + /** + * A brief description of the project. + * @return description + **/ + @ApiModelProperty(value = "A brief description of the project.") + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public UpdateProjectDetails lead(String lead) { + this.lead = lead; + return this; + } + + /** + * This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Cannot be provided with `leadAccountId`. + * @return lead + **/ + @ApiModelProperty(value = "This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Cannot be provided with `leadAccountId`.") + public String getLead() { + return lead; + } + + public void setLead(String lead) { + this.lead = lead; + } + + public UpdateProjectDetails leadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + return this; + } + + /** + * The account ID of the project lead. Cannot be provided with `lead`. + * @return leadAccountId + **/ + @ApiModelProperty(value = "The account ID of the project lead. Cannot be provided with `lead`.") + public String getLeadAccountId() { + return leadAccountId; + } + + public void setLeadAccountId(String leadAccountId) { + this.leadAccountId = leadAccountId; + } + + public UpdateProjectDetails url(String url) { + this.url = url; + return this; + } + + /** + * A link to information about this project, such as project documentation + * @return url + **/ + @ApiModelProperty(value = "A link to information about this project, such as project documentation") + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public UpdateProjectDetails assigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + return this; + } + + /** + * The default assignee when creating issues for this project. + * @return assigneeType + **/ + @ApiModelProperty(value = "The default assignee when creating issues for this project.") + public AssigneeTypeEnum getAssigneeType() { + return assigneeType; + } + + public void setAssigneeType(AssigneeTypeEnum assigneeType) { + this.assigneeType = assigneeType; + } + + public UpdateProjectDetails avatarId(Long avatarId) { + this.avatarId = avatarId; + return this; + } + + /** + * An integer value for the project's avatar. + * @return avatarId + **/ + @ApiModelProperty(value = "An integer value for the project's avatar.") + public Long getAvatarId() { + return avatarId; + } + + public void setAvatarId(Long avatarId) { + this.avatarId = avatarId; + } + + public UpdateProjectDetails issueSecurityScheme(Long issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + return this; + } + + /** + * The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs. + * @return issueSecurityScheme + **/ + @ApiModelProperty(value = "The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs.") + public Long getIssueSecurityScheme() { + return issueSecurityScheme; + } + + public void setIssueSecurityScheme(Long issueSecurityScheme) { + this.issueSecurityScheme = issueSecurityScheme; + } + + public UpdateProjectDetails permissionScheme(Long permissionScheme) { + this.permissionScheme = permissionScheme; + return this; + } + + /** + * The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs. + * @return permissionScheme + **/ + @ApiModelProperty(value = "The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.") + public Long getPermissionScheme() { + return permissionScheme; + } + + public void setPermissionScheme(Long permissionScheme) { + this.permissionScheme = permissionScheme; + } + + public UpdateProjectDetails notificationScheme(Long notificationScheme) { + this.notificationScheme = notificationScheme; + return this; + } + + /** + * The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs. + * @return notificationScheme + **/ + @ApiModelProperty(value = "The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.") + public Long getNotificationScheme() { + return notificationScheme; + } + + public void setNotificationScheme(Long notificationScheme) { + this.notificationScheme = notificationScheme; + } + + public UpdateProjectDetails categoryId(Long categoryId) { + this.categoryId = categoryId; + return this; + } + + /** + * The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation. + * @return categoryId + **/ + @ApiModelProperty(value = "The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.") + public Long getCategoryId() { + return categoryId; + } + + public void setCategoryId(Long categoryId) { + this.categoryId = categoryId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateProjectDetails updateProjectDetails = (UpdateProjectDetails) o; + return Objects.equals(this.key, updateProjectDetails.key) && + Objects.equals(this.name, updateProjectDetails.name) && + Objects.equals(this.description, updateProjectDetails.description) && + Objects.equals(this.lead, updateProjectDetails.lead) && + Objects.equals(this.leadAccountId, updateProjectDetails.leadAccountId) && + Objects.equals(this.url, updateProjectDetails.url) && + Objects.equals(this.assigneeType, updateProjectDetails.assigneeType) && + Objects.equals(this.avatarId, updateProjectDetails.avatarId) && + Objects.equals(this.issueSecurityScheme, updateProjectDetails.issueSecurityScheme) && + Objects.equals(this.permissionScheme, updateProjectDetails.permissionScheme) && + Objects.equals(this.notificationScheme, updateProjectDetails.notificationScheme) && + Objects.equals(this.categoryId, updateProjectDetails.categoryId); + } + + @Override + public int hashCode() { + return Objects.hash(key, name, description, lead, leadAccountId, url, assigneeType, avatarId, issueSecurityScheme, permissionScheme, notificationScheme, categoryId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class UpdateProjectDetails {\n"); + + sb.append(" key: ").append(toIndentedString(key)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" lead: ").append(toIndentedString(lead)).append("\n"); + sb.append(" leadAccountId: ").append(toIndentedString(leadAccountId)).append("\n"); + sb.append(" url: ").append(toIndentedString(url)).append("\n"); + sb.append(" assigneeType: ").append(toIndentedString(assigneeType)).append("\n"); + sb.append(" avatarId: ").append(toIndentedString(avatarId)).append("\n"); + sb.append(" issueSecurityScheme: ").append(toIndentedString(issueSecurityScheme)).append("\n"); + sb.append(" permissionScheme: ").append(toIndentedString(permissionScheme)).append("\n"); + sb.append(" notificationScheme: ").append(toIndentedString(notificationScheme)).append("\n"); + sb.append(" categoryId: ").append(toIndentedString(categoryId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenDetails.java index c2cced5..97cafc1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenDetails.java @@ -40,7 +40,7 @@ * Details of a screen. */ @ApiModel(description = "Details of a screen.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UpdateScreenDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenSchemeDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenSchemeDetails.java index a986925..47291f7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenSchemeDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenSchemeDetails.java @@ -41,7 +41,7 @@ * Details of a screen scheme. */ @ApiModel(description = "Details of a screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UpdateScreenSchemeDetails { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenTypes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenTypes.java index 67b052d..df21a0f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenTypes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateScreenTypes.java @@ -40,7 +40,7 @@ * The IDs of the screens for the screen types of the screen scheme. */ @ApiModel(description = "The IDs of the screens for the screen types of the screen scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UpdateScreenTypes { @JsonProperty("edit") private String edit; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateUserToGroupBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateUserToGroupBean.java index e053a92..faa0b13 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateUserToGroupBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdateUserToGroupBean.java @@ -41,7 +41,7 @@ /** * UpdateUserToGroupBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UpdateUserToGroupBean { @JsonProperty("name") private String name; @@ -57,10 +57,10 @@ public UpdateUserToGroupBean name(String name) { } /** - * This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. * @return name **/ - @ApiModelProperty(value = "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + @ApiModelProperty(value = "This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") public String getName() { return name; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdatedProjectCategory.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdatedProjectCategory.java index d39e364..50752d7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdatedProjectCategory.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UpdatedProjectCategory.java @@ -40,7 +40,7 @@ * A project category. */ @ApiModel(description = "A project category.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UpdatedProjectCategory { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/User.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/User.java index e16c70a..0395305 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/User.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/User.java @@ -44,7 +44,7 @@ * A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values. */ @ApiModel(description = "A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class User { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserBean.java index 56ca61a..cab40b6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserBean.java @@ -41,7 +41,7 @@ /** * UserBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UserBean { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserBeanAvatarUrls.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserBeanAvatarUrls.java index 7f4935d..9fed509 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserBeanAvatarUrls.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserBeanAvatarUrls.java @@ -40,7 +40,7 @@ /** * UserBeanAvatarUrls */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UserBeanAvatarUrls { @JsonProperty("24x24") private URI _24x24; @@ -48,12 +48,12 @@ public class UserBeanAvatarUrls { @JsonProperty("32x32") private URI _32x32; - @JsonProperty("48x48") - private URI _48x48; - @JsonProperty("16x16") private URI _16x16; + @JsonProperty("48x48") + private URI _48x48; + public UserBeanAvatarUrls _24x24(URI _24x24) { this._24x24 = _24x24; return this; @@ -90,24 +90,6 @@ public void set32x32(URI _32x32) { this._32x32 = _32x32; } - public UserBeanAvatarUrls _48x48(URI _48x48) { - this._48x48 = _48x48; - return this; - } - - /** - * The URL of the user's 48x48 pixel avatar. - * @return _48x48 - **/ - @ApiModelProperty(value = "The URL of the user's 48x48 pixel avatar.") - public URI get48x48() { - return _48x48; - } - - public void set48x48(URI _48x48) { - this._48x48 = _48x48; - } - public UserBeanAvatarUrls _16x16(URI _16x16) { this._16x16 = _16x16; return this; @@ -126,6 +108,24 @@ public void set16x16(URI _16x16) { this._16x16 = _16x16; } + public UserBeanAvatarUrls _48x48(URI _48x48) { + this._48x48 = _48x48; + return this; + } + + /** + * The URL of the user's 48x48 pixel avatar. + * @return _48x48 + **/ + @ApiModelProperty(value = "The URL of the user's 48x48 pixel avatar.") + public URI get48x48() { + return _48x48; + } + + public void set48x48(URI _48x48) { + this._48x48 = _48x48; + } + @Override public boolean equals(java.lang.Object o) { @@ -138,13 +138,13 @@ public boolean equals(java.lang.Object o) { UserBeanAvatarUrls userBeanAvatarUrls = (UserBeanAvatarUrls) o; return Objects.equals(this._24x24, userBeanAvatarUrls._24x24) && Objects.equals(this._32x32, userBeanAvatarUrls._32x32) && - Objects.equals(this._48x48, userBeanAvatarUrls._48x48) && - Objects.equals(this._16x16, userBeanAvatarUrls._16x16); + Objects.equals(this._16x16, userBeanAvatarUrls._16x16) && + Objects.equals(this._48x48, userBeanAvatarUrls._48x48); } @Override public int hashCode() { - return Objects.hash(_24x24, _32x32, _48x48, _16x16); + return Objects.hash(_24x24, _32x32, _16x16, _48x48); } @@ -155,8 +155,8 @@ public String toString() { sb.append(" _24x24: ").append(toIndentedString(_24x24)).append("\n"); sb.append(" _32x32: ").append(toIndentedString(_32x32)).append("\n"); - sb.append(" _48x48: ").append(toIndentedString(_48x48)).append("\n"); sb.append(" _16x16: ").append(toIndentedString(_16x16)).append("\n"); + sb.append(" _48x48: ").append(toIndentedString(_48x48)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserDetails.java index d6b6219..d4760df 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserDetails.java @@ -41,7 +41,7 @@ * User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values. */ @ApiModel(description = "User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UserDetails { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserKey.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserKey.java index af7263a..d45fcd4 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserKey.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserKey.java @@ -40,7 +40,7 @@ * List of user account IDs. */ @ApiModel(description = "List of user account IDs.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UserKey { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserList.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserList.java index 9f9eb8e..0dff1ee 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserList.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserList.java @@ -43,7 +43,7 @@ * A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with. */ @ApiModel(description = "A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UserList { @JsonProperty("size") private Integer size; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserMigrationBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserMigrationBean.java index a5ddffa..397510a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserMigrationBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserMigrationBean.java @@ -39,7 +39,7 @@ /** * UserMigrationBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UserMigrationBean { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserPermission.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserPermission.java index 4b0e7ea..23ee181 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserPermission.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserPermission.java @@ -42,7 +42,7 @@ * Details of a permission and its availability to a user. */ @ApiModel(description = "Details of a permission and its availability to a user.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UserPermission { @JsonProperty("id") private String id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserPickerUser.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserPickerUser.java index 5f6ee1e..b8f586b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserPickerUser.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/UserPickerUser.java @@ -41,7 +41,7 @@ * A user found in a search. */ @ApiModel(description = "A user found in a search.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class UserPickerUser { @JsonProperty("accountId") private String accountId; @@ -85,10 +85,10 @@ public UserPickerUser name(String name) { } /** - * This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * This property is no longer available . See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. * @return name **/ - @ApiModelProperty(value = "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + @ApiModelProperty(value = "This property is no longer available . See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") public String getName() { return name; } @@ -103,10 +103,10 @@ public UserPickerUser key(String key) { } /** - * This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. + * This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. * @return key **/ - @ApiModelProperty(value = "This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") + @ApiModelProperty(value = "This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.") public String getKey() { return key; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ValueOperand.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ValueOperand.java index b4664d6..8db9ecd 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ValueOperand.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/ValueOperand.java @@ -40,7 +40,7 @@ * An operand that is a user-provided value. */ @ApiModel(description = "An operand that is a user-provided value.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class ValueOperand { @JsonProperty("value") private String value; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Version.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Version.java index 369addc..b894e68 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Version.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Version.java @@ -46,7 +46,7 @@ * Details about a project version. */ @ApiModel(description = "Details about a project version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Version { @JsonProperty("expand") private String expand; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionIssueCounts.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionIssueCounts.java index 5fac633..e9686af 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionIssueCounts.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionIssueCounts.java @@ -44,7 +44,7 @@ * Various counts of issues within a version. */ @ApiModel(description = "Various counts of issues within a version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class VersionIssueCounts { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionIssuesStatus.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionIssuesStatus.java index 6188aa5..f78d0e6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionIssuesStatus.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionIssuesStatus.java @@ -42,7 +42,7 @@ * Counts of the number of issues in various statuses. */ @ApiModel(description = "Counts of the number of issues in various statuses.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class VersionIssuesStatus { @JsonProperty("unmapped") private Long unmapped; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionMoveBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionMoveBean.java index d752689..38d26b7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionMoveBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionMoveBean.java @@ -40,7 +40,7 @@ /** * VersionMoveBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class VersionMoveBean { @JsonProperty("after") private URI after; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionUnresolvedIssuesCount.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionUnresolvedIssuesCount.java index c6bd1e4..ec9e376 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionUnresolvedIssuesCount.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionUnresolvedIssuesCount.java @@ -41,7 +41,7 @@ * Count of a version's unresolved issues. */ @ApiModel(description = "Count of a version's unresolved issues.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class VersionUnresolvedIssuesCount { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionUsageInCustomField.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionUsageInCustomField.java index cb3e107..df0e4e7 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionUsageInCustomField.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/VersionUsageInCustomField.java @@ -40,7 +40,7 @@ * List of custom fields using the version. */ @ApiModel(description = "List of custom fields using the version.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class VersionUsageInCustomField { @JsonProperty("fieldName") private String fieldName; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Visibility.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Visibility.java index bd5281d..a2f1b86 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Visibility.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Visibility.java @@ -42,7 +42,7 @@ * The group or role to which this item is visible. */ @ApiModel(description = "The group or role to which this item is visible.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Visibility { /** * Whether visibility of this item is restricted to a group or role. diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Votes.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Votes.java index ab860c4..7973d34 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Votes.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Votes.java @@ -44,7 +44,7 @@ * The details of votes on an issue. */ @ApiModel(description = "The details of votes on an issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Votes { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Watchers.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Watchers.java index d14f1c8..6dbee82 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Watchers.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Watchers.java @@ -43,7 +43,7 @@ * The details of watchers on an issue. */ @ApiModel(description = "The details of watchers on an issue.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Watchers { @JsonProperty("self") private String self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Webhook.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Webhook.java index 19471c3..fb5738b 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Webhook.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Webhook.java @@ -42,7 +42,7 @@ * A webhook. */ @ApiModel(description = "A webhook.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Webhook { @JsonProperty("id") private Long id; @@ -50,6 +50,12 @@ public class Webhook { @JsonProperty("jqlFilter") private String jqlFilter; + @JsonProperty("fieldIdsFilter") + private List fieldIdsFilter = new ArrayList<>(); + + @JsonProperty("issuePropertyKeysFilter") + private List issuePropertyKeysFilter = new ArrayList<>(); + /** * Gets or Sets events */ @@ -139,15 +145,64 @@ public void setJqlFilter(String jqlFilter) { this.jqlFilter = jqlFilter; } + public Webhook fieldIdsFilter(List fieldIdsFilter) { + this.fieldIdsFilter = fieldIdsFilter; + return this; + } + + public Webhook addFieldIdsFilterItem(String fieldIdsFilterItem) { + if (this.fieldIdsFilter == null) { + this.fieldIdsFilter = new ArrayList<>(); + } + this.fieldIdsFilter.add(fieldIdsFilterItem); + return this; + } + + /** + * A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates. + * @return fieldIdsFilter + **/ + @ApiModelProperty(value = "A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.") + public List getFieldIdsFilter() { + return fieldIdsFilter; + } + + public void setFieldIdsFilter(List fieldIdsFilter) { + this.fieldIdsFilter = fieldIdsFilter; + } + + public Webhook issuePropertyKeysFilter(List issuePropertyKeysFilter) { + this.issuePropertyKeysFilter = issuePropertyKeysFilter; + return this; + } + + public Webhook addIssuePropertyKeysFilterItem(String issuePropertyKeysFilterItem) { + if (this.issuePropertyKeysFilter == null) { + this.issuePropertyKeysFilter = new ArrayList<>(); + } + this.issuePropertyKeysFilter.add(issuePropertyKeysFilterItem); + return this; + } + + /** + * A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates. + * @return issuePropertyKeysFilter + **/ + @ApiModelProperty(value = "A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.") + public List getIssuePropertyKeysFilter() { + return issuePropertyKeysFilter; + } + + public void setIssuePropertyKeysFilter(List issuePropertyKeysFilter) { + this.issuePropertyKeysFilter = issuePropertyKeysFilter; + } + public Webhook events(List events) { this.events = events; return this; } public Webhook addEventsItem(EventsEnum eventsItem) { - if (this.events == null) { - this.events = new ArrayList<>(); - } this.events.add(eventsItem); return this; } @@ -156,7 +211,7 @@ public Webhook addEventsItem(EventsEnum eventsItem) { * The Jira events that trigger the webhook. * @return events **/ - @ApiModelProperty(value = "The Jira events that trigger the webhook.") + @ApiModelProperty(required = true, value = "The Jira events that trigger the webhook.") public List getEvents() { return events; } @@ -169,7 +224,7 @@ public void setEvents(List events) { * Get expirationDate * @return expirationDate **/ - @ApiModelProperty(required = true, value = "") + @ApiModelProperty(value = "") public Long getExpirationDate() { return expirationDate; } @@ -186,13 +241,15 @@ public boolean equals(java.lang.Object o) { Webhook webhook = (Webhook) o; return Objects.equals(this.id, webhook.id) && Objects.equals(this.jqlFilter, webhook.jqlFilter) && + Objects.equals(this.fieldIdsFilter, webhook.fieldIdsFilter) && + Objects.equals(this.issuePropertyKeysFilter, webhook.issuePropertyKeysFilter) && Objects.equals(this.events, webhook.events) && Objects.equals(this.expirationDate, webhook.expirationDate); } @Override public int hashCode() { - return Objects.hash(id, jqlFilter, events, expirationDate); + return Objects.hash(id, jqlFilter, fieldIdsFilter, issuePropertyKeysFilter, events, expirationDate); } @@ -203,6 +260,8 @@ public String toString() { sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" jqlFilter: ").append(toIndentedString(jqlFilter)).append("\n"); + sb.append(" fieldIdsFilter: ").append(toIndentedString(fieldIdsFilter)).append("\n"); + sb.append(" issuePropertyKeysFilter: ").append(toIndentedString(issuePropertyKeysFilter)).append("\n"); sb.append(" events: ").append(toIndentedString(events)).append("\n"); sb.append(" expirationDate: ").append(toIndentedString(expirationDate)).append("\n"); sb.append("}"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhookDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhookDetails.java index 98f6c7c..14b76db 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhookDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhookDetails.java @@ -42,11 +42,17 @@ * A list of webhooks. */ @ApiModel(description = "A list of webhooks.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WebhookDetails { @JsonProperty("jqlFilter") private String jqlFilter; + @JsonProperty("fieldIdsFilter") + private List fieldIdsFilter = new ArrayList<>(); + + @JsonProperty("issuePropertyKeysFilter") + private List issuePropertyKeysFilter = new ArrayList<>(); + /** * Gets or Sets events */ @@ -103,10 +109,10 @@ public WebhookDetails jqlFilter(String jqlFilter) { } /** - * The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are: * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]` (for custom fields—only the epic label custom field is supported). * Operators: `=`, `!=`, `IN`, and `NOT IN`. + * The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are: * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`), only the epic label custom field is supported.\". * Operators: `=`, `!=`, `IN`, and `NOT IN`. * @return jqlFilter **/ - @ApiModelProperty(required = true, value = "The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are: * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]` (for custom fields—only the epic label custom field is supported). * Operators: `=`, `!=`, `IN`, and `NOT IN`.") + @ApiModelProperty(required = true, value = "The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are: * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`), only the epic label custom field is supported.\". * Operators: `=`, `!=`, `IN`, and `NOT IN`.") public String getJqlFilter() { return jqlFilter; } @@ -115,15 +121,64 @@ public void setJqlFilter(String jqlFilter) { this.jqlFilter = jqlFilter; } + public WebhookDetails fieldIdsFilter(List fieldIdsFilter) { + this.fieldIdsFilter = fieldIdsFilter; + return this; + } + + public WebhookDetails addFieldIdsFilterItem(String fieldIdsFilterItem) { + if (this.fieldIdsFilter == null) { + this.fieldIdsFilter = new ArrayList<>(); + } + this.fieldIdsFilter.add(fieldIdsFilterItem); + return this; + } + + /** + * A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates. + * @return fieldIdsFilter + **/ + @ApiModelProperty(value = "A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.") + public List getFieldIdsFilter() { + return fieldIdsFilter; + } + + public void setFieldIdsFilter(List fieldIdsFilter) { + this.fieldIdsFilter = fieldIdsFilter; + } + + public WebhookDetails issuePropertyKeysFilter(List issuePropertyKeysFilter) { + this.issuePropertyKeysFilter = issuePropertyKeysFilter; + return this; + } + + public WebhookDetails addIssuePropertyKeysFilterItem(String issuePropertyKeysFilterItem) { + if (this.issuePropertyKeysFilter == null) { + this.issuePropertyKeysFilter = new ArrayList<>(); + } + this.issuePropertyKeysFilter.add(issuePropertyKeysFilterItem); + return this; + } + + /** + * A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates. + * @return issuePropertyKeysFilter + **/ + @ApiModelProperty(value = "A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.") + public List getIssuePropertyKeysFilter() { + return issuePropertyKeysFilter; + } + + public void setIssuePropertyKeysFilter(List issuePropertyKeysFilter) { + this.issuePropertyKeysFilter = issuePropertyKeysFilter; + } + public WebhookDetails events(List events) { this.events = events; return this; } public WebhookDetails addEventsItem(EventsEnum eventsItem) { - if (this.events == null) { - this.events = new ArrayList<>(); - } this.events.add(eventsItem); return this; } @@ -132,7 +187,7 @@ public WebhookDetails addEventsItem(EventsEnum eventsItem) { * The Jira events that trigger the webhook. * @return events **/ - @ApiModelProperty(value = "The Jira events that trigger the webhook.") + @ApiModelProperty(required = true, value = "The Jira events that trigger the webhook.") public List getEvents() { return events; } @@ -152,12 +207,14 @@ public boolean equals(java.lang.Object o) { } WebhookDetails webhookDetails = (WebhookDetails) o; return Objects.equals(this.jqlFilter, webhookDetails.jqlFilter) && + Objects.equals(this.fieldIdsFilter, webhookDetails.fieldIdsFilter) && + Objects.equals(this.issuePropertyKeysFilter, webhookDetails.issuePropertyKeysFilter) && Objects.equals(this.events, webhookDetails.events); } @Override public int hashCode() { - return Objects.hash(jqlFilter, events); + return Objects.hash(jqlFilter, fieldIdsFilter, issuePropertyKeysFilter, events); } @@ -167,6 +224,8 @@ public String toString() { sb.append("class WebhookDetails {\n"); sb.append(" jqlFilter: ").append(toIndentedString(jqlFilter)).append("\n"); + sb.append(" fieldIdsFilter: ").append(toIndentedString(fieldIdsFilter)).append("\n"); + sb.append(" issuePropertyKeysFilter: ").append(toIndentedString(issuePropertyKeysFilter)).append("\n"); sb.append(" events: ").append(toIndentedString(events)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhookRegistrationDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhookRegistrationDetails.java index ddac809..f91cc13 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhookRegistrationDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhookRegistrationDetails.java @@ -43,7 +43,7 @@ * Details of webhooks to register. */ @ApiModel(description = "Details of webhooks to register.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WebhookRegistrationDetails { @JsonProperty("webhooks") private List webhooks = new ArrayList<>(); @@ -80,10 +80,10 @@ public WebhookRegistrationDetails url(String url) { } /** - * The URL that specifies where to send the webhooks. + * The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app. * @return url **/ - @ApiModelProperty(required = true, value = "The URL that specifies where to send the webhooks.") + @ApiModelProperty(required = true, value = "The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app.") public String getUrl() { return url; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhooksExpirationDate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhooksExpirationDate.java index 1ae212b..410b51f 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhooksExpirationDate.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WebhooksExpirationDate.java @@ -40,7 +40,7 @@ * The date the newly refreshed webhooks expire. */ @ApiModel(description = "The date the newly refreshed webhooks expire.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WebhooksExpirationDate { @JsonProperty("expirationDate") private Long expirationDate; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Workflow.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Workflow.java index 655c1d3..e9ce489 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Workflow.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Workflow.java @@ -45,7 +45,7 @@ * Details about a workflow. */ @ApiModel(description = "Details about a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Workflow { @JsonProperty("id") private PublishedWorkflowId id; @@ -59,6 +59,9 @@ public class Workflow { @JsonProperty("statuses") private List statuses = new ArrayList<>(); + @JsonProperty("isDefault") + private Boolean isDefault; + public Workflow id(PublishedWorkflowId id) { this.id = id; return this; @@ -68,7 +71,7 @@ public Workflow id(PublishedWorkflowId id) { * Get id * @return id **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public PublishedWorkflowId getId() { return id; } @@ -147,6 +150,24 @@ public void setStatuses(List statuses) { this.statuses = statuses; } + public Workflow isDefault(Boolean isDefault) { + this.isDefault = isDefault; + return this; + } + + /** + * Whether this is the default workflow. + * @return isDefault + **/ + @ApiModelProperty(value = "Whether this is the default workflow.") + public Boolean getIsDefault() { + return isDefault; + } + + public void setIsDefault(Boolean isDefault) { + this.isDefault = isDefault; + } + @Override public boolean equals(java.lang.Object o) { @@ -160,12 +181,13 @@ public boolean equals(java.lang.Object o) { return Objects.equals(this.id, workflow.id) && Objects.equals(this.description, workflow.description) && Objects.equals(this.transitions, workflow.transitions) && - Objects.equals(this.statuses, workflow.statuses); + Objects.equals(this.statuses, workflow.statuses) && + Objects.equals(this.isDefault, workflow.isDefault); } @Override public int hashCode() { - return Objects.hash(id, description, transitions, statuses); + return Objects.hash(id, description, transitions, statuses, isDefault); } @@ -178,6 +200,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" transitions: ").append(toIndentedString(transitions)).append("\n"); sb.append(" statuses: ").append(toIndentedString(statuses)).append("\n"); + sb.append(" isDefault: ").append(toIndentedString(isDefault)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowCompoundCondition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowCompoundCondition.java new file mode 100644 index 0000000..34631e9 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowCompoundCondition.java @@ -0,0 +1,195 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; + +/** + * A compound workflow transition rule condition. This object returns `nodeType` as `compound`. + */ +@ApiModel(description = "A compound workflow transition rule condition. This object returns `nodeType` as `compound`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class WorkflowCompoundCondition { + /** + * The compound condition operator. + */ + public enum OperatorEnum { + AND("AND"), + + OR("OR"); + + private String value; + + OperatorEnum(String value) { + this.value = value; + } + + @JsonValue + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + @JsonCreator + public static OperatorEnum fromValue(String value) { + for (OperatorEnum b : OperatorEnum.values()) { + if (b.value.equalsIgnoreCase(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + } + + @JsonProperty("operator") + private OperatorEnum operator; + + @JsonProperty("conditions") + private List conditions = new ArrayList<>(); + + @JsonProperty("nodeType") + private String nodeType; + + public WorkflowCompoundCondition operator(OperatorEnum operator) { + this.operator = operator; + return this; + } + + /** + * The compound condition operator. + * @return operator + **/ + @ApiModelProperty(required = true, value = "The compound condition operator.") + public OperatorEnum getOperator() { + return operator; + } + + public void setOperator(OperatorEnum operator) { + this.operator = operator; + } + + public WorkflowCompoundCondition conditions(List conditions) { + this.conditions = conditions; + return this; + } + + public WorkflowCompoundCondition addConditionsItem(Object conditionsItem) { + this.conditions.add(conditionsItem); + return this; + } + + /** + * The list of workflow conditions. + * @return conditions + **/ + @ApiModelProperty(required = true, value = "The list of workflow conditions.") + public List getConditions() { + return conditions; + } + + public void setConditions(List conditions) { + this.conditions = conditions; + } + + public WorkflowCompoundCondition nodeType(String nodeType) { + this.nodeType = nodeType; + return this; + } + + /** + * Get nodeType + * @return nodeType + **/ + @ApiModelProperty(required = true, value = "") + public String getNodeType() { + return nodeType; + } + + public void setNodeType(String nodeType) { + this.nodeType = nodeType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowCompoundCondition workflowCompoundCondition = (WorkflowCompoundCondition) o; + return Objects.equals(this.operator, workflowCompoundCondition.operator) && + Objects.equals(this.conditions, workflowCompoundCondition.conditions) && + Objects.equals(this.nodeType, workflowCompoundCondition.nodeType); + } + + @Override + public int hashCode() { + return Objects.hash(operator, conditions, nodeType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowCompoundCondition {\n"); + + sb.append(" operator: ").append(toIndentedString(operator)).append("\n"); + sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" nodeType: ").append(toIndentedString(nodeType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowIDs.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowIDs.java new file mode 100644 index 0000000..6505140 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowIDs.java @@ -0,0 +1,130 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * The classic workflow identifiers. + */ +@ApiModel(description = "The classic workflow identifiers.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class WorkflowIDs { + @JsonProperty("name") + private String name; + + @JsonProperty("entityId") + private String entityId; + + public WorkflowIDs name(String name) { + this.name = name; + return this; + } + + /** + * The name of the workflow. + * @return name + **/ + @ApiModelProperty(required = true, value = "The name of the workflow.") + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public WorkflowIDs entityId(String entityId) { + this.entityId = entityId; + return this; + } + + /** + * The entity ID of the workflow. + * @return entityId + **/ + @ApiModelProperty(value = "The entity ID of the workflow.") + public String getEntityId() { + return entityId; + } + + public void setEntityId(String entityId) { + this.entityId = entityId; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowIDs workflowIDs = (WorkflowIDs) o; + return Objects.equals(this.name, workflowIDs.name) && + Objects.equals(this.entityId, workflowIDs.entityId); + } + + @Override + public int hashCode() { + return Objects.hash(name, entityId); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowIDs {\n"); + + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" entityId: ").append(toIndentedString(entityId)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowId.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowId.java index 19ea450..e853f17 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowId.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowId.java @@ -40,7 +40,7 @@ * Properties that identify a workflow. */ @ApiModel(description = "Properties that identify a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowId { @JsonProperty("name") private String name; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRules.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRules.java index 0e68393..e89197e 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRules.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRules.java @@ -43,11 +43,14 @@ * A collection of transition rules. */ @ApiModel(description = "A collection of transition rules.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowRules { @JsonProperty("conditions") private List conditions = new ArrayList<>(); + @JsonProperty("conditionsTree") + private Object conditionsTree = null; + @JsonProperty("validators") private List validators = new ArrayList<>(); @@ -60,15 +63,18 @@ public WorkflowRules conditions(List conditions) { } public WorkflowRules addConditionsItem(WorkflowTransitionRule conditionsItem) { + if (this.conditions == null) { + this.conditions = new ArrayList<>(); + } this.conditions.add(conditionsItem); return this; } /** - * The workflow conditions. + * The workflow conditions. ([Deprecated](https://community.developer.atlassian.com/t/deprecation-of-conditions-body-param/48884)) * @return conditions **/ - @ApiModelProperty(required = true, value = "The workflow conditions.") + @ApiModelProperty(value = "The workflow conditions. ([Deprecated](https://community.developer.atlassian.com/t/deprecation-of-conditions-body-param/48884))") public List getConditions() { return conditions; } @@ -77,12 +83,33 @@ public void setConditions(List conditions) { this.conditions = conditions; } + public WorkflowRules conditionsTree(Object conditionsTree) { + this.conditionsTree = conditionsTree; + return this; + } + + /** + * The workflow transition rule conditions tree. + * @return conditionsTree + **/ + @ApiModelProperty(value = "The workflow transition rule conditions tree.") + public Object getConditionsTree() { + return conditionsTree; + } + + public void setConditionsTree(Object conditionsTree) { + this.conditionsTree = conditionsTree; + } + public WorkflowRules validators(List validators) { this.validators = validators; return this; } public WorkflowRules addValidatorsItem(WorkflowTransitionRule validatorsItem) { + if (this.validators == null) { + this.validators = new ArrayList<>(); + } this.validators.add(validatorsItem); return this; } @@ -91,7 +118,7 @@ public WorkflowRules addValidatorsItem(WorkflowTransitionRule validatorsItem) { * The workflow validators. * @return validators **/ - @ApiModelProperty(required = true, value = "The workflow validators.") + @ApiModelProperty(value = "The workflow validators.") public List getValidators() { return validators; } @@ -106,6 +133,9 @@ public WorkflowRules postFunctions(List postFunctions) { } public WorkflowRules addPostFunctionsItem(WorkflowTransitionRule postFunctionsItem) { + if (this.postFunctions == null) { + this.postFunctions = new ArrayList<>(); + } this.postFunctions.add(postFunctionsItem); return this; } @@ -114,7 +144,7 @@ public WorkflowRules addPostFunctionsItem(WorkflowTransitionRule postFunctionsIt * The workflow post functions. * @return postFunctions **/ - @ApiModelProperty(required = true, value = "The workflow post functions.") + @ApiModelProperty(value = "The workflow post functions.") public List getPostFunctions() { return postFunctions; } @@ -134,13 +164,14 @@ public boolean equals(java.lang.Object o) { } WorkflowRules workflowRules = (WorkflowRules) o; return Objects.equals(this.conditions, workflowRules.conditions) && + Objects.equals(this.conditionsTree, workflowRules.conditionsTree) && Objects.equals(this.validators, workflowRules.validators) && Objects.equals(this.postFunctions, workflowRules.postFunctions); } @Override public int hashCode() { - return Objects.hash(conditions, validators, postFunctions); + return Objects.hash(conditions, conditionsTree, validators, postFunctions); } @@ -150,6 +181,7 @@ public String toString() { sb.append("class WorkflowRules {\n"); sb.append(" conditions: ").append(toIndentedString(conditions)).append("\n"); + sb.append(" conditionsTree: ").append(toIndentedString(conditionsTree)).append("\n"); sb.append(" validators: ").append(toIndentedString(validators)).append("\n"); sb.append(" postFunctions: ").append(toIndentedString(postFunctions)).append("\n"); sb.append("}"); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRulesSearch.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRulesSearch.java new file mode 100644 index 0000000..fed3a5c --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRulesSearch.java @@ -0,0 +1,161 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +/** + * Details of the workflow and its transition rules. + */ +@ApiModel(description = "Details of the workflow and its transition rules.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class WorkflowRulesSearch { + @JsonProperty("workflowEntityId") + private UUID workflowEntityId; + + @JsonProperty("ruleIds") + private List ruleIds = new ArrayList<>(); + + @JsonProperty("expand") + private String expand; + + public WorkflowRulesSearch workflowEntityId(UUID workflowEntityId) { + this.workflowEntityId = workflowEntityId; + return this; + } + + /** + * The workflow ID. + * @return workflowEntityId + **/ + @ApiModelProperty(example = "a498d711-685d-428d-8c3e-bc03bb450ea7", required = true, value = "The workflow ID.") + public UUID getWorkflowEntityId() { + return workflowEntityId; + } + + public void setWorkflowEntityId(UUID workflowEntityId) { + this.workflowEntityId = workflowEntityId; + } + + public WorkflowRulesSearch ruleIds(List ruleIds) { + this.ruleIds = ruleIds; + return this; + } + + public WorkflowRulesSearch addRuleIdsItem(UUID ruleIdsItem) { + this.ruleIds.add(ruleIdsItem); + return this; + } + + /** + * The list of workflow rule IDs. + * @return ruleIds + **/ + @ApiModelProperty(required = true, value = "The list of workflow rule IDs.") + public List getRuleIds() { + return ruleIds; + } + + public void setRuleIds(List ruleIds) { + this.ruleIds = ruleIds; + } + + public WorkflowRulesSearch expand(String expand) { + this.expand = expand; + return this; + } + + /** + * Use expand to include additional information in the response. This parameter accepts `transition` which, for each rule, returns information about the transition the rule is assigned to. + * @return expand + **/ + @ApiModelProperty(example = "transition", value = "Use expand to include additional information in the response. This parameter accepts `transition` which, for each rule, returns information about the transition the rule is assigned to.") + public String getExpand() { + return expand; + } + + public void setExpand(String expand) { + this.expand = expand; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowRulesSearch workflowRulesSearch = (WorkflowRulesSearch) o; + return Objects.equals(this.workflowEntityId, workflowRulesSearch.workflowEntityId) && + Objects.equals(this.ruleIds, workflowRulesSearch.ruleIds) && + Objects.equals(this.expand, workflowRulesSearch.expand); + } + + @Override + public int hashCode() { + return Objects.hash(workflowEntityId, ruleIds, expand); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowRulesSearch {\n"); + + sb.append(" workflowEntityId: ").append(toIndentedString(workflowEntityId)).append("\n"); + sb.append(" ruleIds: ").append(toIndentedString(ruleIds)).append("\n"); + sb.append(" expand: ").append(toIndentedString(expand)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRulesSearchDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRulesSearchDetails.java new file mode 100644 index 0000000..a543543 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowRulesSearchDetails.java @@ -0,0 +1,173 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowTransitionRules; + +/** + * Details of workflow transition rules. + */ +@ApiModel(description = "Details of workflow transition rules.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class WorkflowRulesSearchDetails { + @JsonProperty("workflowEntityId") + private UUID workflowEntityId; + + @JsonProperty("invalidRules") + private List invalidRules = new ArrayList<>(); + + @JsonProperty("validRules") + private List validRules = new ArrayList<>(); + + public WorkflowRulesSearchDetails workflowEntityId(UUID workflowEntityId) { + this.workflowEntityId = workflowEntityId; + return this; + } + + /** + * The workflow ID. + * @return workflowEntityId + **/ + @ApiModelProperty(example = "a498d711-685d-428d-8c3e-bc03bb450ea7", value = "The workflow ID.") + public UUID getWorkflowEntityId() { + return workflowEntityId; + } + + public void setWorkflowEntityId(UUID workflowEntityId) { + this.workflowEntityId = workflowEntityId; + } + + public WorkflowRulesSearchDetails invalidRules(List invalidRules) { + this.invalidRules = invalidRules; + return this; + } + + public WorkflowRulesSearchDetails addInvalidRulesItem(UUID invalidRulesItem) { + if (this.invalidRules == null) { + this.invalidRules = new ArrayList<>(); + } + this.invalidRules.add(invalidRulesItem); + return this; + } + + /** + * List of workflow rule IDs that do not belong to the workflow or can not be found. + * @return invalidRules + **/ + @ApiModelProperty(value = "List of workflow rule IDs that do not belong to the workflow or can not be found.") + public List getInvalidRules() { + return invalidRules; + } + + public void setInvalidRules(List invalidRules) { + this.invalidRules = invalidRules; + } + + public WorkflowRulesSearchDetails validRules(List validRules) { + this.validRules = validRules; + return this; + } + + public WorkflowRulesSearchDetails addValidRulesItem(WorkflowTransitionRules validRulesItem) { + if (this.validRules == null) { + this.validRules = new ArrayList<>(); + } + this.validRules.add(validRulesItem); + return this; + } + + /** + * List of valid workflow transition rules. + * @return validRules + **/ + @ApiModelProperty(value = "List of valid workflow transition rules.") + public List getValidRules() { + return validRules; + } + + public void setValidRules(List validRules) { + this.validRules = validRules; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowRulesSearchDetails workflowRulesSearchDetails = (WorkflowRulesSearchDetails) o; + return Objects.equals(this.workflowEntityId, workflowRulesSearchDetails.workflowEntityId) && + Objects.equals(this.invalidRules, workflowRulesSearchDetails.invalidRules) && + Objects.equals(this.validRules, workflowRulesSearchDetails.validRules); + } + + @Override + public int hashCode() { + return Objects.hash(workflowEntityId, invalidRules, validRules); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowRulesSearchDetails {\n"); + + sb.append(" workflowEntityId: ").append(toIndentedString(workflowEntityId)).append("\n"); + sb.append(" invalidRules: ").append(toIndentedString(invalidRules)).append("\n"); + sb.append(" validRules: ").append(toIndentedString(validRules)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowScheme.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowScheme.java index 5b413aa..b785ffe 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowScheme.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowScheme.java @@ -46,7 +46,7 @@ * Details about a workflow scheme. */ @ApiModel(description = "Details about a workflow scheme.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowScheme { @JsonProperty("id") private Long id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSchemeAssociations.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSchemeAssociations.java index 48ede3a..56be290 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSchemeAssociations.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSchemeAssociations.java @@ -43,7 +43,7 @@ * A workflow scheme along with a list of projects that use it. */ @ApiModel(description = "A workflow scheme along with a list of projects that use it.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowSchemeAssociations { @JsonProperty("projectIds") private List projectIds = new ArrayList<>(); @@ -83,7 +83,7 @@ public WorkflowSchemeAssociations workflowScheme(WorkflowScheme workflowScheme) * The workflow scheme. * @return workflowScheme **/ - @ApiModelProperty(value = "The workflow scheme.") + @ApiModelProperty(required = true, value = "The workflow scheme.") public WorkflowScheme getWorkflowScheme() { return workflowScheme; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSchemeProjectAssociation.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSchemeProjectAssociation.java index 7be000a..63bae98 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSchemeProjectAssociation.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSchemeProjectAssociation.java @@ -40,7 +40,7 @@ * An associated workflow scheme and project. */ @ApiModel(description = "An associated workflow scheme and project.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowSchemeProjectAssociation { @JsonProperty("workflowSchemeId") private String workflowSchemeId; @@ -54,10 +54,10 @@ public WorkflowSchemeProjectAssociation workflowSchemeId(String workflowSchemeId } /** - * The ID of the workflow scheme. + * The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow scheme. * @return workflowSchemeId **/ - @ApiModelProperty(required = true, value = "The ID of the workflow scheme.") + @ApiModelProperty(value = "The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow scheme.") public String getWorkflowSchemeId() { return workflowSchemeId; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSimpleCondition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSimpleCondition.java new file mode 100644 index 0000000..630072c --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowSimpleCondition.java @@ -0,0 +1,153 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + * A workflow transition rule condition. This object returns `nodeType` as `simple`. + */ +@ApiModel(description = "A workflow transition rule condition. This object returns `nodeType` as `simple`.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class WorkflowSimpleCondition { + @JsonProperty("type") + private String type; + + @JsonProperty("configuration") + private Object _configuration = null; + + @JsonProperty("nodeType") + private String nodeType; + + public WorkflowSimpleCondition type(String type) { + this.type = type; + return this; + } + + /** + * The type of the transition rule. + * @return type + **/ + @ApiModelProperty(required = true, value = "The type of the transition rule.") + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public WorkflowSimpleCondition _configuration(Object _configuration) { + this._configuration = _configuration; + return this; + } + + /** + * EXPERIMENTAL. The configuration of the transition rule. + * @return _configuration + **/ + @ApiModelProperty(value = "EXPERIMENTAL. The configuration of the transition rule.") + public Object getConfiguration() { + return _configuration; + } + + public void setConfiguration(Object _configuration) { + this._configuration = _configuration; + } + + public WorkflowSimpleCondition nodeType(String nodeType) { + this.nodeType = nodeType; + return this; + } + + /** + * Get nodeType + * @return nodeType + **/ + @ApiModelProperty(required = true, value = "") + public String getNodeType() { + return nodeType; + } + + public void setNodeType(String nodeType) { + this.nodeType = nodeType; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowSimpleCondition workflowSimpleCondition = (WorkflowSimpleCondition) o; + return Objects.equals(this.type, workflowSimpleCondition.type) && + Objects.equals(this._configuration, workflowSimpleCondition._configuration) && + Objects.equals(this.nodeType, workflowSimpleCondition.nodeType); + } + + @Override + public int hashCode() { + return Objects.hash(type, _configuration, nodeType); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowSimpleCondition {\n"); + + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" _configuration: ").append(toIndentedString(_configuration)).append("\n"); + sb.append(" nodeType: ").append(toIndentedString(nodeType)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowStatus.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowStatus.java index 99d76f3..03f0880 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowStatus.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowStatus.java @@ -35,13 +35,15 @@ import com.fasterxml.jackson.annotation.JsonValue; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowStatusProperties; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * Details of a workflow status. */ @ApiModel(description = "Details of a workflow status.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowStatus { @JsonProperty("id") private String id; @@ -50,7 +52,7 @@ public class WorkflowStatus { private String name; @JsonProperty("properties") - private WorkflowStatusProperties properties; + private Map properties = new HashMap<>(); public WorkflowStatus id(String id) { this.id = id; @@ -88,21 +90,29 @@ public void setName(String name) { this.name = name; } - public WorkflowStatus properties(WorkflowStatusProperties properties) { + public WorkflowStatus properties(Map properties) { this.properties = properties; return this; } + public WorkflowStatus putPropertiesItem(String key, Object propertiesItem) { + if (this.properties == null) { + this.properties = new HashMap<>(); + } + this.properties.put(key, propertiesItem); + return this; + } + /** - * Get properties + * Additional properties that modify the behavior of issues in this status. Supports the properties `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable. * @return properties **/ - @ApiModelProperty(value = "") - public WorkflowStatusProperties getProperties() { + @ApiModelProperty(value = "Additional properties that modify the behavior of issues in this status. Supports the properties `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable.") + public Map getProperties() { return properties; } - public void setProperties(WorkflowStatusProperties properties) { + public void setProperties(Map properties) { this.properties = properties; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransition.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransition.java index 8a32177..39bef11 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransition.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransition.java @@ -40,7 +40,7 @@ * A workflow transition. */ @ApiModel(description = "A workflow transition.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowTransition { @JsonProperty("id") private Integer id; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionProperty.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionProperty.java index 2d3e304..9c36769 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionProperty.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionProperty.java @@ -42,7 +42,7 @@ * Details about the server Jira is running on. */ @ApiModel(description = "Details about the server Jira is running on.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowTransitionProperty { @JsonProperty("key") private String key; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRule.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRule.java index a021d0e..9fad49a 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRule.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRule.java @@ -40,7 +40,7 @@ * A workflow transition rule. */ @ApiModel(description = "A workflow transition rule.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowTransitionRule { @JsonProperty("type") private String type; @@ -72,10 +72,10 @@ public WorkflowTransitionRule _configuration(Object _configuration) { } /** - * The configuration of the transition rule. This is currently returned only for some of the rule types. Availability of this property is subject to change. + * EXPERIMENTAL. The configuration of the transition rule. * @return _configuration **/ - @ApiModelProperty(value = "The configuration of the transition rule. This is currently returned only for some of the rule types. Availability of this property is subject to change.") + @ApiModelProperty(value = "EXPERIMENTAL. The configuration of the transition rule.") public Object getConfiguration() { return _configuration; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRules.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRules.java index 93d88c0..0e53c85 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRules.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRules.java @@ -44,7 +44,7 @@ * A workflow with transition rules. */ @ApiModel(description = "A workflow with transition rules.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowTransitionRules { @JsonProperty("workflowId") private WorkflowId workflowId; @@ -67,7 +67,7 @@ public WorkflowTransitionRules workflowId(WorkflowId workflowId) { * Get workflowId * @return workflowId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public WorkflowId getWorkflowId() { return workflowId; } @@ -82,9 +82,6 @@ public WorkflowTransitionRules postFunctions(List } public WorkflowTransitionRules addPostFunctionsItem(ConnectWorkflowTransitionRule postFunctionsItem) { - if (this.postFunctions == null) { - this.postFunctions = new ArrayList<>(); - } this.postFunctions.add(postFunctionsItem); return this; } @@ -93,7 +90,7 @@ public WorkflowTransitionRules addPostFunctionsItem(ConnectWorkflowTransitionRul * The list of post functions within the workflow. * @return postFunctions **/ - @ApiModelProperty(value = "The list of post functions within the workflow.") + @ApiModelProperty(required = true, value = "The list of post functions within the workflow.") public List getPostFunctions() { return postFunctions; } @@ -108,9 +105,6 @@ public WorkflowTransitionRules conditions(List co } public WorkflowTransitionRules addConditionsItem(ConnectWorkflowTransitionRule conditionsItem) { - if (this.conditions == null) { - this.conditions = new ArrayList<>(); - } this.conditions.add(conditionsItem); return this; } @@ -119,7 +113,7 @@ public WorkflowTransitionRules addConditionsItem(ConnectWorkflowTransitionRule c * The list of conditions within the workflow. * @return conditions **/ - @ApiModelProperty(value = "The list of conditions within the workflow.") + @ApiModelProperty(required = true, value = "The list of conditions within the workflow.") public List getConditions() { return conditions; } @@ -134,9 +128,6 @@ public WorkflowTransitionRules validators(List va } public WorkflowTransitionRules addValidatorsItem(ConnectWorkflowTransitionRule validatorsItem) { - if (this.validators == null) { - this.validators = new ArrayList<>(); - } this.validators.add(validatorsItem); return this; } @@ -145,7 +136,7 @@ public WorkflowTransitionRules addValidatorsItem(ConnectWorkflowTransitionRule v * The list of validators within the workflow. * @return validators **/ - @ApiModelProperty(value = "The list of validators within the workflow.") + @ApiModelProperty(required = true, value = "The list of validators within the workflow.") public List getValidators() { return validators; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesDetails.java new file mode 100644 index 0000000..15ceec7 --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesDetails.java @@ -0,0 +1,138 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowId; + +/** + * Details about a workflow configuration update request. + */ +@ApiModel(description = "Details about a workflow configuration update request.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class WorkflowTransitionRulesDetails { + @JsonProperty("workflowId") + private WorkflowId workflowId; + + @JsonProperty("workflowRuleIds") + private List workflowRuleIds = new ArrayList<>(); + + public WorkflowTransitionRulesDetails workflowId(WorkflowId workflowId) { + this.workflowId = workflowId; + return this; + } + + /** + * Get workflowId + * @return workflowId + **/ + @ApiModelProperty(required = true, value = "") + public WorkflowId getWorkflowId() { + return workflowId; + } + + public void setWorkflowId(WorkflowId workflowId) { + this.workflowId = workflowId; + } + + public WorkflowTransitionRulesDetails workflowRuleIds(List workflowRuleIds) { + this.workflowRuleIds = workflowRuleIds; + return this; + } + + public WorkflowTransitionRulesDetails addWorkflowRuleIdsItem(String workflowRuleIdsItem) { + this.workflowRuleIds.add(workflowRuleIdsItem); + return this; + } + + /** + * The list of connect workflow rule IDs. + * @return workflowRuleIds + **/ + @ApiModelProperty(required = true, value = "The list of connect workflow rule IDs.") + public List getWorkflowRuleIds() { + return workflowRuleIds; + } + + public void setWorkflowRuleIds(List workflowRuleIds) { + this.workflowRuleIds = workflowRuleIds; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowTransitionRulesDetails workflowTransitionRulesDetails = (WorkflowTransitionRulesDetails) o; + return Objects.equals(this.workflowId, workflowTransitionRulesDetails.workflowId) && + Objects.equals(this.workflowRuleIds, workflowTransitionRulesDetails.workflowRuleIds); + } + + @Override + public int hashCode() { + return Objects.hash(workflowId, workflowRuleIds); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowTransitionRulesDetails {\n"); + + sb.append(" workflowId: ").append(toIndentedString(workflowId)).append("\n"); + sb.append(" workflowRuleIds: ").append(toIndentedString(workflowRuleIds)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdate.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdate.java index a38e21c..da1ea70 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdate.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdate.java @@ -43,7 +43,7 @@ * Details about a workflow configuration update request. */ @ApiModel(description = "Details about a workflow configuration update request.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowTransitionRulesUpdate { @JsonProperty("workflows") private List workflows = new ArrayList<>(); @@ -54,9 +54,6 @@ public WorkflowTransitionRulesUpdate workflows(List wor } public WorkflowTransitionRulesUpdate addWorkflowsItem(WorkflowTransitionRules workflowsItem) { - if (this.workflows == null) { - this.workflows = new ArrayList<>(); - } this.workflows.add(workflowsItem); return this; } @@ -65,7 +62,7 @@ public WorkflowTransitionRulesUpdate addWorkflowsItem(WorkflowTransitionRules wo * The list of workflows with transition rules to update. * @return workflows **/ - @ApiModelProperty(value = "The list of workflows with transition rules to update.") + @ApiModelProperty(required = true, value = "The list of workflows with transition rules to update.") public List getWorkflows() { return workflows; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdateErrorDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdateErrorDetails.java index a2f14f9..14f6dc8 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdateErrorDetails.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdateErrorDetails.java @@ -45,7 +45,7 @@ * Details of any errors encountered while updating workflow transition rules for a workflow. */ @ApiModel(description = "Details of any errors encountered while updating workflow transition rules for a workflow.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowTransitionRulesUpdateErrorDetails { @JsonProperty("workflowId") private WorkflowId workflowId; @@ -65,7 +65,7 @@ public WorkflowTransitionRulesUpdateErrorDetails workflowId(WorkflowId workflowI * Get workflowId * @return workflowId **/ - @ApiModelProperty(value = "") + @ApiModelProperty(required = true, value = "") public WorkflowId getWorkflowId() { return workflowId; } @@ -103,9 +103,6 @@ public WorkflowTransitionRulesUpdateErrorDetails updateErrors(List updat } public WorkflowTransitionRulesUpdateErrorDetails addUpdateErrorsItem(String updateErrorsItem) { - if (this.updateErrors == null) { - this.updateErrors = new ArrayList<>(); - } this.updateErrors.add(updateErrorsItem); return this; } @@ -114,7 +111,7 @@ public WorkflowTransitionRulesUpdateErrorDetails addUpdateErrorsItem(String upda * The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries. * @return updateErrors **/ - @ApiModelProperty(value = "The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.") + @ApiModelProperty(required = true, value = "The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.") public List getUpdateErrors() { return updateErrors; } diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdateErrors.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdateErrors.java index c9740ea..3479d83 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdateErrors.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowTransitionRulesUpdateErrors.java @@ -43,7 +43,7 @@ * Details of any errors encountered while updating workflow transition rules. */ @ApiModel(description = "Details of any errors encountered while updating workflow transition rules.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorkflowTransitionRulesUpdateErrors { @JsonProperty("updateResults") private List updateResults = new ArrayList<>(); diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowsWithTransitionRulesDetails.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowsWithTransitionRulesDetails.java new file mode 100644 index 0000000..40218fb --- /dev/null +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorkflowsWithTransitionRulesDetails.java @@ -0,0 +1,115 @@ +/* + * Copyright © 2011 Everit Kft. (http://www.everit.org) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* + * The Jira Cloud platform REST API + * Jira Cloud platform REST API documentation + * + * The version of the OpenAPI document: 1001.0.0-SNAPSHOT + * Contact: ecosystem@atlassian.com + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package org.everit.atlassian.restclient.jiracloud.v3.model; + +import java.util.Objects; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import java.util.ArrayList; +import java.util.List; +import org.everit.atlassian.restclient.jiracloud.v3.model.WorkflowTransitionRulesDetails; + +/** + * Details of workflows and their transition rules to delete. + */ +@ApiModel(description = "Details of workflows and their transition rules to delete.") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") +public class WorkflowsWithTransitionRulesDetails { + @JsonProperty("workflows") + private List workflows = new ArrayList<>(); + + public WorkflowsWithTransitionRulesDetails workflows(List workflows) { + this.workflows = workflows; + return this; + } + + public WorkflowsWithTransitionRulesDetails addWorkflowsItem(WorkflowTransitionRulesDetails workflowsItem) { + this.workflows.add(workflowsItem); + return this; + } + + /** + * The list of workflows with transition rules to delete. + * @return workflows + **/ + @ApiModelProperty(required = true, value = "The list of workflows with transition rules to delete.") + public List getWorkflows() { + return workflows; + } + + public void setWorkflows(List workflows) { + this.workflows = workflows; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + WorkflowsWithTransitionRulesDetails workflowsWithTransitionRulesDetails = (WorkflowsWithTransitionRulesDetails) o; + return Objects.equals(this.workflows, workflowsWithTransitionRulesDetails.workflows); + } + + @Override + public int hashCode() { + return Objects.hash(workflows); + } + + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class WorkflowsWithTransitionRulesDetails {\n"); + + sb.append(" workflows: ").append(toIndentedString(workflows)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(java.lang.Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Worklog.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Worklog.java index a115a2a..6f2c8b6 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Worklog.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/Worklog.java @@ -49,7 +49,7 @@ * Details of a worklog. */ @ApiModel(description = "Details of a worklog.") -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class Worklog { @JsonProperty("self") private URI self; diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorklogIdsRequestBean.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorklogIdsRequestBean.java index 4dd07b3..28794c1 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorklogIdsRequestBean.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v3/model/WorklogIdsRequestBean.java @@ -41,7 +41,7 @@ /** * WorklogIdsRequestBean */ -@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2020-10-28T14:12:40.546+01:00[Europe/Prague]") +@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2021-09-03T13:48:26.928+02:00[Europe/Prague]") public class WorklogIdsRequestBean { @JsonProperty("ids") private List ids = new ArrayList<>(); diff --git a/src/main/resources/META-INF/jira-cloud-v2.openapi.json b/src/main/resources/META-INF/jira-cloud-v2.openapi.json index bfa0981..8d8e0e4 100644 --- a/src/main/resources/META-INF/jira-cloud-v2.openapi.json +++ b/src/main/resources/META-INF/jira-cloud-v2.openapi.json @@ -1 +1 @@ -{"openapi":"3.0.1","info":{"title":"The Jira Cloud platform REST API","description":"Jira Cloud platform REST API documentation","termsOfService":"http://atlassian.com/terms/","contact":{"email":"ecosystem@atlassian.com"},"license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"version":"1001.0.0-SNAPSHOT"},"externalDocs":{"description":"Find out more about Atlassian products and services.","url":"http://www.atlassian.com"},"servers":[{"url":"https://your-domain.atlassian.com"}],"tags":[{"name":"Application roles","description":"This resource represents application roles. Use it to get details of an application role or all application roles."},{"name":"Audit records","description":"This resource represents audits that record activities undertaken in Jira. Use it to get a list of audit records."},{"name":"Avatars","description":"This resource represents system and custom avatars. Use it to obtain the details of system or custom avatars as well as add and remove avatars from a project or issue type."},{"name":"Dashboards","description":"This resource represents dashboards. Use it to obtain the details of dashboards as well as add and remove item properties from dashboards."},{"name":"Filters","description":"This resource represents [filters](https://confluence.atlassian.com/x/eQiiLQ). Use it to get, create, update, or delete filters. Also use it to configure the columns for a filter and set favorite filters."},{"name":"Filter sharing","description":"This resource represents options for sharing [filters](#api-group-Filters). Use it to get share scopes as well as add and remove share scopes from filters."},{"name":"Group and user picker","description":"This resource represents a list of users and a list of groups. Use it to obtain the details to populate user and group picker suggestions list."},{"name":"Groups","description":"This resource represents groups of users. Use it to get, create, find, and delete groups as well as add and remove users from groups."},{"name":"Issues","description":"This resource represents Jira issues. Use it to:\n\n * create or edit issues, individually or in bulk.\n * retrieve metadata about the options for creating or editing issues.\n * delete an issue.\n * assign a user to an issue.\n * get issue changelogs.\n * send notifications about an issue.\n * get details of the transitions available for an issue.\n * transition an issue."},{"name":"Issue attachments","description":"This resource represents issue attachments and the attachment settings for Jira. Use it to get the metadata for an attachment, delete an attachment, and view the metadata for the contents of an attachment. Also, use it to get the attachment settings for Jira."},{"name":"Issue comments","description":"This resource represents issue comments. Use it to:\n\n * get, create, update, and delete a comment from an issue.\n * get all comments from issue.\n * get a list of comments by comment ID."},{"name":"Issue comment properties","description":"This resource represents [issue comment](#api-group-Issue-comments) properties, which provides for storing custom data against an issue comment. Use is to get, set, and delete issue comment properties as well as obtain the keys of all properties on a comment. Comment properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue fields","description":"This resource represents issue fields, both system and custom fields. Use it to get fields, field configurations, and create custom fields."},{"name":"Issue field configurations","description":"This resource represents issue field configurations. Use it to get, set, and delete field configurations and field configuration schemes."},{"name":"Issue custom field contexts","description":"This resource represents issue custom field contexts. Use it to:\n\n * delete custom field contexts."},{"name":"Issue custom field options","description":"This resource represents custom issue field select list options created in Jira or using the REST API. See [Issue custom field options (apps)](#api-group-Issue-custom-field-options--apps-) to manipulate custom issue field select list options created by a Connect app.\n\nA select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select an option from a list. Use this resource to retrieve, add, delete and reorder the options of a select list issue field."},{"name":"Issue custom field options (apps)","description":"This resource represents custom issue field select list options created by a Connect app. See [Issue custom field options](#api-group-Issue-custom-field-options) to manipulate options created in Jira or using the REST API.\n\nA select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select an option from a list. Use this resource to add, remove, and update the options of a select list issue field."},{"name":"Issue links","description":"This resource represents links between issues. Use it to get, create, and delete links between issues.\n\nTo use this resource, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled."},{"name":"Issue link types","description":"This resource represents [issue link](#api-group-Issue-links) types. Use it to get, create, update, and delete link issue types as well as get lists of all link issue types.\n\nTo use this resource, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled."},{"name":"Issue navigator settings","description":"This resource represents issue navigator settings. Use it to get and set issue navigator default columns."},{"name":"Issue notification schemes","description":"This resource represents notification schemes, lists of events and the recipients who will receive notifications for those events. Use this resource to get details of a notification scheme and a list of notification schemes."},{"name":"Issue priorities","description":"This resource represents issue priorities. Use it to obtain a list of issue priorities and details for individual issue priorities."},{"name":"Issue properties","description":"This resource represents [issue](#api-group-Issues) properties, which provides for storing custom data against an issue. Use it to get, set, and delete issue properties as well as obtain details of all properties on an issue. Operations to bulk update and delete issue properties are also provided. Issue properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue remote links","description":"This resource represents remote issue links, a way of linking Jira to information in other systems. Use this resource to get, create, update, and delete remote issue links either by ID or global ID. The global ID provides a way of accessing remote issue links using information about the item's remote system host and remote system identifier."},{"name":"Issue resolutions","description":"This resource represents issue resolution values. Use it to obtain a list of all issue resolution values and the details of individual resolution values."},{"name":"Issue search","description":"This resource represents various ways to search for issues. Use it to search for issues with a JQL query and find issues to populate an issue picker."},{"name":"Issue security level","description":"This resource represents issue security levels. Use it to obtain the details of any issue security level. For more information about issue security levels, see [Configuring issue-level security](https://confluence.atlassian.com/x/J4lKLg)."},{"name":"Issue security schemes","description":"This resource represents issue security schemes. Use it to get an issue security scheme or list of issues security schemes.\n\nIssue security schemes control which users or groups of users can view an issue. When an issue security scheme is associated with a project, its security levels can be applied to issues in that project. Sub-tasks also inherit the security level of their parent issue."},{"name":"Issue types","description":"This resource represents issues types. Use it to:\n\n * get, create, update, and delete issue types.\n * get all issue types for a user.\n * get alternative issue types.\n * set an avatar for an issue type."},{"name":"Issue type schemes","description":"This resource represents issue type schemes in classic projects. Use it to:\n\n * get issue type schemes and a list of the projects that use them.\n * associate issue type schemes with projects.\n * add issue types to issue type schemes.\n * delete issue types from issue type schemes.\n * create, update, and delete issue type schemes.\n * change the order of issue types in issue type schemes."},{"name":"Issue type screen schemes","description":"This resource represents issue type screen schemes. Use it to:\n\n * get issue type screen schemes and a list of the projects that use them.\n * create issue type screen schemes.\n * update issue type screen schemes.\n * delete issue type screen schemes.\n * associate issue type screen schemes with projects."},{"name":"Issue type properties","description":"This resource represents [issue type](#api-group-Issue-types) properties, which provides for storing custom data against an issue type. Use it to get, create, and delete issue type properties as well as obtain the keys of all properties on a issues type. Issue type properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue votes","description":"This resource represents votes cast by users on an issue. Use it to get details of votes on an issue as well as cast and withdrawal votes."},{"name":"Issue watchers","description":"This resource represents users watching an issue. Use it to get details of users watching an issue as well as start and stop a user watching an issue."},{"name":"Issue worklogs","description":"This resource represents issue worklogs. Use it to:\n\n * get, create, update, and delete worklogs.\n * obtain lists of updated or deleted worklogs."},{"name":"Issue worklog properties","description":"This resource represents [issue worklog](#api-group-Issue-worklogs) properties, which provides for storing custom data against an issue worklog. Use it to get, create, and delete issue worklog properties as well as obtain the keys of all properties on a issue worklog. Issue worklog properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Jira expressions","description":"This resource is a collection of operations for [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/)."},{"name":"Jira settings","description":"This resource represents various settings in Jira. Use it to get and update Jira settings and properties."},{"name":"JQL","description":"This resource represents JQL search auto-complete details. Use it to obtain JQL search auto-complete data and suggestions for use in programmatic construction of queries or custom query builders. It also provides an operation to convert one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs."},{"name":"Labels","description":"This resource represents available labels. Use it to get available labels for the global label field."},{"name":"Myself","description":"This resource represents information about the current user, such as basic details, group membership, application roles, preferences, and locale. Use it to get, create, update, and delete (restore default) values of the user's preferences and locale."},{"name":"Permissions","description":"This resource represents permissions. Use it to obtain details of all permissions and determine whether the user has certain permissions."},{"name":"Permission schemes","description":"This resource represents permission schemes. Use it to get, create, update, and delete permission schemes as well as get, create, update, and delete details of the permissions granted in those schemes."},{"name":"Projects","description":"This resource represents projects. Use this resource to get, create, update, and delete projects. Also get statuses available to a project, a project's notification schemes, and update a project's type."},{"name":"Project avatars","description":"This resource represents avatars associated with a project. Use it to get, load, set, and remove project avatars."},{"name":"Project categories","description":"This resource represents project categories. Use it to create, update, and delete project categories as well as obtain a list of all project categories and details of individual categories. For more information on managing project categories, see [Adding, assigning, and deleting project categories](https://confluence.atlassian.com/x/-A5WMg)."},{"name":"Project components","description":"This resource represents project components. Uses to get, create, update, and delete project components. Also get components for project and get a count of issues by component."},{"name":"Project email","description":"This resource represents the email address used to send a project's notifications. Use this resource to get and set the [project's sender email address](https://confluence.atlassian.com/x/dolKLg)."},{"name":"Project key and name validation","description":"This resource provides validation for project keys and names."},{"name":"Project permission schemes","description":"This resource represents permission schemes for a project. Use this resource to:\n\n * get details of a project's issue security levels available to the calling user.\n * get the permission scheme associated with the project or assign different permission scheme to the project.\n * get details of a project's issue security scheme.\n\nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes."},{"name":"Project properties","description":"This resource represents [project](#api-group-Projects) properties, which provides for storing custom data against a project. Use it to get, create, and delete project properties as well as get a list of property keys for a project. Project properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Project roles","description":"This resource represents the roles that users can play in projects. Use this resource to get, create, update, and delete project roles."},{"name":"Project role actors","description":"This resource represents the users assigned to [project roles](#api-group-Issue-comments). Use this resource to get, add, and remove default users from project roles. Also use this resource to add and remove users from a project role associated with a project."},{"name":"Project types","description":"This resource represents project types. Use it to obtain a list of all project types, a list of project types accessible to the calling user, and details of a project type."},{"name":"Project versions","description":"This resource represents project versions. Use it to get, get lists of, create, update, move, merge, and delete project versions. This resource also provides counts of issues by version."},{"name":"Screens","description":"This resource represents the screens used to record issue details. Use this resource to:\n\n * get details of all screens.\n * get details of all the fields available for use on screens.\n * create screens.\n * delete screens.\n * update screens.\n * add a field to the default screen."},{"name":"Screen tabs","description":"This resource represents the screen tabs used to record issue details. Use this resource to get, create, update, move, and delete screen tabs."},{"name":"Screen tab fields","description":"This resource represents the screen tab fields used to record issue details. Use this resource to get, add, move, and remove fields from screen tabs."},{"name":"Screen schemes","description":"This resource represents screen schemes in classic projects. Use it to get, create, update, and delete screen schemes."},{"name":"Server info","description":"This resource provides information about the Jira instance."},{"name":"Tasks","description":"This resource represents a [long-running asynchronous tasks](#async-operations). Use it to obtain details about the progress of a long-running task or cancel a long-running task."},{"name":"Time tracking","description":"This resource represents time tracking and time tracking providers. Use it to get and set the time tracking provider, get and set the time tracking options, and disable time tracking."},{"name":"Users","description":"This resource represent users. Use this resource to:\n\n * get, get a list of, create, and delete users.\n * get, set, and reset a user's default issue table columns.\n * get a list of the groups the user belongs to.\n * get a list of user account IDs for a list of usernames or user keys."},{"name":"User properties","description":"This resource represents [user](#api-group-Users) properties and provides for storing custom data against a user. Use it to get, create, and delete user properties as well as get a list of property keys for a user. This resourse is designed for integrations and apps to store per-user data and settings. This enables data used to customized the user experience to be kept in the Jira Cloud instance's database. User properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).\n\nThis resource does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira."},{"name":"User search","description":"This resource represents various ways to search for and find users. Use it to obtain list of users including users assignable to projects and issues, users with permissions, user lists for pickup fields, and user lists generated using structured queries. Note that the operations in this resource only return users found within the first 1000 users."},{"name":"Webhooks","description":"This resource represents webhooks. Webhooks are calls sent to a URL when an event occurs in Jira for issues specified by a JQL query. Only Connect apps can register webhooks. For more information, see [Webhooks](https://developer.atlassian.com/cloud/jira/platform/webhooks/#registering-a-webhook-via-the-jira-rest-api-for-connect-apps)."},{"name":"Workflows","description":"This resource represents workflows. Use it to get a list of workflows."},{"name":"Workflow transition rules","description":"This resource represents workflow transition rules. Workflow transition rules define a Connect app routine, such as a [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) that is executed in association with the workflow. Use this resource to read and modify configuration of workflow transition rules."},{"name":"Workflow schemes","description":"This resource represents workflow schemes. Use this resource to manage workflow schemes and the workflow scheme's workflows and issue types.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. When an active workflow scheme is edited, a draft copy of the scheme is created. The draft workflow scheme is then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information."},{"name":"Workflow scheme project associations","description":"This resource represents the associations between workflow schemes and projects.\n\nFor more information, see [Managing your workflows](https://confluence.atlassian.com/x/q4hKLg)."},{"name":"Workflow scheme drafts","description":"This resource represents draft workflow schemes. Use this resource to manage drafts of workflow schemes.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. Editing an active workflow scheme creates a draft copy of the scheme. The draft workflow scheme can then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information."},{"name":"Workflow statuses","description":"This resource represents issue workflow statuses. Use it to obtain a list of all statuses associated with workflows and the details of a status."},{"name":"Workflow status categories","description":"This resource represents status categories. Use it to obtain a list of all status categories and the details of a category. Status categories provided a mechanism for categorizing [statuses](#api-group-Workflow-statuses)."},{"name":"Workflow transition properties","description":"This resource represents workflow transition properties, which provides for storing custom data against a workflow transition. Use it to get, create, and delete workflow transition properties as well as get a list of property keys for a workflow transition. Workflow transition properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"App properties","description":"This resource represents app properties. Use it to store arbitrary data for your\n[Connect app](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect)."},{"name":"Dynamic modules","description":"This resource represents [modules registered dynamically](https://developer.atlassian.com/cloud/jira/platform/dynamic-modules/)\nby [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect)."}],"paths":{"/rest/api/2/application-properties":{"get":{"tags":["Jira settings"],"summary":"Get application property","description":"Returns all application properties or an application property.\n\nIf you specify a value for the `key` parameter, then an application property is returned as an object (not in an array). Otherwise, an array of all editable application properties is returned. See [Set application property](#api-rest-api-2-application-properties-id-put) for descriptions of editable properties.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getApplicationProperty","parameters":[{"name":"key","in":"query","description":"The key of the application property.","schema":{"type":"string"}},{"name":"permissionLevel","in":"query","description":"The permission level of all items being returned in the list.","schema":{"type":"string"}},{"name":"keyFilter","in":"query","description":"When a `key` isn't provided, this filters the list of results by the application property `key` using a regular expression. For example, using `jira.lf.*` will return all application properties with keys that start with *jira.lf.*.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationProperty"}},"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 -\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the application property is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/application-properties/advanced-settings":{"get":{"tags":["Jira settings"],"summary":"Get advanced settings","description":"Returns the application properties that are accessible on the *Advanced Settings* page. To navigate to the *Advanced Settings* page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration** and then click **Advanced Settings** (in the upper right).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAdvancedSettings","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationProperty"}},"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 -\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/application-properties/{id}":{"put":{"tags":["Jira settings"],"summary":"Set application property","description":"Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values.\n\n#### Advanced settings ####\n\nThe advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | \n| `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | \n| `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | \n| `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | \n| `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | \n| `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | \n| `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` | \n| `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | \n| `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | \n| `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | \n\n\n#### Look and feel ####\n\nThe settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | \n| `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | \n| `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | \n| `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | \n| `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | \n| `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | \n| `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | \n| `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | \n| `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | \n| `jira.lf.top.adg3.bgcolour` | The background color of the sidebar. | `#0747A6` | \n| `jira.lf.top.adg3.textcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | \n| `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | \n| `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | \n| `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | \n| `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | \n\n\n#### Other settings ####\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | \n\n\n*Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).*\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setApplicationProperty","parameters":[{"name":"id","in":"path","description":"The key of the application property to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleApplicationPropertyBean"},"example":{"id":"jira.home","value":"/var/jira/jira-home"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationProperty"}}}},"400":{"description":"Returned if the data type of the `value` does not match the application property's data type. For example, a string is provided instead of an integer."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the property."},"404":{"description":"Returned if the property is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/applicationrole":{"get":{"tags":["Application roles"],"summary":"Get all application roles","description":"Returns all application roles. In Jira, application roles are managed using the [Application access configuration](https://confluence.atlassian.com/x/3YxjL) page.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllApplicationRoles","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRole"}},"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}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/applicationrole/{key}":{"get":{"tags":["Application roles"],"summary":"Get application role","description":"Returns an application role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getApplicationRole","parameters":[{"name":"key","in":"path","description":"The key of the application role. Use the [Get all application roles](#api-rest-api-2-applicationrole-get) operation to get the key for each application role.","required":true,"schema":{"type":"string","example":"jira-software"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationRole"},"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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."},"404":{"description":"Returned if the role is not found."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/attachment/meta":{"get":{"tags":["Issue attachments"],"summary":"Get Jira attachment settings","description":"Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.\n\nNote that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether users can create and delete attachments.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAttachmentMeta","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentSettings"},"example":"{\"enabled\":true,\"uploadLimit\":1000000}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/attachment/{id}":{"get":{"tags":["Issue attachments"],"summary":"Get attachment metadata","description":"Returns the metadata for an attachment. Note that the attachment itself is not returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getAttachment","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentMetadata"},"example":"{\"id\":10001,\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"debuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.902+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10001/debuglog.txt\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Issue attachments"],"summary":"Delete attachment","description":"Deletes an attachment from an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the project holding the issue containing the attachment:\n\n * *Delete own attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by the calling user.\n * *Delete all attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by any user.","operationId":"removeAttachment","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/attachment/{id}/expand/human":{"get":{"tags":["Issue attachments"],"summary":"Get all metadata for an expanded attachment","description":"Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.\n\nUse this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded attachment](#api-rest-api-2-attachment-id-expand-raw-get), which only returns the metadata for the attachment's contents.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"expandAttachmentForHumans","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentArchiveMetadataReadable"},"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\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"The user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."},"409":{"description":"Returned if the attachment is an archive, but not a supported archive format."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/attachment/{id}/expand/raw":{"get":{"tags":["Issue attachments"],"summary":"Get contents metadata for an expanded attachment","description":"Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported.\n\nUse this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all metadata for an expanded attachment](#api-rest-api-2-attachment-id-expand-human-get) which also returns the metadata for the attachment itself, such as the attachment's ID and name.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"expandAttachmentForMachines","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentArchiveImpl"},"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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"The user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."},"409":{"description":"Returned if the attachment is an archive, but not a supported archive format."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/auditing/record":{"get":{"tags":["Audit records"],"summary":"Get audit records","description":"Returns a list of audit records. The list can be filtered to include items:\n\n * containing a string in at least one field. For example, providing *up* will return all audit records where one or more fields contains words such as *update*.\n * created on or after a date and time.\n * created or or before a date and time.\n * created during a time period.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAuditRecords","parameters":[{"name":"offset","in":"query","description":"The number of records to skip before returning the first result.","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to return.","schema":{"type":"integer","format":"int32","default":1000}},{"name":"filter","in":"query","description":"The query string.","schema":{"type":"string"}},{"name":"from","in":"query","description":"The date and time on or after which returned audit records must have been created. If `to` is provided `from` must be before `to` or no audit records are returned.","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"The date and time on or before which returned audit results must have been created. If `from` is provided `to` must be after `from` or no audit records are returned.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditRecords"},"example":"{\"offset\":0,\"limit\":1000,\"total\":1,\"records\":[{\"id\":1,\"summary\":\"User created\",\"remoteAddress\":\"192.168.1.1\",\"authorKey\":\"administrator\",\"authorAccountId\":\"5ab8f18d741e9c2c7e9d4538\",\"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\"}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the required permissions.\n * all Jira products are on free plans. Audit logs are available when at least one Jira product is on a paid plan."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/avatar/{type}/system":{"get":{"tags":["Avatars"],"summary":"Get system avatars by type","description":"Returns a list of system avatar details by owner type, where the owner types are issue type, project, or user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllSystemAvatars","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","example":"project","enum":["issuetype","project","user"]},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemAvatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"500":{"description":"Returned if an error occurs while retrieving the list of avatars."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/comment/list":{"post":{"tags":["Issue comments"],"summary":"Get comments by IDs","description":"Returns a [paginated](#pagination) list of just the comments for a list of comments specified by comment IDs.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are returned where the user:\n\n * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentsByIds","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedBody` Returns the comment body rendered in HTML.\n * `properties` Returns the comment's properties.","schema":{"type":"string"}}],"requestBody":{"description":"The list of comment IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCommentListRequestBean"},"example":{"ids":[1,2,5,10]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanComment"},"example":"{\"maxResults\":1048576,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.904+0000\",\"updated\":\"2020-10-28T05:46:02.904+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}]}"}}},"400":{"description":"Returned if the request contains more than 1000 IDs or is empty."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/comment/{commentId}/properties":{"get":{"tags":["Issue comment properties"],"summary":"Get comment property keys","description":"Returns the keys of all the properties of a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentPropertyKeys","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the comment ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/comment/{commentId}/properties/{propertyKey}":{"get":{"tags":["Issue comment properties"],"summary":"Get comment property","description":"Returns the value of a comment property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment or the property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue comment properties"],"summary":"Set comment property","description":"Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.","operationId":"setCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the comment property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the comment property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue comment properties"],"summary":"Delete comment property","description":"Deletes a comment property.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.","operationId":"deleteCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment or the property is not found or the user has the necessary project permissions but isn't a member of the role or group visibility of the comment is restricted to."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/component":{"post":{"tags":["Project components"],"summary":"Create component","description":"Creates a component. Use components to provide containers for issues within a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the component is created or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createComponent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":{"isAssigneeTypeValid":false,"name":"Component 1","description":"This is a Jira component","project":"HSP","assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a2844c20165700ede21g"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `name` is not provided.\n * `name` is over 255 characters in length.\n * `projectId` is not provided.\n * `assigneeType` is an invalid value."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if the project is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/component/{id}":{"get":{"tags":["Project components"],"summary":"Get component","description":"Returns a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.","operationId":"getComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the component is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project components"],"summary":"Update component","description":"Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string (\"\") the component lead is removed.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":{"isAssigneeTypeValid":false,"name":"Component 1","description":"This is a Jira component","assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a2844c20165700ede21g"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `assigneeType` is an invalid value.\n * `name` is over 255 characters in length."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if the component is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project components"],"summary":"Delete component","description":"Deletes a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}},{"name":"moveIssuesTo","in":"query","description":"The ID of the component to replace the deleted component. If this value is null no replacement is made.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if:\n\n * the component is not found.\n * the replacement component is not found.\n * the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/component/{id}/relatedIssueCounts":{"get":{"tags":["Project components"],"summary":"Get component issues count","description":"Returns the counts of issues assigned to the component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getComponentRelatedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentIssuesCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"issueCount\":23}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the component is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/configuration":{"get":{"tags":["Jira settings"],"summary":"Get global settings","description":"Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this operation also returns the time tracking configuration.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getConfiguration","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"},"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\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/configuration/timetracking":{"get":{"tags":["Time tracking"],"summary":"Get selected time tracking provider","description":"Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a successful but empty response is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getSelectedTimeTrackingImplementation","parameters":[],"responses":{"200":{"description":"Returned if the request is successful and time tracking is enabled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingProvider"},"example":"{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\",\"url\":\"/example/config/url\"}"}}},"204":{"description":"Returned if the request is successful but time tracking is disabled.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Time tracking"],"summary":"Select time tracking provider","description":"Selects a time tracking provider.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"selectTimeTrackingImplementation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingProvider"},"example":{"key":"Jira"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the time tracking provider is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/configuration/timetracking/list":{"get":{"tags":["Time tracking"],"summary":"Get all time tracking providers","description":"Returns all time tracking providers. By default, Jira only has one time tracking provider: *JIRA provided time tracking*. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more information on time tracking providers, see the documentation for the [ Time Tracking Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAvailableTimeTrackingImplementations","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TimeTrackingProvider"}},"example":"[{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\",\"url\":\"/example/config/url\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/configuration/timetracking/options":{"get":{"tags":["Time tracking"],"summary":"Get time tracking settings","description":"Returns the time tracking settings. This includes settings such as the time format, default time unit, and others. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getSharedTimeTrackingConfiguration","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":"{\"workingHoursPerDay\":7.6,\"workingDaysPerWeek\":5.5,\"timeFormat\":\"pretty\",\"defaultUnit\":\"hour\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Time tracking"],"summary":"Set time tracking settings","description":"Sets the time tracking settings.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setSharedTimeTrackingConfiguration","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":{"defaultUnit":"hour","workingHoursPerDay":7.6,"workingDaysPerWeek":5.5,"timeFormat":"pretty"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":"{\"workingHoursPerDay\":7.6,\"workingDaysPerWeek\":5.5,\"timeFormat\":\"pretty\",\"defaultUnit\":\"hour\"}"}}},"400":{"description":"Returned if the request object is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/customField/{fieldId}/option":{"get":{"tags":["Issue custom field options"],"summary":"Get options for field","description":"Returns a [paginated](#pagination) list of options and, where the custom select field is of the type *Select List (cascading)*, cascading options for custom select fields. Cascading options are included in the item count when determining pagination. Only options from the global context are returned.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getOptionsForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1000}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldOptionDetails"},"example":"{\"maxResults\":2,\"startAt\":0,\"total\":100,\"isLast\":false,\"values\":[{\"id\":10000,\"value\":\"Option value\",\"cascadingOptions\":[\"Child option\",\"Child option 2\"]},{\"id\":10001,\"value\":\"Other option value\",\"cascadingOptions\":[]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue custom field options"],"summary":"Update custom field options","description":"Updates the options on a custom select field. Where an updated option is in use on an issue, the value on the issue is also updated. Options that are not found are ignored. A maximum of 1000 options, including sub-options of *Select List (cascading)* fields, can be updated per request. The options are updated on the global context of the field.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateCustomFieldOptions","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomFieldOption"},"example":{"options":[{"newValue":"New option","value":"Option"},{"cascadingOptions":[{"newValue":"New first child option","value":"First child option"}],"newValue":"Second option","value":"Second option"},{"cascadingOptions":[{"newValue":"New second child option","value":"Second child option"},{"newValue":"New third child option","value":"Third child option"}],"newValue":"New third option value","value":"Third option value"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the field is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue custom field options"],"summary":"Create custom field options","description":"Creates options and, where the custom select field is of the type *Select List (cascading)*, cascading options for a custom select field. The options are added to the global context of the field.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomFieldOptions","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCreateCustomFieldOptionRequest"},"example":{"options":[{"cascadingOptions":[],"value":"Option value"},{"cascadingOptions":["Child option"],"value":"Other option value"},{"cascadingOptions":["Sub-option","Sub-option 2"],"value":"Third option value"}]}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the field is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/customFieldOption/{id}":{"get":{"tags":["Issue custom field options"],"summary":"Get custom field option","description":"Returns a custom field option. For example, an option in a select list.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The custom field option is returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the custom field is used in, and the field is visible in at least one layout the user has permission to view.","operationId":"getCustomFieldOption","parameters":[{"name":"id","in":"path","description":"The ID of the custom field option.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/customFieldOption/10000\",\"value\":\"To Do\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the custom field option is not found.\n * the user does not have permission to view the custom field."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/dashboard":{"get":{"tags":["Dashboards"],"summary":"Get all dashboards","description":"Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllDashboards","parameters":[{"name":"filter","in":"query","description":"The filter applied to the list of dashboards. Valid values are:\n\n * `favourite` Returns dashboards the user has marked as favorite.\n * `my` Returns dashboards owned by the user.","schema":{"type":"string","enum":["my","favourite"]}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfDashboards"},"example":"{\"startAt\":10,\"maxResults\":10,\"total\":143,\"prev\":\"https://your-domain.atlassian.net/rest/api/2/dashboard?startAt=0\",\"next\":\"https://your-domain.atlassian.net/rest/api/2/dashboard?startAt=10\",\"dashboards\":[{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"},{\"id\":\"20000\",\"isFavourite\":true,\"name\":\"Build Engineering\",\"owner\":{\"key\":\"Mia\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"name\":\"mia\",\"displayName\":\"Mia Krystof\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/20000\",\"sharePermissions\":[{\"id\":10105,\"type\":\"group\",\"group\":{\"name\":\"administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=administrators\"}}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=20000\"}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Dashboards"],"summary":"Create dashboard","description":"Creates a dashboard.\n\n**[Permissions](#permissions) required:** None.","operationId":"createDashboard","parameters":[],"requestBody":{"description":"Dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/dashboard/search":{"get":{"tags":["Dashboards"],"summary":"Search for dashboards","description":"Returns a [paginated](#pagination) list of dashboards. This operation is similar to [Get dashboards](#api-rest-api-2-dashboard-get) except that the results can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The following dashboards that match the query parameters are returned:\n\n * Dashboards owned by the user. Not returned for anonymous users.\n * Dashboards shared with a group that the user is a member of. Not returned for anonymous users.\n * Dashboards shared with a private project that the user can browse. Not returned for anonymous users.\n * Dashboards shared with a public project.\n * Dashboards shared with the public.","operationId":"getDashboardsPaginated","parameters":[{"name":"dashboardName","in":"query","description":"String used to perform a case-insensitive partial match with `name`.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with the `owner` parameter.","schema":{"maxLength":128,"type":"string"}},{"name":"owner","in":"query","description":"This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return dashboards with the matching `owner.name`. This parameter cannot be used with the `accountId` parameter.","schema":{"type":"string"}},{"name":"groupname","in":"query","description":"Group name used to returns dashboards that are shared with a group that matches `sharePermissions.group.name`.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`.","schema":{"type":"integer","format":"int64"}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by dashboard popularity.\n * `id` Sorts by dashboard ID.\n * `is_favourite` Sorts by whether the dashboard is marked as a favorite.\n * `name` Sorts by dashboard name.\n * `owner` Sorts by dashboard owner name.","schema":{"type":"string","enum":["description","-description","+description","favorite_count","-favorite_count","+favorite_count","id","-id","+id","is_favorite","-is_favorite","+is_favorite","name","-name","+name","owner","-owner","+owner"],"default":"name"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the dashboard.\n * `owner` Returns the owner of the dashboard.\n * `viewUrl` Returns the URL that is used to view the dashboard.\n * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.\n * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.\n * `sharePermissions` Returns details of the share permissions defined for the dashboard.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanDashboard"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/search?expand=owner&maxResults=50&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"description\":\"Testing program\",\"id\":\"1\",\"isFavourite\":true,\"name\":\"Testing\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\",\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/1\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=1\"},{\"description\":\"Quantum initiative\",\"id\":\"2\",\"isFavourite\":false,\"name\":\"Quantum \",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\",\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}},\"popularity\":0,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/2\",\"sharePermissions\":[{\"type\":\"loggedin\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=2\"}]}"}}},"400":{"description":"Returned if:\n\n * `orderBy` is invalid.\n * `expand` includes an invalid value.\n * `accountId` and `owner` are provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"401 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties":{"get":{"tags":["Dashboards"],"summary":"Get dashboard item property keys","description":"Returns the keys of all properties for a dashboard item.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or be shared the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboardItemPropertyKeys","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the dashboard or dashboard item is not found, or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}":{"get":{"tags":["Dashboards"],"summary":"Get dashboard item property","description":"Returns the key and value of a dashboard item property.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or be shared the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the dashboard, the dashboard item, or dashboard item property is not found, or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Dashboards"],"summary":"Set dashboard item property","description":"Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard item.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.","operationId":"setDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the dashboard item property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the dashboard item property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not the owner of the dashboard."},"404":{"description":"Returned if the dashboard item is not found or the dashboard is not shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Dashboards"],"summary":"Delete dashboard item property","description":"Deletes a dashboard item property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.","operationId":"deleteDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the dashboard item property is deleted."},"400":{"description":"Returned if the dashboard or dashboard item ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not the owner of the dashboard."},"404":{"description":"Returned if the dashboard item is not found or the dashboard is not shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/dashboard/{id}":{"get":{"tags":["Dashboards"],"summary":"Get dashboard","description":"Returns a dashboard.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.\n\nHowever, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Dashboards"],"summary":"Update dashboard","description":"Updates a dashboard, replacing all the dashboard details with those provided.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be updated must be owned by the user.","operationId":"updateDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Replacement dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Dashboards"],"summary":"Delete dashboard","description":"Deletes a dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be deleted must be owned by the user.","operationId":"deleteDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the dashboard is deleted."},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/dashboard/{id}/copy":{"post":{"tags":["Dashboards"],"summary":"Copy dashboard","description":"Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be copied must be owned by or shared with the user.","operationId":"copyDashboard","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by or shared with the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/expression/analyse":{"post":{"tags":["Jira expressions"],"summary":"Analyse Jira expression","description":"Analyses and validates Jira expressions.\n\nAs an experimental feature, this operation can also attempt to type-check the expressions.\n\nLearn more about Jira expressions in the [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).\n\n**[Permissions](#permissions) required**: None.","operationId":"analyseExpression","parameters":[{"name":"check","in":"query","description":"The check to perform:\n\n * `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are validated. For example, the expression's length.\n * `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors that would result in the expression failure at runtime are reported. For example, accessing properties that don't exist or passing the wrong number of arguments to functions. Also performs the syntax check.\n * `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each expression may execute.","schema":{"type":"string","enum":["syntax","type","complexity"],"default":"syntax"}}],"requestBody":{"description":"The Jira expressions to analyse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionForAnalysis"},"example":{"contextVariables":{"listOfStrings":"List","record":"{ a: Number, b: String }","value":"User"},"expressions":["issues.map(issue => issue.properties['property_key'])"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionsAnalysis"},"example":"{\"results\":[{\"expression\":\"analysed expression\",\"errors\":[{\"line\":1,\"column\":4,\"message\":\"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, new, [ or { expected, > encountered.\",\"type\":\"syntax\"},{\"message\":\"Jira expression is too long (1040), limit: 1000 characters\",\"type\":\"other\"},{\"message\":\"Jira expression has too many nodes (150), limit: 100 leaves\",\"type\":\"other\"}],\"valid\":false},{\"expression\":\"issues.map(i => {idAndKey: [i.id, i.key], summary: i.summary, comments: i.comments})\",\"valid\":true,\"type\":\"List<{idAndKey: [Number, String], summary: String, comments: List}>\",\"complexity\":{\"expensiveOperations\":\"N\",\"variables\":{\"N\":\"issues\"}}},{\"expression\":\"issues.map(i => i.id > '0')\",\"errors\":[{\"expression\":\"i.id > 0\",\"message\":\"Can't compare Number to String.\",\"type\":\"type\"}],\"valid\":false,\"type\":\"TypeError\"}]}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"404 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/expression/eval":{"post":{"tags":["Jira expressions"],"summary":"Evaluate Jira expression","description":"Evaluates a Jira expression and returns its value.\n\nThis resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.\n\n#### Context variables ####\n\nThe following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions.\n\n * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous.\n * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The Connect app that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).\n * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object.\n * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object.\n * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object.\n * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object.\n * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object.\n * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object.\n * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. \nPermission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`).","operationId":"evaluateJiraExpression","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions.","schema":{"type":"string"}}],"requestBody":{"description":"The Jira expression and the evaluation context.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionEvalRequestBean"},"example":{"expression":"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }","context":{"issue":{"key":"ACJIRA-1470"},"sprint":10001,"project":{"key":"ACJIRA"},"serviceDesk":10023,"issues":{"jql":{"maxResults":100,"query":"project = HSP","startAt":0,"validation":"strict"}},"board":10100,"customerRequest":1450}}}},"required":true},"responses":{"200":{"description":"Returned if the evaluation results in a value. The result is a JSON primitive value, list, or object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionResult"},"example":"{\"value\":\"The expression's result. This value can be any JSON, not necessarily a String\",\"meta\":{\"complexity\":{\"steps\":{\"value\":1,\"limit\":10000},\"expensiveOperations\":{\"value\":3,\"limit\":10},\"beans\":{\"value\":0,\"limit\":1000},\"primitiveValues\":{\"value\":1,\"limit\":10000}},\"issues\":{\"jql\":{\"startAt\":0,\"maxResults\":1000,\"count\":140,\"totalCount\":140,\"validationWarnings\":[\"There is a problem with the JQL query.\"]}}}}"}}},"400":{"description":"Returned if:\n\n * the request is invalid, that is:\n \n * invalid data is provided, such as a request including issue ID and key.\n * the expression is invalid and can not be parsed.\n * evaluation fails at runtime. This may happen for various reasons. For example, accessing a property on a null object (such as the expression `issue.id` where `issue` is `null`). In this case an error message is provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Evaluation failed: \\\"issue['a' + 'b']\\\" - Unrecognized property of `issue`: \\\"ab\\\" ('a' + 'b'). Available properties of type 'Issue' are: 'assignee', 'comments', 'description', 'id', 'issueType', 'key', 'priority', 'project', 'properties', 'reporter', 'status', 'summary'\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if any object provided in the request context is not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Issue does not exist or you do not have permission to see it.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/field":{"get":{"tags":["Issue fields"],"summary":"Get fields","description":"Returns system and custom issue fields according to the following rules:\n\n * Fields that cannot be added to the issue navigator are always returned.\n * Fields that cannot be placed on an issue screen are always returned.\n * Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking fields, subtasks, votes, and watches.\n * For all other fields, this operation only returns the fields that the user has permission to view (that is, the field is used in at least one project that the user has *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.)\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getFields","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FieldDetails"}},"example":"[{\"id\":\"description\",\"name\":\"Description\",\"custom\":false,\"orderable\":true,\"navigable\":true,\"searchable\":true,\"clauseNames\":[\"description\"],\"schema\":{\"type\":\"string\",\"system\":\"description\"}},{\"id\":\"summary\",\"key\":\"summary\",\"name\":\"Summary\",\"custom\":false,\"orderable\":true,\"navigable\":true,\"searchable\":true,\"clauseNames\":[\"summary\"],\"schema\":{\"type\":\"string\",\"system\":\"summary\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue fields"],"summary":"Create custom field","description":"Creates a custom field.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomField","parameters":[],"requestBody":{"description":"Definition of the custom field to be created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldDefinitionJsonBean"},"example":{"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","name":"New custom field","description":"Custom field for picking groups","type":"com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"}}},"required":true},"responses":{"201":{"description":"Returned if the custom field is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldDetails"},"example":"{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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}}"}}},"400":{"description":"Returned if:\n\n * the user does not have permission to create custom fields.\n * any of the request object properties have invalid or missing values."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/search":{"get":{"tags":["Issue fields"],"summary":"Get fields paginated","description":"Returns a [paginated](#pagination) list of fields for Classic Jira projects. The list can include:\n\n * all fields.\n * specific fields, by defining `id`.\n * fields that contain a string in the field name or description, by defining `query`.\n * specific fields that contain a string in the field name or description, by defining `id` and `query`.\n\nOnly custom fields can be queried, `type` must be set to `custom`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldsPaginated","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"type","in":"query","description":"The type of fields to search.","schema":{"type":"array","items":{"type":"string","enum":["custom","system"]}}},{"name":"id","in":"query","description":"The IDs of the custom fields to return or, where`query is specified, filter. IDs should be provided in the format customfield_XXXXX.`","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"query","in":"query","description":"String used to perform a case-insensitive partial match with field names or descriptions.","schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `contextsCount` Sorts by the number of contexts related to a field.\n * `lastUsed` Sorts by the date when the value of the field last changed.\n * `name` Sorts by the field name.\n * `screensCount` Sorts by the number of screens related to a field.","schema":{"type":"string","enum":["contextsCount","-contextsCount","+contextsCount","lastUsed","-lastUsed","+lastUsed","name","-name","+name","screensCount","-screensCount","+screensCount"]}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `key` Returns the key for each field.\n * `lastUsed` Returns the date when the value of the field last changed.\n * `screensCount` Returns the number of screens related to a field.\n * `contextsCount` Returns the number of contexts related to a field.\n * `isLocked` Returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanField"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":false,\"values\":[{\"id\":\"customfield_10000\",\"name\":\"Approvers\",\"description\":\"Contains users needed for approval. This custom field was created by Jira Service Desk.\",\"key\":\"customfield_10000\",\"isLocked\":true,\"screensCount\":2,\"contextsCount\":2,\"lastUsed\":{\"type\":\"TRACKED\",\"value\":\"2019-09-12T10:10:00.926+0000\"}},{\"id\":\"customfield_10001\",\"name\":\"Change reason\",\"description\":\"Choose the reason for the change request\",\"key\":\"customfield_10001\",\"isLocked\":false,\"screensCount\":2,\"contextsCount\":2}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only custom fields can be queried.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can access fields.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldId}/context/{contextId}":{"delete":{"tags":["Issue custom field contexts"],"summary":"Delete custom field context","description":"Deletes [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).\n\nOnly custom field contexts used in classic projects can be deleted.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the context is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The contextId has to be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field or the context was not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldId}/context/{contextId}/option":{"get":{"tags":["Issue custom field options"],"summary":"Get options for field (context)","description":"Returns a [paginated](#pagination) list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getOptionsForContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"optionId","in":"query","description":"The ID of the option.","schema":{"type":"integer","format":"int64"}},{"name":"onlyOptions","in":"query","description":"Whether only options are returned.","schema":{"type":"boolean","default":false}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1000}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContextOption"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"id\":\"10001\",\"value\":\"New York\"},{\"id\":\"10002\",\"value\":\"Boston\",\"disabled\":true},{\"id\":\"10004\",\"value\":\"Denver\"},{\"id\":\"10003\",\"value\":\"Brooklyn\",\"optionId\":\"10001\"}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found or the context doesn't match the custom field.","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldId}/context/{contextId}/option/move":{"put":{"tags":["Issue custom field options"],"summary":"Reorder options (context)","description":"Changes the order of custom field options or cascading options in a context.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"reorderCustomFieldOptions","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderOfCustomFieldOptions"},"example":{"position":"First","customFieldOptionIds":["10001","10002"]}}},"required":true},"responses":{"204":{"description":"Returned if options are reordered.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"'after' and 'position' were provided. Only 'after' or 'position' can be specified.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, the context, or one or more of the options is not found..","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldId}/context/{contextId}/option/{optionId}":{"delete":{"tags":["Issue custom field options"],"summary":"Delete custom field option (context)","description":"Deletes a custom field option.\n\nOptions with cascading options cannot be deleted without deleting the cascading options first.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteCustomFieldOption","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context from which an option should be deleted.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"optionId","in":"path","description":"The ID of the option to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the option is deleted."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, the context, or the option is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldId}/contexts":{"get":{"tags":["Issue fields"],"summary":"Get contexts for a field","description":"Returns a [paginated](#pagination) list of the contexts a field is used in.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getContextsForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field to return contexts for.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanContext"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":10001,\"name\":\"Default Context\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldId}/screens":{"get":{"tags":["Screens"],"summary":"Get screens for a field","description":"Returns a [paginated](#pagination) list of the screens a field is used in.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreensForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field to return screens for.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreen"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":10001,\"name\":\"Default Screen\",\"description\":\"Provides for the update of all system fields.\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get all issue field options","description":"Returns a [paginated](#pagination) list of all the options of a select list issue field. A select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a value from a list of options.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"getAllIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}]}"}}},"400":{"description":"Returned if the field is not found or does not support options."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"post":{"tags":["Issue custom field options (apps)"],"summary":"Create issue field option","description":"Creates an option for a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"createIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOptionCreateBean"},"example":{"value":"Team 1","config":{"scope":{"projects2":[{"attributes":["notSelectable"],"id":1001},{"attributes":["notSelectable"],"id":1002}],"projects":[],"global":{}},"attributes":[]},"properties":{"leader":{"name":"Leader Name","email":"lname@example.com"},"members":42,"founded":"2016-06-06","description":"The team's description"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the option is invalid."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option/suggestions/edit":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get selectable issue field options","description":"Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed and selected by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getSelectableIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"Filters the results to options that are only available in the specified project.","schema":{"type":"integer","format":"int64"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option/suggestions/search":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get visible issue field options","description":"Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getVisibleIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32"}},{"name":"projectId","in":"query","description":"Filters the results to options that are only available in the specified project.","schema":{"type":"integer","format":"int64"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option/{optionId}":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get issue field option","description":"Returns an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"getIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be returned.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the requested option is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the field is not found or does not support options."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the option is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"put":{"tags":["Issue custom field options (apps)"],"summary":"Update issue field option","description":"Updates or creates an option for a select list issue field. This operation requires that the option ID is provided when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID provided in the path and body must be identical.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"updateIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be updated.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":{"id":1,"value":"Team 1","config":{"scope":{"projects2":[{"attributes":["notSelectable"],"id":1001},{"attributes":["notSelectable"],"id":1002}],"projects":[],"global":{}},"attributes":[]},"properties":{"leader":{"name":"Leader Name","email":"lname@example.com"},"members":42,"founded":"2016-06-06","description":"The team's description"}}}},"required":true},"responses":{"200":{"description":"Returned if the option is updated or created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the option is invalid, or the *ID* in the request object does not match the *optionId* parameter."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["Issue custom field options (apps)"],"summary":"Delete issue field option","description":"Deletes an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"deleteIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be deleted.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the field option is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the field or option is not found."},"409":{"description":"Returned if the option is selected for the field in any issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option/{optionId}/issue":{"delete":{"tags":["Issue custom field options (apps)"],"summary":"Replace issue field option","description":"Deselects an issue-field select-list option from all issues where it is selected. A different option can be selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL query.\n\nThis is an [asynchronous operation](#async). The response object contains a link to the long-running task.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"replaceIssueFieldOption","parameters":[{"name":"replaceWith","in":"query","description":"The ID of the option that will replace the currently selected option.","schema":{"type":"integer","format":"int64"}},{"name":"jql","in":"query","description":"A JQL query that specifies the issues to be updated. For example, *project=10000*.","schema":{"type":"string"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be deselected.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"303":{"description":"Returned if the long-running task to deselect the option is started.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanRemoveOptionFromIssuesResult"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/task/1\",\"id\":\"1\",\"description\":\"Remove option 1 from issues matched by '*', and replace with option 3\",\"status\":\"COMPLETE\",\"result\":{\"modifiedIssues\":[10001,10010],\"unmodifiedIssues\":[10005],\"errors\":{\"errors\":{},\"errorMessages\":[\"Option 2 cannot be set on issue MKY-5 as it is not in the correct scope\"],\"httpStatusCode\":{\"present\":true}}},\"elapsedRuntime\":42}"}}},"400":{"description":"Returned if the JQL query is invalid."},"404":{"description":"Returned if the field is not found or does not support options, or the options to be replaced are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/fieldconfiguration":{"get":{"tags":["Issue field configurations"],"summary":"Get all field configurations","description":"Returns a [paginated](#pagination) list of all field configurations.\n\nOnly field configurations used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllFieldConfigurations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"isDefault","in":"query","description":"If *true* returns the default field configuration only.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfiguration"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":10000,\"name\":\"Default Field Configuration\",\"description\":\"The default field configuration description\",\"isDefault\":true},{\"id\":10001,\"name\":\"My Field Configuration\",\"description\":\"My field configuration description\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/fieldconfiguration/{id}/fields":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration items","description":"Returns a [paginated](#pagination) list of all fields for a configuration.\n\nOnly the fields from configurations used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationItems","parameters":[{"name":"id","in":"path","description":"The ID of the field configuration.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationItem"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"environment\",\"description\":\"For example operating system, software platform and/or hardware specifications (include as appropriate for the issue).\",\"isHidden\":false,\"isRequired\":false},{\"id\":\"description\",\"isHidden\":false,\"isRequired\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the field configuration is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/fieldconfigurationscheme":{"get":{"tags":["Issue field configurations"],"summary":"Get all field configuration schemes","description":"Returns a [paginated](#pagination) list of field configuration schemes.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllFieldConfigurationSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationScheme"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Field Configuration Scheme for Bugs\",\"description\":\"This field configuration scheme is for bugs only.\"},{\"id\":\"10001\",\"name\":\"Field Configuration Scheme for software related projects\",\"description\":\"We can use this one for software projects.\"},{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for Epics\",\"description\":\"Use this one for Epic issue type.\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/fieldconfigurationscheme/mapping":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration issue type items","description":"Returns a [paginated](#pagination) list of field configuration issue type items.\n\nOnly items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationSchemeMappings","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"fieldConfigurationSchemeId","in":"query","description":"The list of field configuration scheme IDs. To include multiple field configuration schemes separate IDs with ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`.","schema":{"maxItems":50,"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64","example":10020}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationIssueTypeItem"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":5,\"isLast\":true,\"values\":[{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\":\"10000\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\":\"10001\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\":\"10021\",\"issueTypeId\":\"10002\",\"fieldConfigurationId\":\"10000\"},{\"fieldConfigurationSchemeId\":\"10022\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"10011\"},{\"fieldConfigurationSchemeId\":\"10023\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"10000\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if no field configuration schemes are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/fieldconfigurationscheme/project":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration schemes for projects","description":"Returns a [paginated](#pagination) list of field configuration schemes and, for each scheme, a list of the projects that use it.\n\nThe list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to the default field configuration scheme.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationSchemeProjectMapping","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationSchemeProjects"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":5,\"isLast\":true,\"values\":[{\"projectIds\":[\"10\",\"11\"]},{\"fieldConfigurationScheme\":{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for software related projects\",\"description\":\"We can use this one for software projects.\"},\"projectIds\":[\"12\",\"13\",\"14\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue field configurations"],"summary":"Assign field configuration scheme to project","description":"Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.\n\nField configuration schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignFieldConfigurationSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldConfigurationSchemeProjectAssociation"},"example":{"fieldConfigurationSchemeId":"10000","projectId":"10000"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the project is not a classic project.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have field configuration schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access field configurations.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the project is missing.","content":{"application/json":{"example":"{\"errorMessages\":[\"The project was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/filter":{"get":{"tags":["Filters"],"summary":"Get filters","description":"Returns all filters. Deprecated, use [ Search for filters](#api-rest-api-2-filter-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-changes":[{"type":"removed","announced":"2018-10-19","effective":"2019-04-19","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/"}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Filters"],"summary":"Create filter","description":"Creates a filter. The filter is shared according to the [default share scope](#api-rest-api-2-filter-post). The filter is not selected as a favorite.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"createFilter","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"requestBody":{"description":"The filter to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":{"jql":"type = Bug and resolution is empty","name":"All Open Bugs","description":"Lists all open bugs"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/filter/defaultShareScope":{"get":{"tags":["Filter sharing"],"summary":"Get default share scope","description":"Returns the default sharing settings for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getDefaultShareScope","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":"{\"scope\":\"GLOBAL\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filter sharing"],"summary":"Set default share scope","description":"Sets the default sharing for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setDefaultShareScope","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":{"scope":"GLOBAL"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":"{\"scope\":\"GLOBAL\"}"}}},"400":{"description":"Returned if an invalid scope is set."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/filter/favourite":{"get":{"tags":["Filters"],"summary":"Get favorite filters","description":"Returns the visible favorite filters of the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** A favorite filter is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.","operationId":"getFavouriteFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}}],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/filter/my":{"get":{"tags":["Filters"],"summary":"Get my filters","description":"Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are also returned.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.","operationId":"getMyFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}},{"name":"includeFavourites","in":"query","description":"Include the user's favorite filters in the response.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}}],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/filter/search":{"get":{"tags":["Filters"],"summary":"Search for filters","description":"Returns a [paginated](#pagination) list of filters. Use this operation to get:\n\n * specific filters, by defining `id` only.\n * filters that match all of the specified attributes. For example, all filters for a user with a particular word in their name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters that match the query parameters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getFiltersPaginated","parameters":[{"name":"filterName","in":"query","description":"String used to perform a case-insensitive partial match with `name`.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"User account ID used to return filters with the matching `owner.accountId`. This parameter cannot be used with `owner`.","schema":{"maxLength":128,"type":"string"}},{"name":"owner","in":"query","description":"This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return filters with the matching `owner.name`. This parameter cannot be used with `accountId`.","schema":{"type":"string"}},{"name":"groupname","in":"query","description":"Group name used to returns filters that are shared with a group that matches `sharePermissions.group.groupname`.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"Project ID used to returns filters that are shared with a project that matches `sharePermissions.project.id`.","schema":{"type":"integer","format":"int64"}},{"name":"id","in":"query","description":"The list of filter IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by filter description. Note that this sorting works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by the count of how many users have this filter as a favorite.\n * `is_favourite` Sorts by whether the filter is marked as a favorite.\n * `id` Sorts by filter ID.\n * `name` Sorts by filter name.\n * `owner` Sorts by the ID of the filter owner.","schema":{"type":"string","enum":["description","-description","+description","favorite_count","-favorite_count","+favorite_count","id","-id","+id","is_favorite","-is_favorite","+is_favorite","name","-name","+name","owner","-owner","+owner"],"default":"name"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the filter.\n * `favourite` Returns an indicator of whether the user has set the filter as a favorite.\n * `favouritedCount` Returns a count of how many users have set this filter as a favorite.\n * `jql` Returns the JQL query that the filter uses.\n * `owner` Returns the owner of the filter.\n * `searchUrl` Returns a URL to perform the filter's JQL query.\n * `sharePermissions` Returns the share permissions defined for the filter.\n * `subscriptions` Returns the users that are subscribed to the filter.\n * `viewUrl` Returns a URL to view the filter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFilterDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/search?accountId=&maxResults=50&filterName=&orderBy=name&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":[]},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}}],\"subscriptions\":[{\"id\":1,\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}}]}]}"}}},"400":{"description":"Returned if:\n\n * `owner` and `accountId` are provided.\n * `expand` includes an invalid value.\n * `orderBy` is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/filter/{id}":{"get":{"tags":["Filters"],"summary":"Get filter","description":"Returns a filter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, the filter is only returned where it is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.","operationId":"getFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to return.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the filter is not found or the user does not have permission to view it."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filters"],"summary":"Update filter","description":"Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must own the filter.","operationId":"updateFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to update.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"requestBody":{"description":"The filter to update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":{"jql":"type = Bug and resolution is empty","name":"All Open Bugs","description":"Lists all open bugs"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Delete filter","description":"Delete a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the filter is not found."},"401":{"description":"Returned if the user does not have permission to delete the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/filter/{id}/columns":{"get":{"tags":["Filters"],"summary":"Get columns","description":"Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed in *List View* with the *Columns* set to *Filter*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, column details are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}},"example":"[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"Summary\",\"value\":\"summary\"}]"}}},"400":{"description":"Returned if the user does not have permission to view the filter."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if a column configuration is not set for the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filters"],"summary":"Set columns","description":"Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get fields](#api-rest-api-2-field-get) to get the list fields in Jira. A navigable field has `navigable` set to `true`.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/filter/10000/columns`\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only set for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"setColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The IDs of the fields to set as columns. In the form data, specify each field as `columns=id`, where `id` is the *id* of a field (as seen in the response for [Get fields](#api-rest-api--field-get)). For example, `columns=summary`.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * a non-navigable field is set as a column.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Reset columns","description":"Reset the user's column configuration for the filter to the default.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only reset for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"resetColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/filter/{id}/favourite":{"put":{"tags":["Filters"],"summary":"Add filter as favorite","description":"Add a filter as a favorite for the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, the user can only favorite:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"setFavouriteForFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to favorite the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Remove filter as favorite","description":"Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from the user's favorites list. For example, if the user favorites a public filter that is subsequently made private (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"deleteFavouriteForFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/filter/{id}/permission":{"get":{"tags":["Filter sharing"],"summary":"Get share permissions","description":"Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, share permissions are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getSharePermissions","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharePermission"}},"example":"[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY\",\"id\":\"10002\",\"key\":\"MKY\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"},\"deleted\":true,\"retentionTillDate\":\"2020-12-27T05:46:01.040+0000\",\"deletedDate\":\"2020-10-28T05:46:01.041+0000\",\"deletedBy\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}},\"role\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}},{\"id\":10010,\"type\":\"group\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Filter sharing"],"summary":"Add share permission","description":"Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the public) it will overwrite all share permissions for the filter.\n\nBe aware that this operation uses different objects for updating share permissions compared to [Update filter](#api-rest-api-2-filter-id-put).\n\n**[Permissions](#permissions) required:** *Share dashboards and filters* [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the filter.","operationId":"addSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePermissionInputBean"},"example":{"type":"group","groupname":"jira-administrators"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharePermission"}},"example":"[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY\",\"id\":\"10002\",\"key\":\"MKY\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"},\"deleted\":true,\"retentionTillDate\":\"2020-12-27T05:46:01.040+0000\",\"deletedDate\":\"2020-10-28T05:46:01.041+0000\",\"deletedBy\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}},\"role\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}},{\"id\":10010,\"type\":\"group\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"}}]"}}},"400":{"description":"Returned if:\n\n * the request object is invalid. For example, it contains an invalid type, the ID does not match the type, or the project or group is not found.\n * the user does not own the filter.\n * the user does not have the required permissions."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/filter/{id}/permission/{permissionId}":{"get":{"tags":["Filter sharing"],"summary":"Get share permission","description":"Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, a share permission is only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the share permission.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePermission"},"example":"{\"id\":10000,\"type\":\"global\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the permission is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Filter sharing"],"summary":"Delete share permission","description":"Deletes a share permission from a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira and the user must own the filter.","operationId":"deleteSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the share permission.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not own the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/group":{"get":{"tags":["Groups"],"summary":"Get group","description":"This operation is deprecated, use [`group/member`](#api-rest-api-2-group-member-get).\n\nReturns all users in a group.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"List of fields to expand.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the Administer Jira global permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Groups"],"summary":"Create group","description":"Creates a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"createGroup","parameters":[],"requestBody":{"description":"The name of the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddGroupBean"},"example":{"name":"power-users"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"},"example":"{\"name\":\"power-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=power-users\",\"users\":{\"size\":1,\"items\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}],\"max-results\":50,\"start-index\":0,\"end-index\":0},\"expand\":\"users\"}"}}},"400":{"description":"Returned if group name is not specified or the group name is in use."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Groups"],"summary":"Remove group","description":"Deletes a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* strategic [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"swapGroup","in":"query","description":"The group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/group/bulk":{"get":{"tags":["Groups"],"summary":"Bulk get groups","description":"Returns a [paginated](#pagination) list of the groups specified by one or more group IDs.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetGroups","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"groupId","in":"query","description":"The ID of a group. To specify multiple groups, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"type":"array","example":"3571b9a7-348f-414a-9087-8e1ea03a7df8","items":{"type":"string","example":"3571b9a7-348f-414a-9087-8e1ea03a7df8"}},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanGroupDetails"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"name\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user doesn't have permission to view the list of groups."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/group/member":{"get":{"tags":["Groups"],"summary":"Get users from group","description":"Returns a [paginated](#pagination) list of all users in a group.\n\nNote that users are ordered by username, however the username is not returned in the results due to privacy reasons.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUsersFromGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"includeInactiveUsers","in":"query","description":"Include inactive users.","schema":{"type":"boolean","default":false}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUserDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=2&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=4&maxResults=2\",\"maxResults\":2,\"startAt\":3,\"total\":5,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"name\":\"\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{},\"displayName\":\"Mia\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"accountType\":\"atlassian\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a0effa615349cb016cd8\",\"name\":\"\",\"key\":\"\",\"accountId\":\"5b10a0effa615349cb016cd8\",\"emailAddress\":\"will@example.com\",\"avatarUrls\":{},\"displayName\":\"Will\",\"active\":false,\"timeZone\":\"Australia/Sydney\",\"accountType\":\"atlassian\"}]}"}}},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the Administer Jira global permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/group/user":{"post":{"tags":["Groups"],"summary":"Add user to group","description":"Adds a user to a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"addUserToGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group (case sensitive).","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The user to add to the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserToGroupBean"},"example":{"accountId":"5b10ac8d82e05b22cc7d4ef5"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Returned if:\n\n * `groupname` is not provided.\n * `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the calling user does not have the necessary permission."},"404":{"description":"Returned if the group or user are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Groups"],"summary":"Remove user from group","description":"Removes a user from a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeUserFromGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * `groupName` is missing.\n * `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the group or user are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/groups/picker":{"get":{"tags":["Groups"],"summary":"Find groups","description":"Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude groups from the results.\n\nThe primary use case for this resource is to populate a group picker suggestions list. To this end, the returned object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker, specifically *Showing X of Y matching groups*.\n\nThe list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users without the required permission return an empty list.","operationId":"findGroups","parameters":[{"name":"accountId","in":"query","description":"This parameter is deprecated, setting it does not affect the results. To find groups containing a particular user, use [Get user groups](#api-rest-api-2-user-groups-get).","schema":{"type":"string"}},{"name":"query","in":"query","description":"The string to find in group names.","schema":{"type":"string","example":"query"}},{"name":"exclude","in":"query","description":"A group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"maxResults","in":"query","description":"The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`.","schema":{"type":"integer","format":"int32"}},{"name":"userName","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundGroups"},"example":"{\"header\":\"Showing 20 of 25 matching groups\",\"total\":25,\"groups\":[{\"name\":\"jdog-developers\",\"html\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"html\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/groupuserpicker":{"get":{"tags":["Group and user picker"],"summary":"Find users and groups","description":"Returns a list of users and groups matching a string. The string is used:\n\n * for users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.\n * for groups, to find a case-sensitive match with group name.\n\nFor example, if the string *tin* is used, records with the display name *Tina*, email address *sarah@tinplatetraining.com*, and the group *accounting* would be returned.\n\nOptionally, the search can be refined to:\n\n * the projects and issue types associated with a custom field, such as a user picker. The search can then be further refined to return only users and groups that have permission to view specific:\n \n * projects.\n * issue types.\n \n If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.\n * not return Connect app users and groups.\n * return groups that have a case-insensitive match with the query.\n\nThe primary use case for this resource is to populate a picker field suggestion list with users or groups. To this end, the returned object includes an `html` field for each list. This field highlights the matched query term in the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for use in a picker, specifically *Showing X of Y matching groups*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"findUsersAndGroups","parameters":[{"name":"query","in":"query","description":"The search string.","required":true,"schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"The maximum number of items to return in each list.","schema":{"type":"integer","format":"int32","default":50}},{"name":"showAvatar","in":"query","description":"Whether the user avatar should be returned. If an invalid value is provided, the default value is used.","schema":{"type":"boolean","default":false}},{"name":"fieldId","in":"query","description":"The custom field ID of the field this request is for.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"The ID of a project that returned users and groups must have permission to view. To include multiple projects, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`. This parameter is only used when `fieldId` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issueTypeId","in":"query","description":"The ID of an issue type that returned users and groups must have permission to view. To include multiple issue types, provide an ampersand-separated list. For example, `issueTypeId=10000&issueTypeId=10001`. Special values, such as `-1` (all standard issue types) and `-2` (all subtask issue types), are supported. This parameter is only used when `fieldId` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"avatarSize","in":"query","description":"The size of the avatar to return. If an invalid value is provided, the default value is used.","schema":{"type":"string","enum":["xsmall","xsmall@2x","xsmall@3x","small","small@2x","small@3x","medium","medium@2x","medium@3x","large","large@2x","large@3x","xlarge","xlarge@2x","xlarge@3x","xxlarge","xxlarge@2x","xxlarge@3x","xxxlarge","xxxlarge@2x","xxxlarge@3x"],"default":"xsmall"}},{"name":"caseInsensitive","in":"query","description":"Whether the search for groups should be case insensitive.","schema":{"type":"boolean","default":false}},{"name":"excludeConnectAddons","in":"query","description":"Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided, the default value is used.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundUsersAndGroups"},"example":"{\"users\":{\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"mia\",\"key\":\"mia\",\"html\":\"Mia Krystof - mia@example.com (mia)\",\"displayName\":\"Mia Krystof\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}],\"total\":25,\"header\":\"Showing 20 of 25 matching groups\"},\"groups\":{\"header\":\"Showing 20 of 25 matching groups\",\"total\":25,\"groups\":[{\"name\":\"jdog-developers\",\"html\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"html\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}}"}}},"400":{"description":"Returned if the query parameter is not provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue":{"post":{"tags":["Issues"],"summary":"Create issue","description":"Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.\n\nThe content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are the same fields that appear on the issue's create screen.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).\n * `parent` must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created.","operationId":"createIssue","parameters":[{"name":"updateHistory","in":"query","description":"Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2019-07-05T11:05:00.000+0000"}}]},"fields":{"summary":"Main order flow broken","parent":{"key":"PROJ-123"},"issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":"Occurs on all orders","customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"10000"},"description":"Order entry fails when selecting supplier.","reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"remainingEstimate":"5","originalEstimate":"10"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":"UAT","versions":[{"id":"10000"}],"duedate":"2019-03-11","customfield_60000":"jira-software-users","customfield_50000":"Could impact day-to-day work.","assignee":{"id":"5b109f2e9729b51b54dc274d"}}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssue"},"example":"{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10000\",\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\":{}}}}"}}},"400":{"description":"Returned if the request:\n\n * is missing required fields.\n * contains invalid field values.\n * contains fields that cannot be set for the issue type.\n * is by a user who does not have the necessary permission.\n * is to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * is invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Field 'priority' is required\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/bulk":{"post":{"tags":["Issues"],"summary":"Bulk create issue","description":"Creates issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue properties set.\n\nThe content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are the same fields that appear on the issues' create screens.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).\n * `parent` the must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which each issue or subtask is created.","operationId":"createIssues","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesUpdateBean"},"example":{"issueUpdates":[{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2019-07-05T11:05:00.000+0000"}}]},"fields":{"summary":"Main order flow broken","parent":{"key":"PROJ-123"},"issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":"Occurs on all orders","customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"10000"},"description":"Order entry fails when selecting supplier.","reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"remainingEstimate":"5","originalEstimate":"10"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":"UAT","versions":[{"id":"10000"}],"duedate":"2019-03-11","customfield_60000":"jira-software-users","customfield_50000":"Could impact day-to-day work.","assignee":{"id":"5b109f2e9729b51b54dc274d"}}},{"update":{},"fields":{"summary":"Order stuck in pending","parent":{"id":"10034"},"issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":"Occurs on all orders","customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"1000"},"description":"Order remains pending after approved.","reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["new_release"],"timetracking":{"remainingEstimate":"5","originalEstimate":"15"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":"UAT","versions":[{"id":"10000"}],"duedate":"2019-04-16","customfield_60000":"jira-software-users","customfield_50000":"Could impact day-to-day work.","assignee":{"id":"5b109f2e9729b51b54dc274d"}}}]}}},"required":true},"responses":{"201":{"description":"Returned if any of the issue or subtask creation requests were successful. A request may be unsuccessful when it:\n\n * is missing required fields.\n * contains invalid field values.\n * contains fields that cannot be set for the issue type.\n * is by a user who does not have the necessary permission.\n * is to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * is invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssues"},"example":"{\"issues\":[{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10000\",\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\":{}}}},{\"id\":\"10001\",\"key\":\"ED-25\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10001\"}],\"errors\":[]}"}}},"400":{"description":"Returned if all requests are invalid. Requests may be unsuccessful when they:\n\n * are missing required fields.\n * contain invalid field values.\n * contain fields that cannot be set for the issue type.\n * are by a user who does not have the necessary permission.\n * are to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * are invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssues"},"example":"{\"issues\":[],\"errors\":[{\"status\":400,\"elementErrors\":{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\",\"project\":\"Sub-tasks must be created in the same project as the parent.\"}},\"failedElementNumber\":0},{\"status\":400,\"elementErrors\":{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\",\"project\":\"Sub-tasks must be created in the same project as the parent.\"}},\"failedElementNumber\":1}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/createmeta":{"get":{"tags":["Issues"],"summary":"Get create issue metadata","description":"Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in [ Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).\n\nThe request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.","operationId":"getCreateIssueMeta","parameters":[{"name":"projectIds","in":"query","description":"List of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using an ampersand-separated list. For example, `projectIds=10000,10001&projectIds=10020,10021`. This parameter may be provided with `projectKeys`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"projectKeys","in":"query","description":"List of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided using an ampersand-separated list. For example, `projectKeys=proj1,proj2&projectKeys=proj3`. This parameter may be provided with `projectIds`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issuetypeIds","in":"query","description":"List of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided using an ampersand-separated list. For example, `issuetypeIds=10000,10001&issuetypeIds=10020,10021`. This parameter may be provided with `issuetypeNames`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issuetypeNames","in":"query","description":"List of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be provided using an ampersand-separated list. For example, `issuetypeNames=name1,name2&issuetypeNames=name3`. This parameter may be provided with `issuetypeIds`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about issue metadata in the response. This parameter accepts `projects.issuetypes.fields`, which returns information about the fields in the issue creation screen for each issue type. Fields hidden from the screen are not returned. Use the information to populate the `fields` and `update` fields in [Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCreateMetadata"},"example":"{\"projects\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ED\",\"id\":\"10000\",\"key\":\"ED\",\"name\":\"Edison Project\",\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000&avatarId=10011\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000&avatarId=10011\",\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?pid=10000&avatarId=10011\"},\"issuetypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"An error in the code\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png\",\"name\":\"Bug\",\"subtask\":false,\"fields\":{\"issuetype\":{\"required\":true,\"name\":\"Issue Type\",\"key\":\"issuetype\",\"hasDefaultValue\":false,\"operations\":[\"set\"]}}}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/picker":{"get":{"tags":["Issue search"],"summary":"Get issue picker suggestions","description":"Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the user is looking for an issue using a word or string.\n\nThis operation returns two lists:\n\n * `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain the string in the `query` parameter.\n * `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the `query` parameter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getIssuePickerResource","parameters":[{"name":"query","in":"query","description":"A string to match against text fields in the issue such as title, description, or comments.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"currentJQL","in":"query","description":"A JQL query defining a list of issues to search for the query term. Note that `username` and `userkey` cannot be used as search terms for this parameter, due to privacy reasons. Use `accountId` instead.","schema":{"type":"string"}},{"name":"currentIssueKey","in":"query","description":"The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform this query.","schema":{"type":"string"}},{"name":"currentProjectId","in":"query","description":"The ID of a project that suggested issues must belong to.","schema":{"type":"string"}},{"name":"showSubTasks","in":"query","description":"Indicate whether to include subtasks in the suggestions list.","schema":{"type":"boolean"}},{"name":"showSubTaskParent","in":"query","description":"When `currentIssueKey` is a subtask, whether to include the parent issue in the suggestions if it matches the query.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuePickerSuggestions"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/properties":{"post":{"tags":["Issue properties"],"summary":"Bulk set issues properties","description":"Sets the values of entity properties on issues. It can set up to 10 entity properties on up to 10,000 issues.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum length of single issue property value is 32768 characters. This operation can be accessed anonymously.\n\nThis operation is:\n\n * transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"bulkSetIssuesProperties","parameters":[],"requestBody":{"description":"Issue properties to be set or updated with values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueEntityProperties"}}},"required":true},"responses":{"303":{"description":"Returned if the operation is successful."},"400":{"description":"Return if the request is invalid or the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/properties/{propertyKey}":{"put":{"tags":["Issue properties"],"summary":"Bulk set issue property","description":"Sets a property value on multiple issues. The issues to be updated can be specified by a filter.\n\nThe filter identifies issues eligible for update using these criteria:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n * `hasProperty`:\n \n * If *true*, only issues with the property are eligible.\n * If *false*, only issues without the property are eligible.\n\nIf more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible.\n\nIf an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value).\n\nThe filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either all eligible issues are updated or, when errors occur, none are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.","operationId":"bulkSetIssueProperty","parameters":[{"name":"propertyKey","in":"path","description":"The key of the property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkIssuePropertyUpdateRequest"},"example":{"filter":{"hasProperty":true,"entityIds":[10100,100010],"currentValue":{"owner":"admin","weight":50}},"value":{"owner":"admin","weight":100}}}},"required":true},"responses":{"303":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue properties"],"summary":"Bulk delete issue property","description":"Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.\n\nThe criteria the filter used to identify eligible issues are:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n\nIf both criteria is specified, they are joined with the logical *AND*: only issues that satisfy both criteria are considered eligible.\n\nIf no filter criteria are specified, all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.","operationId":"bulkDeleteIssueProperty","parameters":[{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFilterForBulkPropertyDelete"},"example":{"entityIds":[10100,100010],"currentValue":"deprecated value"}}},"required":true},"responses":{"303":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}":{"get":{"tags":["Issues"],"summary":"Get issue","description":"Returns the details for an issue.\n\nThe issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is **not** returned. The issue key returned in the response is the key of the issue found.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all (default) fields except description.\n * `*navigable,-comment` Returns all navigable fields except comment.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2& fields=field3`.\n\nNote: All fields are returned by default. This differs from [Search for issues using JQL (GET)](#api-rest-api-2-search-get) and [Search for issues using JQL (POST)](#api-rest-api-2-search-post) where the default is all navigable fields.","schema":{"type":"array","items":{"type":"string","default":"*all"}}},{"name":"fieldsByKeys","in":"query","description":"Whether fields in `fields` are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID.","schema":{"type":"boolean","default":false}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the `fields` parameter is ignored.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:\n\n * `*all` Returns all issue properties.\n * Any issue property key, prefixed with a minus to exclude.\n\nExamples:\n\n * `*all` Returns all properties.\n * `*all,-prop1` Returns all properties except `prop1`.\n * `prop1,prop2` Returns `prop1` and `prop2` properties.\n\nThis parameter may be specified multiple times. For example, `properties=prop1,prop2& properties=prop3`.","schema":{"type":"array","items":{"type":"string","default":"null"}}},{"name":"updateHistory","in":"query","description":"Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. This also populates the [JQL issues search](#api-rest-api-2-search-get) `lastViewed` field.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueBean"},"example":"{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10001,\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"debuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.902+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10001/debuglog.txt\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":\"Main order flow broken\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.904+0000\",\"updated\":\"2020-10-28T05:46:02.904+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2020-10-28T05:46:02.934+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:02.933+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}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issues"],"summary":"Edit issue","description":"Edits an issue. A transition may be applied and issue properties updated as part of the edit.\n\nThe edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are determined using [ Get edit issue metadata](#api-rest-api-2-issue-issueIdOrKey-editmeta-get).\n\nThe parent field may be set by key or ID. For standard issue types, the parent may be removed by setting `update.parent.set.none` to *true*.\n\nConnect app users with admin permissions (from user permissions and app scopes) can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"editIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether a notification email about the issue update is sent to all watchers. To disable the notification, administer Jira or administer project permissions are required. If the user doesn't have the necessary permission the request is ignored.","schema":{"type":"boolean","default":true}},{"name":"overrideScreenSecurity","in":"query","description":"Whether screen security should be overridden to enable hidden fields to be edited. Available to Connect app users with admin permissions.","schema":{"type":"boolean","default":false}},{"name":"overrideEditableFlag","in":"query","description":"Whether screen security should be overridden to enable uneditable fields to be edited. Available to Connect app users with admin permissions.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"historyMetadata":{"actor":{"avatarUrl":"http://mysystem/avatar/tony.jpg","displayName":"Tony","id":"tony","type":"mysystem-user","url":"http://mysystem/users/tony"},"extraData":{"Iteration":"10a","Step":"4"},"description":"From the order testing process","generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"activityDescription":"Complete order processing","type":"myplugin:type"},"update":{"summary":[{"set":"Bug in business logic"}],"components":[{"set":""}],"timetracking":[{"edit":{"remainingEstimate":"4d","originalEstimate":"1w 1d"}}],"labels":[{"add":"triaged"},{"remove":"blocker"}]},"fields":{"summary":"Completed orders still displaying in pending","customfield_10010":1,"customfield_10000":"Investigation underway"},"properties":[{"value":"Order number 10784","key":"key1"},{"value":"Order number 10923","key":"key2"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the request body is missing.\n * the user does not have the necessary permission to edit one or more fields.\n * the request includes one or more fields that are not found or are not associated with the issue's edit screen.\n * the request includes an invalid transition."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user uses `overrideScreenSecurity` or `overrideEditableFlag` but doesn't have the necessary permission."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issues"],"summary":"Delete issue","description":"Deletes an issue.\n\nAn issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`. This causes the issue's subtasks to be deleted with the issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Delete issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"deleteSubtasks","in":"query","description":"Whether the issue's subtasks are deleted when the issue is deleted.","schema":{"type":"string","enum":["true","false"],"default":"false"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue has subtasks and `deleteSubtasks` is not set to *true*."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to delete the issue."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/assignee":{"put":{"tags":["Issues"],"summary":"Assign issue","description":"Assigns an issue to a user. Use this operation when the calling user does not have the *Edit Issues* permission but has the *Assign issue* permission for the project that the issue is in.\n\nIf `name` or `accountId` is set to:\n\n * `\"-1\"`, the issue is assigned to the default assignee for the project.\n * `null`, the issue is set to unassigned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* and *Assign Issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"assignIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue to be assigned.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The request object with the user that the issue is assigned to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":{"accountId":"5b10ac8d82e05b22cc7d4ef5"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `name`, `key`, or `accountId` is missing.\n * more than one of `name`, `key`, and `accountId` are provided."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/attachments":{"post":{"tags":["Issue attachments"],"summary":"Add attachment","description":"Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)).\n\nNote that:\n\n * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information.\n * The name of the multipart/form-data parameter that contains the attachments must be `file`.\n\nThe following example uploads a file called *myfile.txt* to the issue *TEST-123*:\n\n`curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: no-check\" -F \"file=@myfile.txt\" https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments`\n\nTip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** \n\n * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addAttachment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue that attachments are added to.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10000\",\"id\":\"10001\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"2020-10-28T05:46:07.207+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/secure/thumbnail/10000/picture.jpg\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"dbeuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"2020-10-28T05:46:07.207+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/secure/attachments/10001/dbeuglog.txt\"}]"}}},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * the issue is not found.\n * the user does not have permission to view the issue."},"413":{"description":"The attachments exceed the maximum attachment size for issues. See [Configuring file attachments](https://confluence.atlassian.com/x/wIXKM) for details."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/changelog":{"get":{"tags":["Issues"],"summary":"Get change logs","description":"Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getChangeLogs","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanChangelog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/TT-1/changelog?startAt=2&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/issue/TT-1/changelog?&startAt=4&maxResults=2\",\"maxResults\":2,\"startAt\":2,\"total\":5,\"isLast\":false,\"values\":[{\"id\":\"10001\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:50.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"\",\"to\":null,\"toString\":\"label-1\"}]},{\"id\":\"10002\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:51.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"label-1\",\"to\":null,\"toString\":\"label-1 label-2\"}]}]}"}}},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/{issueIdOrKey}/comment":{"get":{"tags":["Issue comments"],"summary":"Get comments","description":"Returns all comments for an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is restricted to.","operationId":"getComments","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field. Accepts *created* to sort comments by their created date.","schema":{"type":"string","enum":["created","-created","+created"]}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfComments"},"example":"{\"startAt\":0,\"maxResults\":1,\"total\":1,\"comments\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.904+0000\",\"updated\":\"2020-10-28T05:46:02.904+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}]}"}}},"400":{"description":"Returned if `orderBy` is set to a value other than *created*."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue comments"],"summary":"Add comment","description":"Adds a comment to an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":{"visibility":{"type":"role","value":"Administrators"},"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."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.904+0000\",\"updated\":\"2020-10-28T05:46:02.904+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/comment/{id}":{"get":{"tags":["Issue comments"],"summary":"Get comment","description":"Returns a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"getComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.904+0000\",\"updated\":\"2020-10-28T05:46:02.904+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue comments"],"summary":"Update comment","description":"Updates a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or *Edit own comments* to update comment created by the user.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"updateComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":{"visibility":{"type":"role","value":"Administrators"},"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."}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.904+0000\",\"updated\":\"2020-10-28T05:46:02.904+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"400":{"description":"Returned if the user does not have permission to edit the comment or the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue comments"],"summary":"Delete comment","description":"Deletes a comment.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or *Delete own comments* to delete comment created by the user,\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"deleteComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the user does not have permission to delete the comment."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."},"405":{"description":"Returned if an anonymous call is made to the operation."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/editmeta":{"get":{"tags":["Issues"],"summary":"Get edit issue metadata","description":"Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to populate the requests in [Edit issue](#api-rest-api-2-issue-issueIdOrKey-put).\n\nConnect app users with admin permissions (from user permissions and app scopes) can return additional details using:\n\n * `overrideScreenSecurity` Returns hidden fields.\n * `overrideEditableFlag` Returns uneditable fields. For example, where an issue has a workflow status of closed none of its fields are editable.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote: For any fields to be editable the user must have the *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the issue.","operationId":"getEditIssueMeta","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"overrideScreenSecurity","in":"query","description":"Whether hidden fields should be returned. Available to connect app users with admin permissions.","schema":{"type":"boolean","default":false}},{"name":"overrideEditableFlag","in":"query","description":"Whether non-editable fields should be returned. Available to connect app users with admin permissions.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateMetadata"},"example":"{\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user uses an override parameter but doesn't have permission to do so."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/{issueIdOrKey}/notify":{"post":{"tags":["Issues"],"summary":"Send notification for issue","description":"Creates an email notification for an issue and adds it to the mail queue.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"notify","parameters":[{"name":"issueIdOrKey","in":"path","description":"ID or key of the issue that the notification is sent for.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The request object for the notification and recipients.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Notification"},"example":{"htmlBody":"The latest test results for this ticket are now available.","subject":"Latest test results","textBody":"The latest test results for this ticket are now available.","to":{"voters":true,"watchers":true,"groups":[{"name":"notification-group"}],"reporter":false,"assignee":false,"users":[{"accountId":"5b10a2844c20165700ede21g","active":false}]},"restrict":{"permissions":[{"key":"BROWSE"}],"groups":[{"name":"notification-group"}]}}}},"required":true},"responses":{"204":{"description":"Returned if the email is queued for sending.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the recipient is the same as the calling user.\n * the recipient is invalid. For example, the recipient is set to the assignee, but the issue is unassigned.\n * the request is invalid. For example, required fields are missing or have invalid values."},"403":{"description":"Returned if:\n\n * outgoing emails are disabled.\n * no SMTP server is configured."},"404":{"description":"Returned if the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/properties":{"get":{"tags":["Issue properties"],"summary":"Get issue property keys","description":"Returns the URLs and keys of an issue's properties.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Property details are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssuePropertyKeys","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"404":{"description":"Returned if the issue is not found or the user does not have permissions to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}":{"get":{"tags":["Issue properties"],"summary":"Get issue property","description":"Returns the key and value of an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or property is not found or the user does not have permission to see the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue properties"],"summary":"Set issue property","description":"Sets the value of an issue's property. Use this resource to store custom data against an issue.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"setIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the issue property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the issue property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the issue."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue properties"],"summary":"Delete issue property","description":"Deletes an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or property is not found, or the user does not have permission to edit the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/remotelink":{"get":{"tags":["Issue remote links"],"summary":"Get remote issue links","description":"Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getRemoteIssueLinks","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"globalId","in":"query","description":"The global ID of the remote issue link.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLink"},"example":"[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/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\":\"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\":\"https://your-domain.atlassian.net/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 item\",\"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/mia.gif\",\"title\":\"Tested by Mia Krystof\",\"link\":\"http://www.anothercompany.com/tester/person?accountId=5b10a2844c20165700ede21g\"}}}}]"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if issue linking is disabled."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue remote links"],"summary":"Create or update remote issue link","description":"Creates or updates a remote issue link for an issue.\n\nIf a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without values in the request are set to null. Otherwise, the remote issue link is created.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"createOrUpdateRemoteIssueLink","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkRequest"},"example":{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","relationship":"causes","object":{"summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1","status":{"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed"},"resolved":true}}}}},"required":true},"responses":{"200":{"description":"Returned if the remote issue link is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkIdentifies"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"}"}}},"201":{"description":"Returned if the remote issue link is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkIdentifies"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue remote links"],"summary":"Delete remote issue link by global ID","description":"Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security permission to view the issue.","operationId":"deleteRemoteIssueLinkByGlobalId","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"globalId","in":"query","description":"The global ID of a remote issue link.","required":true,"schema":{"type":"string","example":"system=http://www.mycompany.com/support&id=1"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if a global ID isn't provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}":{"get":{"tags":["Issue remote links"],"summary":"Get remote issue link by ID","description":"Returns a remote issue link for an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getRemoteIssueLinkById","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","description":"The ID of the remote issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLink"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/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\":\"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\"}}}}"}}},"400":{"description":"Returned if the link ID is invalid or the remote issue link does not belong to the issue."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if issue linking is disabled."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue remote links"],"summary":"Update remote issue link by ID","description":"Updates a remote issue link for an issue.\n\nNote: Fields without values in the request are set to null.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"updateRemoteIssueLink","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"linkId","in":"path","description":"The ID of the remote issue link.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkRequest"},"example":{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","relationship":"causes","object":{"summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1","status":{"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed"},"resolved":true}}}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the link ID is invalid.\n * the remote issue link does not belong to the issue.\n * the request body is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue remote links"],"summary":"Delete remote issue link by ID","description":"Deletes a remote issue link from an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects*, *Edit issues*, and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteRemoteIssueLinkById","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"linkId","in":"path","description":"The ID of a remote issue link.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the link ID is invalid or the remote issue link does not belong to the issue."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/transitions":{"get":{"tags":["Issues"],"summary":"Get transitions","description":"Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's status.\n\nNote, if a request is made for a transition that does not exist or cannot be performed on the issue, given its status, the response will return any empty transitions list.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required: A list or transition is returned only when the user has:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nHowever, if the user does not have the *Transition issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.","operationId":"getTransitions","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about transitions in the response. This parameter accepts `transitions.fields`, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the `fields` and `update` fields in [Transition issue](#api-rest-api-2-issue-issueIdOrKey-transitions-post).","schema":{"type":"string"}},{"name":"transitionId","in":"query","description":"The ID of the transition.","schema":{"type":"string"}},{"name":"skipRemoteOnlyCondition","in":"query","description":"Whether transitions with the condition *Hide From User Condition* are included in the response.","schema":{"type":"boolean","default":false}},{"name":"includeUnavailableTransitions","in":"query","description":"Whether details of transitions that fail a condition are included in the response","schema":{"type":"boolean","default":false}},{"name":"sortByOpsBarAndStatus","in":"query","description":"Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transitions"},"example":"{\"transitions\":[{\"id\":\"2\",\"name\":\"Close Issue\",\"to\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},\"hasScreen\":false,\"isGlobal\":false,\"isInitial\":false,\"isAvailable\":true,\"isConditional\":false,\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}},{\"id\":\"711\",\"name\":\"QA Review\",\"to\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}},\"hasScreen\":true,\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"},\"colour\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issues"],"summary":"Transition issue","description":"Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.\n\nsortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update` parameters in the request body. Get details about the fields using [ Get transitions](#api-rest-api-2-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Transition issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"doTransition","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"historyMetadata":{"actor":{"avatarUrl":"http://mysystem/avatar/tony.jpg","displayName":"Tony","id":"tony","type":"mysystem-user","url":"http://mysystem/users/tony"},"extraData":{"Iteration":"10a","Step":"4"},"description":"From the order testing process","generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"activityDescription":"Complete order processing","type":"myplugin:type"},"update":{"comment":[{"add":{"body":"Bug has been fixed."}}]},"fields":{"assignee":{"name":"Will"},"resolution":{"name":"Fixed"}},"transition":{"id":"5"}}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * no transition is specified.\n * the user does not have permission to transition the issue.\n * a field that isn't included on the transition screen is defined in `fields` or `update`.\n * a field is specified in both `fields` and `update`.\n * the request is invalid for any other reason."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/votes":{"get":{"tags":["Issue votes"],"summary":"Get votes","description":"Returns details about the votes on an issue.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote that users with the necessary permissions for this operation but without the *View voters and watchers* project permissions are not returned details in the `voters` field.","operationId":"getVotes","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Votes"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/votes\",\"votes\":24,\"hasVoted\":true,\"voters\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the user does not have permission to view the issue.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue votes"],"summary":"Add vote","description":"Adds the user's vote to an issue. This is the equivalent of the user clicking *Vote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addVote","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue votes"],"summary":"Delete vote","description":"Deletes a user's vote from an issue. This is the equivalent of the user clicking *Unvote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"removeVote","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the user has not voted on the issue.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/watchers":{"get":{"tags":["Issue watchers"],"summary":"Get issue watchers","description":"Returns the watchers for an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To see details of users on the watchlist other than themselves, *View voters and watchers* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"getIssueWatchers","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Watchers"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue watchers"],"summary":"Add watcher","description":"Adds a user as a watcher of an issue by passing the account ID of the user. For example, `\"5b10ac8d82e05b22cc7d4ef5\"`. If no user is specified the calling user is added.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To add users other than themselves to the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"addWatcher","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The account ID of the user. Note that username cannot be used due to privacy changes.","content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the permission to manage the watcher list."},"404":{"description":"Returned if the issue or the user is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue watchers"],"summary":"Delete watcher","description":"Deletes a user as a watcher of an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To remove users other than themselves from the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"removeWatcher","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if `accountId` is not supplied."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the permission to manage the watcher list."},"404":{"description":"Returned if the issue or the user is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/worklog":{"get":{"tags":["Issue worklogs"],"summary":"Get issue worklogs","description":"Returns worklogs for an issue, starting from the oldest worklog or from the worklog started on or after a date and time.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Workloads are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getIssueWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1048576}},{"name":"startedAfter","in":"query","description":"The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned.","schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts`properties`, which returns worklog properties.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfWorklogs"},"example":"{\"startAt\":0,\"maxResults\":1,\"total\":1,\"worklogs\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2020-10-28T05:46:02.934+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:02.933+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue is not found or the user does not have permission to view the issue.\n * `startAt` or `maxResults` has non-numeric values.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue worklogs"],"summary":"Add worklog","description":"Adds a worklog to an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Work on issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key the issue.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Reduces the estimate by amount specified in `reduceBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"reduceBy","in":"query","description":"The amount to reduce the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m). For example, *2d*. Required when `adjustEstimate` is `manual`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts `properties`, which returns worklog properties.","schema":{"type":"string","default":""}},{"name":"overrideEditableFlag","in":"query","description":"Whether the worklog entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Only connect app users with admin scope permission can use this flag.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":{"timeSpentSeconds":12000,"visibility":{"type":"group","value":"jira-developers"},"comment":"I did some work here.","started":"2020-10-28T05:46:02.933+0000"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"}}}},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid.\n * the user does not have permission to add the worklog.\n * the request JSON is malformed."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/worklog/{id}":{"get":{"tags":["Issue worklogs"],"summary":"Get worklog","description":"Returns a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts\n\n`properties`, which returns worklog properties.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2020-10-28T05:46:02.934+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:02.933+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or the user does not have permission to view it.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled.\n\n."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue worklogs"],"summary":"Update worklog","description":"Updates a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"updateWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `auto` Updates the estimate by the difference between the original and updated value of `timeSpent` or `timeSpentSeconds`.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties`, which returns worklog properties.","schema":{"type":"string","default":""}},{"name":"overrideEditableFlag","in":"query","description":"Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue is closed. Only connect app users with admin permissions can use this flag.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":{"timeSpentSeconds":12000,"visibility":{"type":"group","value":"jira-developers"},"comment":"I did some work here.","started":"2020-10-28T05:46:02.933+0000"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2020-10-28T05:46:02.934+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:02.933+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}"}}},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * the user does not have permission to update the worklog.\n * the request JSON is malformed."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or user does not have permission to view the issue.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue worklogs"],"summary":"Delete worklog","description":"Deletes a worklog from an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or *Delete own worklogs* to delete worklogs created by the user,\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"deleteWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Increases the estimate by amount specified in `increaseBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"increaseBy","in":"query","description":"The amount to increase the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `manual`.","schema":{"type":"string"}},{"name":"overrideEditableFlag","in":"query","description":"Whether the work log entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Only connect app users with admin permissions can use this flag.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid.\n * the user does not have permission to delete the worklog."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or user does not have permission to view the issue.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/worklog/{worklogId}/properties":{"get":{"tags":["Issue worklog properties"],"summary":"Get worklog property keys","description":"Returns the keys of all properties for a worklog.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklogPropertyKeys","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue or worklog is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}":{"get":{"tags":["Issue worklog properties"],"summary":"Get worklog property","description":"Returns the value of a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue, worklog, or property is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue worklog properties"],"summary":"Set worklog property","description":"Sets the value of a worklog property. Use this operation to store custom data against the worklog.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"setWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the worklog property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the worklog property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the worklog."},"404":{"description":"Returned if:\n\n * the issue or worklog is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue worklog properties"],"summary":"Delete worklog property","description":"Deletes a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"deleteWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the worklog property is removed."},"400":{"description":"Returned if the worklog key or id is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the worklog."},"404":{"description":"Returned if:\n\n * the issue, worklog, or property is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issueLink":{"post":{"tags":["Issue links"],"summary":"Create issue link","description":"Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally add a comment to the from (outward) issue. To use this resource the site must have [Issue Linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use `https://your-domain.atlassian.net/rest/api/2/issue/[linked issue key]?fields=issuelinks`.\n\nIf the link request duplicates a link, the response indicates that the issue link was created. If the request included a comment, the comment is added.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues to be linked,\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from (outward) issue,\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"linkIssues","parameters":[],"requestBody":{"description":"The issue link request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkIssueRequestJsonBean"},"example":{"outwardIssue":{"key":"MKY-1"},"comment":{"visibility":{"type":"group","value":"jira-software-users"},"body":"Linked related issue!"},"inwardIssue":{"key":"HSP-1"},"type":{"name":"Duplicate"}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the comment is not created. The response contains an error message indicating why the comment wasn't created. The issue link is also not created."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the user cannot view one or both of the issues. For example, the user doesn't have *Browse project* project permission for a project containing one of the issues.\n * the user does not have *link issues* project permission.\n * either of the link issues are not found.\n * the issue link type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issueLink/{linkId}":{"get":{"tags":["Issue links"],"summary":"Get issue link","description":"Returns an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the linked issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.","operationId":"getIssueLink","parameters":[{"name":"linkId","in":"path","description":"The ID of the issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLink"},"example":"{\"id\":\"10001\",\"type\":{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"},\"inwardIssue\":{\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\",\"fields\":{\"status\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}},\"priority\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/5\",\"statusColor\":\"#cfcfcf\",\"description\":\"Very little impact.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\",\"name\":\"Trivial\",\"id\":\"2\"},\"issuetype\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}}},\"outwardIssue\":{\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\",\"fields\":{\"status\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},\"priority\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"},\"issuetype\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1}}}}"}}},"400":{"description":"Returned if the issue link ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link is not found.\n * the user doesn't have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Issue links"],"summary":"Delete issue link","description":"Deletes an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues in the link.\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects containing issues in the link.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.","operationId":"deleteIssueLink","parameters":[{"name":"linkId","in":"path","description":"The ID of the issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"200 response"},"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue link ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link is not found.\n * the user doesn't have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issueLinkType":{"get":{"tags":["Issue link types"],"summary":"Get issue link types","description":"Returns a list of all issue link types.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.","operationId":"getIssueLinkTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkTypes"},"example":"{\"issueLinkTypes\":[{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"},{\"id\":\"1010\",\"name\":\"Blocks\",\"inward\":\"Blocked by\",\"outward\":\"Blocks\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1010\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if issue linking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue link types"],"summary":"Create issue link type","description":"Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The issue link type consists of a name and descriptions for a link's inward and outward relationships.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueLinkType","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":{"inward":"Duplicated by","name":"Duplicate","outward":"Duplicates"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type name is in use.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issueLinkType/{issueLinkTypeId}":{"get":{"tags":["Issue link types"],"summary":"Get issue link type","description":"Returns an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.","operationId":"getIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the issue link type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue link types"],"summary":"Update issue link type","description":"Updates an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":{"inward":"Duplicated by","name":"Duplicate","outward":"Duplicates"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the issue link type ID or the request body are invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue link types"],"summary":"Delete issue link type","description":"Deletes an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue link type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuesecurityschemes":{"get":{"tags":["Issue security schemes"],"summary":"Get issue security schemes","description":"Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueSecuritySchemes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySchemes"},"example":"{\"issueSecuritySchemes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer issue security schemes."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/issuesecurityschemes/{id}":{"get":{"tags":["Issue security schemes"],"summary":"Get issue security scheme","description":"Returns an issue security scheme along with its security levels.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the requested issue security scheme.","operationId":"getIssueSecurityScheme","parameters":[{"name":"id","in":"path","description":"The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021,\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the administrator permission and the scheme is not used in any project where the user has administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/issuesecurityschemes/{issueSecuritySchemeId}/members":{"get":{"tags":["Issue security level"],"summary":"Get issue security level members","description":"Returns issue security level members.\n\nOnly issue security level members in context of classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueSecurityLevelMembers","parameters":[{"name":"issueSecuritySchemeId","in":"path","description":"The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueSecurityLevelId","in":"query","description":"The list of issue security level IDs. To include multiple issue security levels separate IDs with ampersand: `issueSecurityLevelId=10000&issueSecurityLevelId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueSecurityLevelMember"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":10000,\"issueSecurityLevelId\":10020,\"holder\":{\"type\":\"user\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"expand\":\"user\"}},{\"id\":10001,\"issueSecurityLevelId\":10020,\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"}},{\"id\":10002,\"issueSecurityLevelId\":10021,\"holder\":{\"type\":\"assignee\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if no issue security level members are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/issuetype":{"get":{"tags":["Issue types"],"summary":"Get all issue types for user","description":"Returns all issue types.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issue types are only returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue types are returned.\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, the issue types associated with the projects the user has permission to browse are returned.","operationId":"getIssueAllTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue types"],"summary":"Create issue type","description":"Creates an issue type and adds it to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueType","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeCreateBean"},"example":{"name":"name","description":"description","type":"standard"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"}}}},"400":{"description":"Returned if the request is invalid because:\n\n * no content is sent.\n * the issue type name exceeds 60 characters.\n * a subtask issue type is requested on an instance where subtasks are disabled."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"409":{"description":"Returned if the issue type name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetype/{id}":{"get":{"tags":["Issue types"],"summary":"Get issue type","description":"Returns an issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated with or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue types"],"summary":"Update issue type","description":"Updates the issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeUpdateBean"},"example":{"avatarId":1,"name":"name","description":"description"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"}}}},"400":{"description":"Returned if the request is invalid because:\n\n * no content is sent.\n * the issue type name exceeds 60 characters.\n * the avatar is not associated with this issue type."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type is not found."},"409":{"description":"Returned if the issue type name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue types"],"summary":"Delete issue type","description":"Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue types](#api-rest-api-2-issuetype-id-alternatives-get) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"alternativeIssueTypeId","in":"query","description":"The ID of the replacement issue type.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if any issues cannot be updated with the alternative issue type."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the issue type is in use and an alternative issue type is not specified.\n * the issue type or alternative issue type is not found."},"409":{"description":"Returned if the issue type is in use and:\n\n * also specified as the alternative issue type.\n * is a *standard* issue type and the alternative issue type is a *subtask*."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetype/{id}/alternatives":{"get":{"tags":["Issue types"],"summary":"Get alternative issue types","description":"Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAlternativeIssueTypes","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issuetype/{id}/avatar2":{"post":{"tags":["Issue types"],"summary":"Load issue type avatar","description":"Loads an avatar for the issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST \\ --user email@example.com: \\ --header 'X-Atlassian-Token: no-check' \\ --header 'Content-Type: image/< image_type>' \\ --data-binary \"<@/path/to/file/with/your/avatar>\" \\ --url 'https://your-domain.atlassian.net/rest/api/2/issuetype/{issueTypeId}'This`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar, use [ Update issue type](#api-rest-api-2-issuetype-id-put) to set it as the issue type's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeAvatar","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image.\n * `cropSize` is missing.\n * the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetype/{issueTypeId}/properties":{"get":{"tags":["Issue type properties"],"summary":"Get issue type property keys","description":"Returns all the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys of the issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any issue types associated with the projects the user has permission to browse.","operationId":"getIssueTypePropertyKeys","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issuetype/{issueTypeId}/properties/{propertyKey}":{"get":{"tags":["Issue type properties"],"summary":"Get issue type property","description":"Returns the key and value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue types associated with the projects the user has permission to browse.","operationId":"getIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. Use [Get issue type property keys](#api-rest-api-2-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue type or property is not found or the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue type properties"],"summary":"Set issue type property","description":"Creates or updates the value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). Use this resource to store and update data against an issue type.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue type property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{},"example":{"number":5,"string":"string-value"}}},"required":true},"responses":{"200":{"description":"Returned if the issue type property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the issue type property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the issue type ID is invalid.\n * a property value is not provided.\n * the property value JSON content is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to modify the issue type."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the permission view the issue type."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type properties"],"summary":"Delete issue type property","description":"Deletes the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. Use [Get issue type property keys](#api-rest-api-2-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the issue type property is deleted."},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme":{"get":{"tags":["Issue type schemes"],"summary":"Get all issue type schemes","description":"Returns a [paginated](#pagination) list of issue type schemes.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllIssueTypeSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScheme"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\"},{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue type schemes"],"summary":"Create issue type scheme","description":"Creates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeDetails"},"example":{"defaultIssueTypeId":"10002","issueTypeIds":["10001","10002","10003"],"name":"Kanban Issue Type Scheme","description":"A collection of issue types suited to use in a kanban style project."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeID"},"example":"{\"issueTypeSchemeId\":\"10010\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type ID has to be present in issue type IDs list.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the scheme name is used by another scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/mapping":{"get":{"tags":["Issue type schemes"],"summary":"Get issue type scheme items","description":"Returns a [paginated](#pagination) list of issue type scheme items.\n\nOnly issue type scheme items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeSchemesMapping","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueTypeSchemeId","in":"query","description":"The list of issue type scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `issueTypeSchemeId=10000&issueTypeSchemeId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeSchemeMapping"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10000\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10001\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10002\"},{\"issueTypeSchemeId\":\"10001\",\"issueTypeId\":\"10000\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/project":{"get":{"tags":["Issue type schemes"],"summary":"Get issue type schemes for projects","description":"Returns a [paginated](#pagination) list of issue type schemes and, for each issue type scheme, a list of the projects that use it.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeSchemeForProjects","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple project IDs, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeSchemeProjects"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"issueTypeScheme\":{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},\"projectIds\":[\"10000\",\"10001\"]},{\"issueTypeScheme\":{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\"},\"projectIds\":[\"10002\"]},{\"issueTypeScheme\":{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\"},\"projectIds\":[\"10003\",\"10004\",\"10005\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue type schemes"],"summary":"Assign issue type scheme to project","description":"Assigns an issue type scheme to a project.\n\nIf any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To complete the assignment those issues must be updated to use issue types in the new scheme.\n\nIssue type schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignIssueTypeSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeProjectAssociation"},"example":{"issueTypeSchemeId":"10000","projectId":"10000"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"This issue type scheme can't be assigned to the project. This is because some issues in this project use issue types not present in the scheme. Before assigning the scheme to the project, update the issue types on these issues: 7\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme or the project is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/{issueTypeSchemeId}":{"put":{"tags":["Issue type schemes"],"summary":"Update issue type scheme","description":"Updates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeUpdateDetails"},"example":{"defaultIssueTypeId":"10002","name":"Kanban Issue Type Scheme","description":"A collection of issue types suited to use in a kanban style project."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type has to be one of the issue types of the scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type schemes"],"summary":"Delete issue type scheme","description":"Deletes an issue type scheme.\n\nOnly issue type schemes used in classic projects can be deleted.\n\nAny projects assigned to the scheme are reassigned to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the issue type scheme is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is to delete the default issue type scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type scheme can't be removed.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype":{"put":{"tags":["Issue type schemes"],"summary":"Add issue types to issue type scheme","description":"Adds issue types to an issue type scheme.\n\nThe added issue types are appended to the issue types list.\n\nIf any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addIssueTypesToIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIDs"},"example":{"issueTypeIds":["10000","10002","10003"]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types were not added because they are already present in the issue type scheme: 10002, 10003\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type or the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types were not found: 10000, 10002\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/move":{"put":{"tags":["Issue type schemes"],"summary":"Change order of issue types","description":"Changes the order of issue types in an issue type scheme.\n\nThe request body parameters must meet the following requirements:\n\n * all of the issue types must belong to the issue type scheme.\n * either `after` or `position` must be provided.\n * the issue type in `after` must not be in the issue type list.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"reorderIssueTypesInIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderOfIssueTypes"},"example":{"issueTypeIds":["10001","10004","10002"],"after":"10008"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme does not include some of the specified issue types. Issue type IDs missing from the scheme are: 10007, 10008\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/{issueTypeId}":{"delete":{"tags":["Issue type schemes"],"summary":"Remove issue type from issue type scheme","description":"Removes an issue type from an issue type scheme.\n\nThis operation cannot remove:\n\n * any issue type used by issues.\n * any issue types from the default issue type scheme.\n * the last standard issue type from an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeIssueTypeFromIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Can't remove the last standard issue type from the issue type scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is missing or the issue type is not found in the issue type scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type was not found in the issue type scheme.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen schemes","description":"Returns a [paginated](#pagination) list of issue type screen schemes.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of issue type screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenScheme"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},{\"id\":\"10000\",\"name\":\"Office issue type screen scheme\",\"description\":\"Managing office projects\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue type screen schemes"],"summary":"Create issue type screen scheme","description":"Creates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeScreenScheme","parameters":[],"requestBody":{"description":"An issue type screen scheme bean.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeDetails"},"example":{"name":"Scrum issue type screen scheme","issueTypeMappings":[{"issueTypeId":"default","screenSchemeId":"10001"},{"issueTypeId":"10001","screenSchemeId":"10002"},{"issueTypeId":"10002","screenSchemeId":"10002"}]}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeId"},"example":"{\"id\":\"10001\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more issue type IDs are repeated, an issue type ID can only be specified once.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type or screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more issue type IDs were not found.\"],\"errors\":{}}"}}},"409":{"description":"Returned when the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/mapping":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen scheme items","description":"Returns a [paginated](#pagination) list of issue type screen scheme items.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemeMappings","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueTypeScreenSchemeId","in":"query","description":"The list of issue type screen scheme IDs. To include multiple issue type screen schemes, separate IDs with ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenSchemeItem"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"issueTypeScreenSchemeId\":\"10020\",\"issueTypeId\":\"10000\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10021\",\"issueTypeId\":\"10001\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10022\",\"issueTypeId\":\"10002\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10023\",\"issueTypeId\":\"default\",\"screenSchemeId\":\"10011\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/project":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen schemes for projects","description":"Returns a [paginated](#pagination) list of issue type screen schemes and, for each issue type screen scheme, a list of the projects that use it.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemeProjectAssociations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenSchemesProjects"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"issueTypeScreenScheme\":{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},\"projectIds\":[\"10000\",\"10001\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue type screen schemes"],"summary":"Assign issue type screen scheme to project","description":"Assigns an issue type screen scheme to a project.\n\nIssue type screen schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignIssueTypeScreenSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeProjectAssociation"},"example":{"issueTypeScreenSchemeId":"10001","projectId":"10002"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * project is not found.\n * issue type screen scheme is not found.\n * the project is not a classic project.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have issue type screen schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme or the project are missing.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}":{"put":{"tags":["Issue type screen schemes"],"summary":"Update issue type screen scheme","description":"Updates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type screen scheme update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeUpdateDetails"},"example":{"name":"Scrum scheme","description":"Screens for scrum issue types."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme name is in use.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type screen schemes"],"summary":"Delete issue type screen scheme","description":"Deletes an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the issue type screen scheme is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme cannot be deleted because it is assigned to one or more projects.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."},"404":{"description":"Returned if the issue type screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/jql/autocompletedata":{"get":{"tags":["JQL"],"summary":"Get field reference data","description":"Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAutoComplete","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLReferenceData"},"example":"{\"visibleFieldNames\":[{\"value\":\"summary\",\"displayName\":\"summary\",\"orderable\":\"true\",\"searchable\":\"true\",\"operators\":[\"~\",\"!~\",\"is\",\"is not\"],\"types\":[\"java.lang.String\"]},{\"value\":\"Sprint\",\"displayName\":\"Sprint - cf[10880]\",\"orderable\":\"true\",\"searchable\":\"true\",\"auto\":\"true\",\"cfid\":\"cf[10880]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.greenhopper.service.sprint.Sprint\"]}],\"visibleFunctionNames\":[{\"value\":\"standardIssueTypes()\",\"displayName\":\"standardIssueTypes()\",\"isList\":\"true\",\"types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"]}],\"jqlReservedWords\":[\"empty\",\"and\",\"or\",\"in\",\"distinct\"]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/jql/autocompletedata/suggestions":{"get":{"tags":["JQL"],"summary":"Get field auto complete suggestions","description":"Returns the JQL search auto complete suggestions for a field.\n\nSuggestions can be obtained by providing:\n\n * `fieldName` to get a list of all values for the field.\n * `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.\n * `fieldName` and `predicateName` to get a list of all predicate values for the field.\n * `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in `predicateValue`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getFieldAutoCompleteForQueryString","parameters":[{"name":"fieldName","in":"query","description":"The name of the field.","schema":{"type":"string","example":"reporter"},"x-showInExample":"true"},{"name":"fieldValue","in":"query","description":"The partial field item name entered by the user.","schema":{"type":"string"}},{"name":"predicateName","in":"query","description":"The name of the [ CHANGED operator predicate](https://confluence.atlassian.com/x/hQORLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for which the suggestions are generated. The valid predicate operators are *by*, *from*, and *to*.","schema":{"type":"string"}},{"name":"predicateValue","in":"query","description":"The partial predicate item name entered by the user.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCompleteSuggestions"},"example":"{\"results\":[{\"value\":\"ActiveObjects\",\"displayName\":\"ActiveObjects (AO)\"},{\"value\":\"Atlassian Connect\",\"displayName\":\"Atlassian Connect (AC)\"},{\"value\":\"Atlassian Connect in Jira\",\"displayName\":\"Atlassian Connect in Jira (ACJIRA)\"}]}"}}},"400":{"description":"Returned if an invalid combination of parameters is passed."},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/jql/match":{"post":{"tags":["Issue search"],"summary":"Check issues against JQL","description":"Checks whether one or more issues would be returned by one or more JQL queries.\n\n**[Permissions](#permissions) required:** None, however, issues are only matched against JQL queries where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"matchIssues","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesAndJQLQueries"},"example":{"issueIds":[10001,1000,10042],"jqls":["project = FOO","issuetype = Bug","summary ~ \"some text\" AND project in (FOO, BAR)"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueMatches"},"example":"{\"matches\":[{\"matchedIssues\":[10000,10004],\"errors\":[]},{\"matchedIssues\":[100134,10025,10236],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[\"Invalid JQL: broken = value\"]}]}"}}},"400":{"description":"Returned if `jqls` exceeds the maximum number of JQL queries or `issueIds` exceeds the maximum number of issue IDs."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/jql/parse":{"post":{"tags":["JQL"],"summary":"Parse JQL query","description":"Parses and validates JQL queries.\n\nValidation is performed in context of the current user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"parseJqlQueries","parameters":[{"name":"validation","in":"query","description":"How to validate the JQL query and treat the validation results. Validation options include:\n\n * `strict` Returns all errors. If validation fails, the query structure is not returned.\n * `warn` Returns all errors. If validation fails but the JQL query is correctly formed, the query structure is returned.\n * `none` No validation is performed. If JQL query is correctly formed, the query structure is returned.","schema":{"type":"string","enum":["strict","warn","none"],"default":"strict"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JqlQueriesToParse"},"example":{"queries":["summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER startOfMonth(-1M) ORDER BY updated DESC","invalid query","summary = test","summary in test","project = INVALID","universe = 42"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParsedJqlQueries"},"example":"{\"queries\":[{\"query\":\"summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER -5d ORDER BY updated DESC\",\"structure\":{\"where\":{\"clauses\":[{\"field\":{\"name\":\"summary\"},\"operator\":\"~\",\"operand\":{\"value\":\"test\"}},{\"clauses\":[{\"field\":{\"name\":\"labels\"},\"operator\":\"in\",\"operand\":{\"values\":[{\"value\":\"urgent\"},{\"value\":\"blocker\"}]}},{\"field\":{\"name\":\"lastCommentedBy\",\"property\":[{\"entity\":\"issue\",\"key\":\"propertyKey\",\"path\":\"path.in.property\",\"type\":\"user\"}]},\"operator\":\"=\",\"operand\":{\"function\":\"currentUser\",\"arguments\":[]}}],\"operator\":\"or\"},{\"field\":{\"name\":\"status\"},\"operator\":\"changed\",\"predicates\":[{\"operator\":\"after\",\"operand\":{\"function\":\"startOfMonth\",\"arguments\":[\"-1M\"]}}]}],\"operator\":\"and\"},\"orderBy\":{\"fields\":[{\"field\":{\"name\":\"updated\"},\"direction\":\"desc\"}]}}},{\"query\":\"invalid query\",\"errors\":[\"Error in the JQL Query: Expecting operator but got 'query'. The valid operators are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN', 'IS' and 'IS NOT'. (line 1, character 9)\"]},{\"query\":\"summary = test\",\"errors\":[\"The operator '=' is not supported by the 'summary' field.\"]},{\"query\":\"summary in test\",\"errors\":[\"Operator 'in' does not support the non-list value '\\\"test\\\"' for field 'summary'.\"]},{\"query\":\"project = INVALID\",\"errors\":[\"The value 'INVALID' does not exist for the field 'project'.\"]},{\"query\":\"universe = 42\",\"errors\":[\"Field 'universe' does not exist or you do not have permission to view it.\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/jql/pdcleaner":{"post":{"tags":["JQL"],"summary":"Convert user identifiers to account IDs in JQL queries","description":"Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs.\n\nYou may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For more information about GDPR-related changes, see the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"migrateQueries","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLPersonalDataMigrationRequest"},"example":{"queryStrings":["assignee = mia","issuetype = Bug AND assignee in (mia) AND reporter in (alana) order by lastViewed DESC"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. Note that the JQL queries are returned in the same order that they were passed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertedJQLQueries"},"example":"{\"queryStrings\":[\"issuetype = Bug AND assignee in (abcde-12345) AND reporter in (abc551-c4e99) order by lastViewed DESC\"],\"queriesWithUnknownUsers\":[{\"originalQuery\":\"assignee = mia\",\"convertedQuery\":\"assignee = unknown\"}]}"}}},"400":{"description":"Returned if at least one of the queries cannot be converted. For example, the JQL has invalid operators or invalid keywords, or the users in the query cannot be found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/label":{"get":{"tags":["Labels"],"summary":"Get all labels","description":"Returns a [paginated](#pagination) list of labels.","operationId":"getAllLabels","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1000}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanString"},"example":"{\"maxResults\":2,\"startAt\":0,\"total\":100,\"isLast\":false,\"values\":[\"performance\",\"security\"]}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/mypermissions":{"get":{"tags":["Permissions"],"summary":"Get my permissions","description":"Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be obtained in a global, project, or issue context.\n\nThe user is reported as having a project permission:\n\n * in the global context, if the user has the project permission in any project.\n * for a project, where the project permission is determined using issue data, if the user meets the permission's criteria for any issue in the project. Otherwise, if the user has the project permission in the project.\n * for an issue, where a project permission is determined using issue data, if the user has the permission in the issue. Otherwise, if the user has the project permission in the project containing the issue.\n\nThis means that users may be shown as having an issue permission (such as EDIT\\_ISSUES) in the global context or a project context but may not have the permission for any or all issues. For example, if Reporters have the EDIT\\_ISSUES permission a user would be shown as having this permission in the global context or the context of a project, because any user can be a reporter. However, if they are not the user who reported the issue queried they would not have EDIT\\_ISSUES permission for that issue.\n\nGlobal permissions are unaffected by context.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getMyPermissions","parameters":[{"name":"projectKey","in":"query","description":"The key of project. Ignored if `projectId` is provided.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"The ID of project.","schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The key of the issue. Ignored if `issueId` is provided.","schema":{"type":"string"}},{"name":"issueId","in":"query","description":"The ID of the issue.","schema":{"type":"string"}},{"name":"permissions","in":"query","description":"A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available permissions, use [Get all permissions](#api-rest-api-2-permissions-get).","schema":{"type":"string","example":"BROWSE_PROJECTS,EDIT_ISSUES"},"x-showInExample":"true","x-changes":[{"type":"required","announced":"2018-08-01","effective":"2019-02-01","details":"https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/"}]},{"name":"projectUuid","in":"query","schema":{"type":"string"}},{"name":"projectConfigurationUuid","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"},"example":"{\"permissions\":{\"EDIT_ISSUES\":{\"id\":\"12\",\"key\":\"EDIT_ISSUES\",\"name\":\"Edit Issues\",\"type\":\"PROJECT\",\"description\":\"Ability to edit issues.\",\"havePermission\":true}}}"}}},"400":{"description":"Returned if `permissions` is empty or the permission key it contains is not found or deprecated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the project or issue is not found or the user does not have permission to view the project or issue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/mypreferences":{"get":{"tags":["Myself"],"summary":"Get preference","description":"Returns the value of a preference of the current user.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default this is not set and the user takes the locale of the instance.\n * *jira.user.timezone* The time zone of the user. By default this is not set and the user takes the timezone of the instance.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPreference","parameters":[{"name":"key","in":"query","description":"The key of the preference.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key is not provided or not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"},"put":{"tags":["Myself"],"summary":"Set preference","description":"Creates a preference for the user or updates a preference's value by sending a plain text string. For example, `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the following keys define system preferences that can be set or created:\n\n * *user.notifications.mimetype* The mime type used in notifications sent to the user. Defaults to `html`.\n * *user.notify.own.changes* Whether the user gets notified of their own changes. Defaults to `false`.\n * *user.default.share.private* Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private. Defaults to `true`.\n * *user.keyboard.shortcuts.disabled* Whether keyboard shortcuts are disabled. Defaults to `false`.\n * *user.autowatch.disabled* Whether the user automatically watches issues they create or add a comment to. By default, not set: the user takes the instance autowatch setting.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setPreference","parameters":[{"name":"key","in":"query","description":"The key of the preference. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The value of the preference as a plain text string. The maximum length is 255 characters.","content":{"application/json":{"schema":{"type":"string"}},"text/plain":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key or value is not provided or invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"},"delete":{"tags":["Myself"],"summary":"Delete preference","description":"Deletes a preference of the user, which restores the default value of system defined settings.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"removePreference","parameters":[{"name":"key","in":"query","description":"The key of the preference.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key is not provided or not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"}},"/rest/api/2/mypreferences/locale":{"get":{"tags":["Myself"],"summary":"Get locale","description":"Returns the locale for the user.\n\nIf the user has no language preference set (which is the default setting) or this resource is accessed anonymous, the browser locale detected by Jira is returned. Jira detects the browser locale using the *Accept-Language* header in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getLocale","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locale"},"example":"{\"locale\":\"en_US\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ACT_AS_USER"},"put":{"tags":["Myself"],"summary":"Set locale","description":"Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nSets the locale of the user. The locale must be one supported by the instance of Jira.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setLocale","parameters":[],"requestBody":{"description":"The locale defined in a LocaleBean.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locale"},"example":{"locale":"en_US"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Myself"],"summary":"Delete locale","description":"Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nDeletes the locale of the user, which restores the default setting.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"deleteLocale","parameters":[],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/myself":{"get":{"tags":["Myself"],"summary":"Get current user","description":"Returns details for the current user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getCurrentUser","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about user in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` Returns all groups, including nested groups, the user belongs to.\n * `applicationRoles` Returns the application roles the user is assigned to.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/notificationscheme":{"get":{"tags":["Issue notification schemes"],"summary":"Get notification schemes paginated","description":"Returns a [paginated](#pagination) list of [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by display name.\n\n### About notification schemes ###\n\nA notification scheme is a list of events and recipients who will receive notifications for those events. The list is contained within the `notificationSchemeEvents` object and contains pairs of `events` and `notifications`:\n\n * `event` Identifies the type of event. The events can be [Jira system events](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or [custom events](https://confluence.atlassian.com/x/AIlKLg).\n * `notifications` Identifies the [recipients](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-recipientsRecipients) of notifications for each event. Recipients can be any of the following types:\n \n * `CurrentAssignee`\n * `Reporter`\n * `CurrentUser`\n * `ProjectLead`\n * `ComponentLead`\n * `User` (the `parameter` is the user key)\n * `Group` (the `parameter` is the group name)\n * `ProjectRole` (the `parameter` is the project role ID)\n * `EmailAddress`\n * `AllWatchers`\n * `UserCustomField` (the `parameter` is the ID of the custom field)\n * `GroupCustomField`(the `parameter` is the ID of the custom field)\n\n*Note that you should allow for events without recipients to appear in responses.*\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must have permission to administer at least one project associated with a notification scheme for it to be returned.","operationId":"getNotificationSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. Only returns notification schemes that the user has permission to access. An empty list is returned if the user lacks permission to access all notification schemes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanNotificationScheme"},"example":"{\"maxResults\":6,\"startAt\":1,\"total\":5,\"isLast\":false,\"values\":[{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/notificationscheme/{id}":{"get":{"tags":["Issue notification schemes"],"summary":"Get notification scheme","description":"Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the recipients who will receive notifications for those events.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must have permission to administer at least one project associated with the notification scheme.","operationId":"getNotificationScheme","parameters":[{"name":"id","in":"path","description":"The ID of the notification scheme. Use [Get notification schemes paginated](#api-rest-api-2-notificationscheme-get) to get a list of notification scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationScheme"},"example":"{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the notification scheme is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissions":{"get":{"tags":["Permissions"],"summary":"Get all permissions","description":"Returns all permissions, including:\n\n * global permissions.\n * project permissions.\n * global permissions added by plugins.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllPermissions","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"},"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.\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissions/check":{"post":{"tags":["Permissions"],"summary":"Get bulk permissions","description":"Returns:\n\n * for a list of global permissions, the global permissions granted to a user.\n * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate.\n\nIf no account ID is provided, the operation returns details for the logged in user.\n\nNote that:\n\n * Invalid project and issue IDs are ignored.\n * A maximum of 1000 projects and 1000 issues can be checked.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none.","operationId":"getBulkPermissions","parameters":[],"requestBody":{"description":"Details of the permissions to check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPermissionsRequestBean"},"example":{"globalPermissions":["ADMINISTER"],"accountId":"5b10a2844c20165700ede21g","projectPermissions":[{"projects":[10001],"permissions":["EDIT_ISSUES"],"issues":[10010,10011,10012,10013,10014]}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPermissionGrants"},"example":"{\"projectPermissions\":[{\"permission\":\"EDIT_ISSUES\",\"issues\":[10010,10013,10014],\"projects\":[10001]}],\"globalPermissions\":[\"ADMINISTER\"]}"}}},"400":{"description":"Returned if:\n\n * issue or project IDs are provided without at least one project permission being provided.\n * an invalid global permission is provided in the global permissions list.\n * an invalid project permission is provided in the project permissions list.\n * more than 1000 valid project IDs or more than 1000 valid issue IDs are provided.\n * an invalid account ID is provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[],\"errors\":{\"PERMISSION_123\":\"Unrecognized permission\"}}"}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can perform this operation.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/permissions/project":{"post":{"tags":["Permissions"],"summary":"Get permitted projects","description":"Returns all the projects where the user is granted a list of project permissions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getPermittedProjects","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsKeysBean"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermittedProjects"},"example":"{\"projects\":[{\"id\":10000,\"key\":\"DEMO\"},{\"id\":10101,\"key\":\"TEST\"}]}"}}},"400":{"description":"Returned if a project permission is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"Could not find permission with key: NOT_EXISTING_PERMISSION_KEY\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/permissionscheme":{"get":{"tags":["Permission schemes"],"summary":"Get all permission schemes","description":"Returns all permission schemes.\n\n### About permission schemes and grants ###\n\nA permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a `permission`.\n\n#### Holder object ####\n\nThe `holder` object contains information about the user or group being granted the permission. For example, the *Administer projects* permission is granted to a group named *Teams in space administrators*. In this case, the type is `\"type\": \"group\"`, and the parameter is the group name, `\"parameter\": \"Teams in space administrators\"`. The `holder` object is defined by the following properties:\n\n * `type` Identifies the user or group (see the list of types below).\n * `parameter` The value of this property depends on the `type`. For example, if the `type` is a group, then you need to specify the group name.\n\nThe following `types` are available. The expected values for the `parameter` are given in parenthesis (some `types` may not have a `parameter`):\n\n * `anyone` Grant for anonymous users.\n * `applicationRole` Grant for users with access to the specified application (application name). See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.\n * `assignee` Grant for the user currently assigned to an issue.\n * `group` Grant for the specified group (group name).\n * `groupCustomField` Grant for a user in the group selected in the specified custom field (custom field ID).\n * `projectLead` Grant for a project lead.\n * `projectRole` Grant for the specified project role (project role ID).\n * `reporter` Grant for the user who reported the issue.\n * `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more information.\n * `user` Grant for the specified user (user ID - historically this was the userkey but that is deprecated and the account ID should be used).\n * `userCustomField` Grant for a user selected in the specified custom field (custom field ID).\n\n#### Built-in permissions ####\n\nThe [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define custom permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information.\n\n**Project permissions**\n\n * `ADMINISTER_PROJECTS`\n * `BROWSE_PROJECTS`\n * `MANAGE_SPRINTS_PERMISSION` (Jira Software only)\n * `SERVICEDESK_AGENT` (Jira Service Desk only)\n * `VIEW_DEV_TOOLS` (Jira Software only)\n * `VIEW_READONLY_WORKFLOW`\n\n**Issue permissions**\n\n * `ASSIGNABLE_USER`\n * `ASSIGN_ISSUES`\n * `CLOSE_ISSUES`\n * `CREATE_ISSUES`\n * `DELETE_ISSUES`\n * `EDIT_ISSUES`\n * `LINK_ISSUES`\n * `MODIFY_REPORTER`\n * `MOVE_ISSUES`\n * `RESOLVE_ISSUES`\n * `SCHEDULE_ISSUES`\n * `SET_ISSUE_SECURITY`\n * `TRANSITION_ISSUES`\n\n**Voters and watchers permissions**\n\n * `MANAGE_WATCHERS`\n * `VIEW_VOTERS_AND_WATCHERS`\n\n**Comments permissions**\n\n * `ADD_COMMENTS`\n * `DELETE_ALL_COMMENTS`\n * `DELETE_OWN_COMMENTS`\n * `EDIT_ALL_COMMENTS`\n * `EDIT_OWN_COMMENTS`\n\n**Attachments permissions**\n\n * `CREATE_ATTACHMENTS`\n * `DELETE_ALL_ATTACHMENTS`\n * `DELETE_OWN_ATTACHMENTS`\n\n**Time tracking permissions**\n\n * `DELETE_ALL_WORKLOGS`\n * `DELETE_OWN_WORKLOGS`\n * `EDIT_ALL_WORKLOGS`\n * `EDIT_OWN_WORKLOGS`\n * `WORK_ON_ISSUES`\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAllPermissionSchemes","parameters":[{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionSchemes"},"example":"{\"permissionSchemes\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Permission schemes"],"summary":"Create permission scheme","description":"Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createPermissionScheme","parameters":[{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"description":"The permission scheme to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":{"permissions":[{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}],"name":"Example permission scheme","description":"description"}}},"required":true},"responses":{"201":{"description":"Returned if the permission scheme is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or the feature is not available in the Jira plan."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissionscheme/{schemeId}":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme","description":"Returns a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to return.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission scheme is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Permission schemes"],"summary":"Update permission scheme","description":"Updates a permission scheme. Below are some important things to note when using this resource:\n\n * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants.\n * If you want to update only the name and description, then do not send a permissions list in the request.\n * Sending an empty list will remove all permission grants from the permission scheme.\n\nIf you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-2-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-2-permissionscheme-schemeId-permission-permissionId-delete).\n\nSee [About permission schemes and grants](#about-permission-schemes) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updatePermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to update.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":{"permissions":[{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}],"name":"Example permission scheme","description":"description"}}},"required":true},"responses":{"200":{"description":"Returned if the scheme is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to update permission schemes.\n * the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be updated on free plans."},"404":{"description":"Returned if the permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Permission schemes"],"summary":"Delete permission scheme","description":"Deletes a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deletePermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme being deleted.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the permission scheme is deleted."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissionscheme/{schemeId}/permission":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme grants","description":"Returns all permission grants for a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionSchemeGrants","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrants"},"example":"{\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}],\"expand\":\"user,group,projectRole,field,all\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission schemes is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Permission schemes"],"summary":"Create permission grant","description":"Creates a permission grant in a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createPermissionGrant","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme in which to create a new permission grant.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information.","schema":{"type":"string"}}],"requestBody":{"description":"The permission grant to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}}},"required":true},"responses":{"201":{"description":"Returned if the scheme permission is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}"}}},"400":{"description":"Returned if the value for expand is invalid or the same permission grant is present."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissionscheme/{schemeId}/permission/{permissionId}":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme grant","description":"Returns a permission grant.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionSchemeGrant","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the permission grant.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission scheme or permission grant is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Permission schemes"],"summary":"Delete permission scheme grant","description":"Deletes a permission grant from a permission scheme. See [About permission schemes and grants](#about-permission-schemes) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deletePermissionSchemeEntity","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to delete the permission grant from.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the permission grant to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the permission grant is deleted."},"400":{"description":"Returned if permission grant with the provided ID is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/priority":{"get":{"tags":["Issue priorities"],"summary":"Get priorities","description":"Returns the list of all issue priorities.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPriorities","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Priority"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/5\",\"statusColor\":\"#cfcfcf\",\"description\":\"Very little impact.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\",\"name\":\"Trivial\",\"id\":\"2\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/priority/{id}":{"get":{"tags":["Issue priorities"],"summary":"Get priority","description":"Returns an issue priority.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPriority","parameters":[{"name":"id","in":"path","description":"The ID of the issue priority.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Priority"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue priority is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project":{"get":{"tags":["Projects"],"summary":"Get all projects","description":"Returns all projects visible to the user. Deprecated, use [ Get projects paginated](#api-rest-api-2-project-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has *Browse Projects* or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllProjects","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `issueTypes` Returns all issue types associated with the project.\n * `lead` Returns information about the project lead.\n * `projectKeys` Returns all project keys associated with the project.","schema":{"type":"string"}},{"name":"recent","in":"query","description":"Returns the user's most recently accessed projects. You may specify the number of results to return up to a maximum of 20. If access is anonymous, then the recently accessed projects are based on the current HTTP session.","schema":{"type":"integer","format":"int32"}},{"name":"properties","in":"query","description":"A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-changes":[{"type":"removed","announced":"2018-10-19","effective":"2019-04-19","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/"}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Projects"],"summary":"Create project","description":"Creates a project based on a project type template, as shown in the following table:\n\n| Project Type Key | Project Template Key | \n|--|--| \n| `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | \n| `service_desk` | `com.atlassian.servicedesk:simplified-it-service-desk`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk` | \n| `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | \nThe project types are available according to the installed Jira features as follows:\n\n * Jira Core, the default, enables `business` projects.\n * Jira Service Desk enables `service_desk` projects.\n * Jira Software enables `software` projects.\n\nTo determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add JIRA Software or JIRA Service Desk into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProject","parameters":[],"requestBody":{"description":"The JSON representation of the project being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInputBean"},"example":{"notificationScheme":10021,"description":"Example Project description","lead":"Charlie","url":"http://atlassian.com","projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","avatarId":10200,"issueSecurityScheme":10001,"name":"Example","permissionScheme":10011,"assigneeType":"PROJECT_LEAD","projectTypeKey":"business","key":"EX","categoryId":10120}}},"required":true},"responses":{"201":{"description":"Returned if the project is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIdentifiers"},"example":"{\"self\":\"https://your-domain.atlassian.net/jira/rest/api/2/project/10042\",\"id\":10010,\"key\":\"EX\"}"}}},"400":{"description":"Returned if the request is not valid and the project could not be created."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to create projects."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/search":{"get":{"tags":["Projects"],"summary":"Get projects paginated","description":"Returns a [paginated](#pagination) list of projects visible to the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has one of:\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"searchProjects","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field.\n\n * `category` Sorts by project category. A complete list of category IDs is found using [Get all project categories](#api-rest-api-2-projectCategory-get).\n * `issueCount` Sorts by the total number of issues in each project.\n * `key` Sorts by project key.\n * `lastIssueUpdatedTime` Sorts by the last issue update time.\n * `name` Sorts by project name.\n * `owner` Sorts by project lead.\n * `archivedDate` EXPERIMENTAL. Sorts by project archived date.\n * `deletedDate` EXPERIMENTAL. Sorts by project deleted date.","schema":{"type":"string","enum":["category","-category","+category","key","-key","+key","name","-name","+name","owner","-owner","+owner","issueCount","-issueCount","+issueCount","lastIssueUpdatedDate","-lastIssueUpdatedDate","+lastIssueUpdatedDate","archivedDate","+archivedDate","-archivedDate","deletedDate","+deletedDate","-deletedDate"],"default":"key"}},{"name":"query","in":"query","description":"Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case insensitive).","schema":{"type":"string"}},{"name":"typeKey","in":"query","description":"Orders results by the [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`.","schema":{"type":"string"}},{"name":"categoryId","in":"query","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation.","schema":{"type":"integer","format":"int64"}},{"name":"searchBy","in":"query","schema":{"type":"string","default":"key, name"}},{"name":"action","in":"query","description":"Filter results by projects for which the user can:\n\n * `view` the project, meaning that they have one of the following permissions:\n \n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * `browse` the project, meaning that they have the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * `edit` the project, meaning that they have one of the following permissions:\n \n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","schema":{"type":"string","enum":["view","browse","edit"],"default":"view"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `projectKeys` Returns all project keys associated with a project.\n * `lead` Returns information about the project lead.\n * `issueTypes` Returns all issue types associated with the project.\n * `url` Returns the URL associated with the project.\n * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.","schema":{"type":"string"}},{"name":"status","in":"query","description":"EXPERIMENTAL. Filter results by project status:\n\n * `live` Search live projects.\n * `archived` Search archived projects.\n * `deleted` Search deleted projects, those in the recycle bin.","schema":{"type":"array","items":{"type":"string","enum":["live","archived","deleted"],"default":"live"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanProject"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/search?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/search?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if no projects matching the search criteria are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/type":{"get":{"tags":["Project types"],"summary":"Get all project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid license for each type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllProjectTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectType"}},"example":"[{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"},{\"key\":\"software\",\"formattedKey\":\"Software\",\"descriptionI18nKey\":\"jira.project.type.software.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#AAAAAA\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/type/accessible":{"get":{"tags":["Project types"],"summary":"Get licensed project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license.","operationId":"getAllAccessibleProjectTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectType"}},"example":"[{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"},{\"key\":\"software\",\"formattedKey\":\"Software\",\"descriptionI18nKey\":\"jira.project.type.software.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#AAAAAA\"}]"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/type/{projectTypeKey}":{"get":{"tags":["Project types"],"summary":"Get project type by key","description":"Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getProjectTypeByKey","parameters":[{"name":"projectTypeKey","in":"path","description":"The key of the project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectType"},"example":"{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the project type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/type/{projectTypeKey}/accessible":{"get":{"tags":["Project types"],"summary":"Get accessible project type by key","description":"Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAccessibleProjectTypeByKey","parameters":[{"name":"projectTypeKey","in":"path","description":"The key of the project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectType"},"example":"{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project type is not accessible to the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}":{"get":{"tags":["Projects"],"summary":"Get project","description":"Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.\n * `issueTypeHierarchy` The project issue type hierarchy.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Projects"],"summary":"Update project","description":"Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.\n\nAll parameters are optional in the body of the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.","schema":{"type":"string"}}],"requestBody":{"description":"The project details to be updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInputBean"},"example":{"notificationScheme":10021,"description":"Example Project description","lead":"Charlie","url":"http://atlassian.com","projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","avatarId":10200,"issueSecurityScheme":10001,"name":"Example","permissionScheme":10011,"assigneeType":"PROJECT_LEAD","projectTypeKey":"business","key":"EX","categoryId":10120}}},"required":true},"responses":{"200":{"description":"Returned if the project is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to update project details.\n * the permission scheme is being changed and the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be changed on free plans."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Projects"],"summary":"Delete project","description":"Deletes a project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"enableUndo","in":"query","description":"EXPERIMENTAL. Whether this project is placed in the Jira recycle bin where it will be available for restoration.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Returned if the project is deleted."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to delete it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/archive":{"post":{"tags":["Projects"],"summary":"Archive project","description":"Archives a project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"archiveProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permissions."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/avatar":{"put":{"tags":["Project avatars"],"summary":"Set project avatar","description":"Sets the avatar displayed for a project.\n\nUse [Load project avatar](#api-rest-api-2-project-projectIdOrKey-avatar2-post) to store avatars against the project, before using this operation to set the displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"updateProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":{"id":"10010"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project or avatar is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/avatar/{id}":{"delete":{"tags":["Project avatars"],"summary":"Delete project avatar","description":"Deletes a custom avatar from a project. Note that system avatars cannot be deleted.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"deleteProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or (case-sensitive) key.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the avatar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the avatar is a system avatar or the user does not have permission to administer the project."},"404":{"description":"Returned if the project or avatar is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/avatar2":{"post":{"tags":["Project avatars"],"summary":"Load project avatar","description":"Loads an avatar for a project.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/2/project/{projectIdOrKey}/avatar2'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use [Set project avatar](#api-rest-api-2-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"createProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to administer the project or an anonymous call is made to the operation."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/avatars":{"get":{"tags":["Project avatars"],"summary":"Get all project avatars","description":"Returns all project avatars, grouped by system and custom avatars.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllProjectAvatars","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAvatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"}}],\"custom\":[{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/component":{"get":{"tags":["Project components"],"summary":"Get project components paginated","description":"Returns a [paginated](#pagination) list of all components in a project. See the [Get project components](#api-rest-api-2-project-projectIdOrKey-components-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectComponentsPaginated","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by the component description.\n * `issueCount` Sorts by the count of issues associated with the component.\n * `lead` Sorts by the user key of the component's project lead.\n * `name` Sorts by component name.","schema":{"type":"string","enum":["description","-description","+description","issueCount","-issueCount","+issueCount","lead","-lead","+lead","name","-name","+name"]}},{"name":"query","in":"query","description":"Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanComponentWithIssueCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/component?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/component?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"componentBean\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000},\"issueCount\":1,\"description\":\"This is a Jira component\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"projectId\":10000,\"project\":\"HSP\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"assigneeType\":\"PROJECT_LEAD\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"name\":\"Component 1\",\"id\":\"10000\"},{\"componentBean\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10050\",\"name\":\"PXA\",\"description\":\"This is a another Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"PROJECTKEY\",\"projectId\":10000},\"issueCount\":5,\"description\":\"This is a another Jira component\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"projectId\":10000,\"project\":\"PROJECTKEY\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"assigneeType\":\"PROJECT_LEAD\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"name\":\"PXA\",\"id\":\"10050\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/components":{"get":{"tags":["Project components"],"summary":"Get project components","description":"Returns all components in a project. See the [Get project components paginated](#api-rest-api-2-project-projectIdOrKey-component-get) resource if you want to get a full list of components with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectComponents","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Component"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10050\",\"name\":\"PXA\",\"description\":\"This is a another Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"PROJECTKEY\",\"projectId\":10000}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/delete":{"post":{"tags":["Projects"],"summary":"Delete project asynchronously","description":"Deletes a project asynchronously.\n\nThis operation is:\n\n * transactional, that is, if part of the delete fails the project is not deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectAsynchronously","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"303":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"}}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/properties":{"get":{"tags":["Project properties"],"summary":"Get project property keys","description":"Returns all [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectPropertyKeys","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to view the project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/properties/{propertyKey}":{"get":{"tags":["Project properties"],"summary":"Get project property","description":"Returns the value of a [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.","operationId":"getProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The project property key. Use [Get project property keys](#api-rest-api-2-project-projectIdOrKey-properties-get) to get a list of all project property keys.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to view the project."},"404":{"description":"Returned if the project or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project properties"],"summary":"Set project property","description":"Sets the value of the [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). You can use project properties to store custom data against the project.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.","operationId":"setProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the project property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{},"example":{"number":5,"string":"string-value"}}},"required":true},"responses":{"200":{"description":"Returned if the project property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the project property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the project key or id is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Project properties"],"summary":"Delete project property","description":"Deletes the [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) from a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.","operationId":"deleteProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The project property key. Use [Get project property keys](#api-rest-api-2-project-projectIdOrKey-properties-get) to get a list of all project property keys.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the project property is deleted."},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/project/{projectIdOrKey}/restore":{"post":{"tags":["Projects"],"summary":"Restore deleted project","description":"Restores a project from the Jira recycle bin.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"restore","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/role":{"get":{"tags":["Project roles"],"summary":"Get project roles for project","description":"Returns a list of [project roles](https://confluence.atlassian.com/x/3odKLg) for the project returning the name and self URL for each role.\n\nNote that all project roles are shared with all projects in Jira Cloud. See [Get all project roles](#api-rest-api-2-role-get) for more information.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoles","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"example":"{\"Administrators\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10002\",\"Users\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10001\",\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10000\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the user lacks administrative permissions for the project."},"404":{"description":"Returned if the project is not found or or if the user does not have administrative permissions for the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/role/{id}":{"get":{"tags":["Project roles"],"summary":"Get project role for project","description":"Returns a project role's details and actors associated with the project. The list of actors is sorted by display name.\n\nTo check whether a user belongs to a role based on their group memberships, use [Get user](#api-rest-api-2-user-get) with the `groups` expand parameter selected. Then check whether the user keys and groups match with the actors returned for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRole","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project or project role is not found.\n * the user does not have administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project role actors"],"summary":"Set actors for project role","description":"Sets the actors for a project role for a project, replacing all existing actors.\n\nTo add actors to the project without overwriting the existing list, use [Add actors to project role](#api-rest-api-2-project-projectIdOrKey-role-id-post).\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setActors","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The groups or users to associate with the project role for this project. Provide the user account ID or group name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRoleActorsUpdateBean"},"example":{"categorisedActors":{"atlassian-user-role-actor":["12345678-9abc-def1-2345-6789abcdef12"],"atlassian-group-role-actor":["jira-developers"]}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. The complete list of actors for the project is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project."},"404":{"description":"Returned if:\n\n * the project is not found.\n * a user or group is not found.\n * a group or user is not active."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"post":{"tags":["Project role actors"],"summary":"Add actors to project role","description":"Adds actors to a project role for the project.\n\nTo replace all actors for the project, use [Set actors for project role](#api-rest-api-2-project-projectIdOrKey-role-id-put).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addActorUsers","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The groups or users to associate with the project role for this project. Provide the user account ID or group name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorsMap"},"example":{"group":["jira-developers"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. The complete list of actors for the project is returned.\n\nFor example, the cURL request above adds a group, *jira-developers*. For the response below to be returned as a result of that request, the user *Mia Krystof* would have previously been added as a `user` actor for this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user or group is not found.\n * the group or user is not active."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project role actors"],"summary":"Delete actors from project role","description":"Deletes actors from a project role for the project.\n\nTo remove default actors from the project role, use [Delete default actors from project role](#api-rest-api-2-role-id-actors-delete).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteActor","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user","in":"query","description":"The user account ID of the user to remove from the project role.","schema":{"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"group","in":"query","description":"The name of the group to remove from the project role.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid."},"404":{"description":"Returned if:\n\n * the project or project role is not found.\n * the calling user does not have administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/roledetails":{"get":{"tags":["Project roles"],"summary":"Get project role details","description":"Returns all [project roles](https://confluence.atlassian.com/x/3odKLg) and the details for each role. Note that the list of project roles is common to all projects.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectRoleDetails","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"currentMember","in":"query","description":"Whether the roles should be filtered to include only those the user is assigned to.","schema":{"type":"boolean","default":false}},{"name":"excludeConnectAddons","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRole"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or if the user does not have the necessary permissions for the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/statuses":{"get":{"tags":["Projects"],"summary":"Get all statuses for project","description":"Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllStatuses","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeWithStatus"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"name\":\"Task\",\"subtask\":false,\"statuses\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\"}]}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/type/{newProjectTypeKey}":{"put":{"tags":["Projects"],"summary":"Update project type","description":"Deprecated, this feature is no longer supported and no alternatives are available, see [Convert project to a different template or type](https://confluence.atlassian.com/x/yEKeOQ). Updates a [project type](https://confluence.atlassian.com/x/GwiiLQ). The project type can be updated for classic projects only, project type cannot be updated for next-gen projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProjectType","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"newProjectTypeKey","in":"path","description":"The key of the new project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the project type is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-changes":[{"type":"removed","announced":"2019-06-03","effective":"2019-12-03","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-change-project-type-via-api//"}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/version":{"get":{"tags":["Project versions"],"summary":"Get project versions paginated","description":"Returns a [paginated](#pagination) list of all versions in a project. See the [Get project versions](#api-rest-api-2-project-projectIdOrKey-versions-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectVersionsPaginated","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by version description.\n * `name` Sorts by version name.\n * `releaseDate` Sorts by release date, starting with the oldest date. Versions with no release date are listed last.\n * `sequence` Sorts by the order of appearance in the user interface.\n * `startDate` Sorts by start date, starting with the oldest date. Versions with no start date are listed last.","schema":{"type":"string","enum":["description","-description","+description","name","-name","+name","releaseDate","-releaseDate","+releaseDate","sequence","-sequence","+sequence","startDate","-startDate","+startDate"]}},{"name":"query","in":"query","description":"Filter the results using a literal string. Versions with matching `name` or `description` are returned (case insensitive).","schema":{"type":"string"}},{"name":"status","in":"query","description":"A list of status values used to filter the results by version status. This parameter accepts a comma-separated list. The status values are `released`, `unreleased`, and `archived`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `issuesstatus` Returns the number of issues in each status category for each version.\n * `operations` Returns actions that can be performed on the specified version.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanVersion"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/version?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/version?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/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\":\"https://your-domain.atlassian.net/rest/api/2/version/10010\",\"id\":\"10010\",\"description\":\"Minor Bugfix version\",\"name\":\"Next Version\",\"archived\":false,\"released\":false,\"overdue\":false,\"projectId\":10000,\"issuesStatusForFixVersion\":{\"unmapped\":0,\"toDo\":10,\"inProgress\":20,\"done\":100}}]}"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/versions":{"get":{"tags":["Project versions"],"summary":"Get project versions","description":"Returns all versions in a project. The response is not paginated. Use [Get project versions paginated](#api-rest-api-2-project-projectIdOrKey-version-get) if you want to get the versions in a project with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectVersions","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `operations`, which returns actions that can be performed on the version.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Version"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/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\":\"https://your-domain.atlassian.net/rest/api/2/version/10010\",\"id\":\"10010\",\"description\":\"Minor Bugfix version\",\"name\":\"Next Version\",\"archived\":false,\"released\":false,\"overdue\":false,\"projectId\":10000,\"issuesStatusForFixVersion\":{\"unmapped\":0,\"toDo\":10,\"inProgress\":20,\"done\":100}}]"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectId}/email":{"get":{"tags":["Project email"],"summary":"Get project's sender email","description":"Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectEmail","parameters":[{"name":"projectId","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEmailAddress"},"example":"{\"emailAddress\":\"jira@example.atlassian.net\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to read project."},"404":{"description":"Returned if the project or project's sender email address is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project email"],"summary":"Set project's sender email","description":"Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\nIf `emailAddress` is an empty string, the default email address is restored.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"updateProjectEmail","parameters":[{"name":"projectId","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The project's sender email address to be set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEmailAddress"},"example":{"emailAddress":"jira@example.atlassian.net"}}},"required":true},"responses":{"204":{"description":"Returned if the project's sender email address is successfully set.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid, if the email address is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to read project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectId}/hierarchy":{"get":{"tags":["Projects"],"summary":"Get project issue type hierarchy","description":"Get the issue type hierarchy for a next-gen project.\n\nThe issue type hierarchy for a project consists of:\n\n * *Epic* at level 1 (optional).\n * One or more issue types at level 0 such as *Story*, *Task*, or *Bug*. Where the issue type *Epic* is defined, these issue types are used to break down the content of an epic.\n * *Subtask* at level -1 (optional). This issue type enables level 0 issue types to be broken down into components. Issues based on a level -1 issue type must have a parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getHierarchy","parameters":[{"name":"projectId","in":"path","description":"The ID of the project.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueTypeHierarchy"},"example":"{\"projectId\":10030,\"hierarchy\":[{\"entityId\":\"49ffcb46-5744-43b0-82f9-762c1ba84765\",\"level\":0,\"name\":\"Base\",\"issueTypes\":[{\"id\":10008,\"entityId\":\"fc88f163-4bf5-4a4e-9a4a-65ca6dc86685\",\"name\":\"Story\",\"avatarId\":10324},{\"id\":10001,\"entityId\":\"a0db05b7-8d3c-432c-bc3e-efdeac36e7e5\",\"name\":\"Bug\",\"avatarId\":10324}]},{\"entityId\":\"a30c2f2e-004f-4046-a67b-fcb21dd30cfd\",\"level\":1,\"name\":\"Epic\",\"issueTypes\":[{\"id\":10007,\"entityId\":\"24963241-2d9c-48af-ba90-0433bccef18b\",\"name\":\"Epic\",\"avatarId\":10179}]},{\"entityId\":\"9bad23eb-00e5-40ea-83f1-6890f8f2455a\",\"level\":-1,\"name\":\"Subtask\",\"issueTypes\":[{\"id\":10009,\"entityId\":\"a15a92c6-f591-4e7a-b709-f5e61e01fa37\",\"name\":\"Subtask\",\"avatarId\":10573}]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectKeyOrId}/issuesecuritylevelscheme":{"get":{"tags":["Project permission schemes"],"summary":"Get project issue security scheme","description":"Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or the *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getProjectIssueSecurityScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021,\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the project is visible to the user but the user doesn't have administrative permissions."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectKeyOrId}/notificationscheme":{"get":{"tags":["Projects"],"summary":"Get project notification scheme","description":"Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project. See the [Get notification scheme](#api-rest-api-2-notificationscheme-id-get) resource for more information about notification schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getNotificationSchemeForProject","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationScheme"},"example":"{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectKeyOrId}/permissionscheme":{"get":{"tags":["Project permission schemes"],"summary":"Get assigned permission scheme","description":"Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getAssignedPermissionScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to view the project's configuration."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project permission schemes"],"summary":"Assign permission scheme","description":"Assigns a permission scheme with a project. See [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)","operationId":"assignPermissionScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdBean"},"example":{"id":10000}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to edit the project's configuration.\n * the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be assigned to projects on free plans."},"404":{"description":"Returned if the project or permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectKeyOrId}/securitylevel":{"get":{"tags":["Project permission schemes"],"summary":"Get project issue security levels","description":"Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has access to.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security levels are only returned for authenticated user with *Set Issue Security* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project.","operationId":"getSecurityLevelsForProject","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueSecurityLevels"},"example":"{\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/100000\",\"id\":\"100000\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/100001\",\"id\":\"100001\",\"description\":\"Only internal staff can see this issue.\",\"name\":\"Staff Only\"}]}"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/projectCategory":{"get":{"tags":["Project categories"],"summary":"Get all project categories","description":"Returns all project categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAllProjectCategories","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectCategory"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10001\",\"id\":\"10001\",\"name\":\"SECOND\",\"description\":\"Second Project Category\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Project categories"],"summary":"Create project category","description":"Creates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProjectCategory","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":{"name":"CREATED","description":"Created Project Category"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10100\",\"id\":\"10100\",\"name\":\"CREATED\",\"description\":\"Created Project Category\"}"}}},"400":{"description":"Returned if:\n\n * `name` is not provided or exceeds 255 characters.\n * `description` is not provided or exceeds 1000 characters."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"409":{"description":"Returned if the project category name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/projectCategory/{id}":{"get":{"tags":["Project categories"],"summary":"Get project category by ID","description":"Returns a project category.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getProjectCategoryById","parameters":[{"name":"id","in":"path","description":"The ID of the project category.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project categories"],"summary":"Update project category","description":"Updates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProjectCategory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":{"name":"UPDATED","description":"Updated Project Category"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatedProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10100\",\"id\":\"10100\",\"name\":\"UPDATED\",\"description\":\"Updated Project Category\"}"}}},"400":{"description":"Returned if:\n\n * `name` has been modified and exceeds 255 characters.\n * `description` has been modified and exceeds 1000 characters."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project categories"],"summary":"Delete project category","description":"Deletes a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeProjectCategory","parameters":[{"name":"id","in":"path","description":"ID of the project category to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/projectvalidate/key":{"get":{"tags":["Project key and name validation"],"summary":"Validate project key","description":"Validates a project key by confirming the key is a valid string and not in use.\n\n**[Permissions](#permissions) required:** None.","operationId":"validateProjectKey","parameters":[{"name":"key","in":"query","description":"The project key.","schema":{"type":"string","example":"HSP"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[],\"errors\":{\"projectKey\":\"A project with that project key already exists.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/projectvalidate/validProjectKey":{"get":{"tags":["Project key and name validation"],"summary":"Get valid project key","description":"Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.\n\n**[Permissions](#permissions) required:** None.","operationId":"getValidProjectKey","parameters":[{"name":"key","in":"query","description":"The project key.","schema":{"type":"string","example":"HSP"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"},"example":"\"VPNE\""}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/projectvalidate/validProjectName":{"get":{"tags":["Project key and name validation"],"summary":"Get valid project name","description":"Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a sequence number. If a valid project name cannot be generated, a 404 response is returned.\n\n**[Permissions](#permissions) required:** None.","operationId":"getValidProjectName","parameters":[{"name":"name","in":"query","description":"The project name.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"},"example":"\"Valid Project Name Example\""}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if a valid project name cannot be generated."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/resolution":{"get":{"tags":["Issue resolutions"],"summary":"Get resolutions","description":"Returns a list of all issue resolution values.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getResolutions","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Resolution"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/resolution/1\",\"id\":\"10000\",\"description\":\"A fix for this issue is checked into the tree and tested.\",\"name\":\"Fixed\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/resolution/3\",\"id\":\"10001\",\"description\":\"This is what it is supposed to do.\",\"name\":\"Works as designed\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/resolution/{id}":{"get":{"tags":["Issue resolutions"],"summary":"Get resolution","description":"Returns an issue resolution value.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getResolution","parameters":[{"name":"id","in":"path","description":"The ID of the issue resolution value.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resolution"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/resolution/1\",\"id\":\"10000\",\"description\":\"A fix for this issue is checked into the tree and tested.\",\"name\":\"Fixed\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue resolution value is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/role":{"get":{"tags":["Project roles"],"summary":"Get all project roles","description":"Gets a list of all project roles, complete with project role details and default actors.\n\n### About project roles ###\n\n[Project roles](https://confluence.atlassian.com/x/3odKLg) are a flexible way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally with all projects, but each project can have a different set of actors associated with it (unlike groups, which have the same membership throughout all Jira applications).\n\nProject roles are used in [permission schemes](#api-rest-api-2-permissionscheme-get), [email notification schemes](#api-rest-api-2-notificationscheme-get), [issue security levels](#api-rest-api-2-issuesecurityschemes-get), [comment visibility](#api-rest-api-2-comment-list-post), and workflow conditions.\n\n#### Members and actors ####\n\nIn the Jira REST API, a member of a project role is called an *actor*. An *actor* is a group or user associated with a project role.\n\nActors may be set as [default members](https://confluence.atlassian.com/x/3odKLg#Managingprojectroles-Specifying'defaultmembers'foraprojectrole) of the project role or set at the project level:\n\n * Default actors: Users and groups that are assigned to the project role for all newly created projects. The default actors can be removed at the project level later if desired.\n * Actors: Users and groups that are associated with a project role for a project, which may differ from the default actors. This enables you to assign a user to different roles in different projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllProjectRoles","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRole"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project roles"],"summary":"Create project role","description":"Creates a new project role with no [default actors](#api-rest-api-2-resolution-get). You can use the [Add default actors to project role](#api-rest-api-2-role-id-actors-post) operation to add default actors to the project role after creating it.\n\n*Note that although a new project role is available to all projects upon creation, any default actors that are associated with the project role are not added to projects that existed prior to the role being created.*<\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProjectRole","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\",\"name\":\"Developers\",\"id\":10360,\"description\":\"A project role that represents developers in a project\"}"}}},"400":{"description":"Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"409":{"description":"Returned if a project role with the provided name already exists."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/role/{id}":{"get":{"tags":["Project roles"],"summary":"Get project role by ID","description":"Gets the project role details and the default actors associated with the role. The list of default actors is sorted by display name.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoleById","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Project roles"],"summary":"Fully update project role","description":"Updates the project role's name and description. You must include both a name and a description in the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"fullyUpdateProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project roles"],"summary":"Partial update project role","description":"Updates either the project role's name or its description.\n\nYou cannot update both the name and description at the same time using this operation. If you send a request with a name and a description only the name is updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"partialUpdateProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project roles"],"summary":"Delete project role","description":"Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in use.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role to delete. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"swap","in":"query","description":"The ID of the project role that will replace the one being deleted.","schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid or if the replacement project role is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role being deleted is not found."},"409":{"description":"Returned if the project role being deleted is in use and a replacement project role is not specified in the request."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/role/{id}/actors":{"get":{"tags":["Project role actors"],"summary":"Get default actors for project role","description":"Returns the [default actors](#api-rest-api-2-resolution-get) for the project role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoleActorsForRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project role actors"],"summary":"Add default actors to project role","description":"Adds [default actors](#api-rest-api-2-resolution-get) to a role. You may add groups or users, but you cannot add groups and users in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addProjectRoleActorsToRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorInputBean"},"example":{"user":["admin"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project role actors"],"summary":"Delete default actors from project role","description":"Deletes the [default actors](#api-rest-api-2-resolution-get) from a project role. You may delete a group or user, but you cannot delete a group and a user in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectRoleActorsFromRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user","in":"query","description":"The user account ID of the user to remove as a default actor.","schema":{"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"group","in":"query","description":"The group name of the group to be removed as a default actor.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens":{"get":{"tags":["Screens"],"summary":"Get screens","description":"Returns a [paginated](#pagination) list of all screens or those specified by one or more screen IDs.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreens","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}},{"name":"id","in":"query","description":"The list of screen IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreen"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/screens\",\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"id\":1,\"name\":\"Default Screen\",\"description\":\"Provides for the update all system fields.\"},{\"id\":2,\"name\":\"Workflow Screen\",\"description\":\"This screen is used in the workflow and enables you to assign issues.\"},{\"id\":3,\"name\":\"Resolve Issue Screen\",\"description\":\"Offers the ability to set resolution, change fix versions, and assign an issue.\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screens"],"summary":"Create screen","description":"Creates a screen with a default field tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createScreen","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenDetails"},"example":{"name":"Resolve Security Issue Screen","description":"Enables changes to resolution and linked issues."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Screen"},"example":"{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"description\":\"Enables changes to resolution and linked issues.\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another screen.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/addToDefault/{fieldId}":{"post":{"tags":["Screens"],"summary":"Add field to default screen","description":"Adds a field to the default tab of the default screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addFieldToDefaultScreen","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the field it not found or the field is already present."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}":{"put":{"tags":["Screens"],"summary":"Update screen","description":"Updates a screen. Only screens used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateScreen","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScreenDetails"},"example":{"name":"Resolve Accessibility Issue Screen","description":"Enables changes to resolution and linked issues for accessibility related issues."}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Screen"},"example":"{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"description\":\"Enables changes to resolution and linked issues.\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another screen.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screens"],"summary":"Delete screen","description":"Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.\n\nOnly screens used in classic projects can be deleted.","operationId":"deleteScreen","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen is used in a screen scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/availableFields":{"get":{"tags":["Screens"],"summary":"Get available screen fields","description":"Returns the fields that can be added to a tab on a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAvailableScreenFields","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableField"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs":{"get":{"tags":["Screen tabs"],"summary":"Get all screen tabs","description":"Returns the list of tabs for a screen.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.","operationId":"getAllScreenTabs","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"projectKey","in":"query","description":"The key of the project.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableTab"}}}}},"400":{"description":"Returned if the screen ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen tabs"],"summary":"Create screen tab","description":"Creates a tab for a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":{"name":"Fields Tab"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":"{\"id\":10000,\"name\":\"Fields Tab\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}":{"put":{"tags":["Screen tabs"],"summary":"Update screen tab","description":"Updates the name of a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"renameScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":"{\"id\":10000,\"name\":\"Fields Tab\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screen tabs"],"summary":"Delete screen tab","description":"Deletes a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}/fields":{"get":{"tags":["Screen tab fields"],"summary":"Get all screen tab fields","description":"Returns all fields for a screen tab.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.","operationId":"getAllScreenTabFields","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"projectKey","in":"query","description":"The key of the project.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableField"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen tab fields"],"summary":"Add screen tab field","description":"Adds a field to a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddFieldBean"},"example":{"fieldId":"summary"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableField"},"example":"{\"id\":\"summary\",\"name\":\"Summary\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}":{"delete":{"tags":["Screen tab fields"],"summary":"Remove screen tab field","description":"Removes a field from a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}/move":{"post":{"tags":["Screen tab fields"],"summary":"Move screen tab field","description":"Moves a screen tab field.\n\nIf `after` and `position` are provided in the request, `position` is ignored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"moveScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveFieldBean"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found or the field can't be moved to the requested position."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}/move/{pos}":{"post":{"tags":["Screen tabs"],"summary":"Move screen tab","description":"Moves a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"moveScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"pos","in":"path","description":"The position of tab. The base index is 0.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found or the position is invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screenscheme":{"get":{"tags":["Screen schemes"],"summary":"Get screen schemes","description":"Returns a [paginated](#pagination) list of screen schemes.\n\nOnly screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreenSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":25}},{"name":"id","in":"query","description":"The list of screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreenScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/screenscheme?maxResults=25&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":10010,\"name\":\"Employee screen scheme\",\"description\":\"Manage employee data\",\"screens\":{\"default\":10017,\"edit\":10019,\"create\":10019,\"view\":10020}},{\"id\":10032,\"name\":\"Office screen scheme\",\"description\":\"Manage office data\",\"screens\":{\"default\":10020}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen schemes"],"summary":"Create screen scheme","description":"Creates a screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createScreenScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenSchemeDetails"},"example":{"screens":{"default":10017,"view":10020,"edit":10019},"name":"Employee screen scheme","description":"Manage employee data"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenSchemeId"},"example":"{\"id\":10001}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if a screen used as one of the screen types in the screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more screens assigned to screen types was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screenscheme/{screenSchemeId}":{"put":{"tags":["Screen schemes"],"summary":"Update screen scheme","description":"Updates a screen scheme. Only screen schemes used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateScreenScheme","parameters":[{"name":"screenSchemeId","in":"path","description":"The ID of the screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The screen scheme update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScreenSchemeDetails"},"example":{"screens":{"default":"10018","create":"10019"},"name":"Employee screen scheme v2"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen scheme or a screen used as one of the screen types is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screen schemes"],"summary":"Delete screen scheme","description":"Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.\n\nOnly screens schemes used in classic projects can be deleted.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteScreenScheme","parameters":[{"name":"screenSchemeId","in":"path","description":"The ID of the screen scheme.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the screen scheme is deleted."},"400":{"description":"Returned if the screen scheme is used in an issue type screen scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme cannot be deleted as it is in use in an issue type screen scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/search":{"get":{"tags":["Issue search"],"summary":"Search for issues using JQL (GET)","description":"Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nIf the JQL query expression is too large to be encoded as a query parameter, use the [POST](#api-rest-api-2-search-post) version of this resource.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"searchForIssuesUsingJql","parameters":[{"name":"jql","in":"query","description":"The [JQL](https://confluence.atlassian.com/x/egORLQ) that defines the search. Note:\n\n * If no JQL expression is provided, all issues are returned.\n * `username` and `userkey` cannot be used as search terms due to privacy reasons. Use `accountId` instead.\n * If a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.","schema":{"type":"string","example":"project = HSP"},"x-showInExample":"true"},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page. To manage page size, Jira may return fewer items per page where a large number of fields are requested. The greatest number of items returned per page is achieved when requesting `id` or `key` only.","schema":{"type":"integer","format":"int32","default":50}},{"name":"validateQuery","in":"query","description":"Determines how to validate the JQL query and treat the validation results. Supported values are:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.","schema":{"type":"string","enum":["strict","warn","none","true","false"],"default":"strict"}},{"name":"fields","in":"query","description":"A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2&fields=field3`.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-2-issue-issueIdOrKey-get) where the default is all fields.","schema":{"type":"array","items":{"type":"string","default":"*navigable"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of issue property keys for issue properties to include in the results. This parameter accepts a comma-separated list. Multiple properties can also be provided using an ampersand separated list. For example, `properties=prop1,prop2&properties=prop3`. A maximum of 5 issue property keys can be specified.","schema":{"type":"array","items":{"type":"string"}}},{"name":"fieldsByKeys","in":"query","description":"Reference fields by their key (rather than ID).","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"},"example":"{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10001,\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"debuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.902+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10001/debuglog.txt\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":\"Main order flow broken\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.904+0000\",\"updated\":\"2020-10-28T05:46:02.904+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2020-10-28T05:46:02.934+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:02.933+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}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"}}},"400":{"description":"Returned if the JQL query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue search"],"summary":"Search for issues using JQL (POST)","description":"Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nThere is a [GET](#api-rest-api-2-search-get) version of this resource that can be used for smaller JQL query expressions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"searchForIssuesUsingJqlPost","parameters":[],"requestBody":{"description":"A JSON object containing the search request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequestBean"},"example":{"expand":["names","schema","operations"],"jql":"project = HSP","maxResults":15,"fieldsByKeys":false,"fields":["summary","status","assignee"],"startAt":0}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"},"example":"{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10001,\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"debuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.902+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10001/debuglog.txt\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":\"Main order flow broken\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:01.040+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:02.904+0000\",\"updated\":\"2020-10-28T05:46:02.904+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2020-10-28T05:46:02.934+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:02.933+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}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"}}},"400":{"description":"Returned if the JQL query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/securitylevel/{id}":{"get":{"tags":["Issue security level"],"summary":"Get issue security level","description":"Returns details of an issue security level.\n\nUse [Get issue security scheme](#api-rest-api-2-issuesecurityschemes-id-get) to obtain the IDs of issue security levels associated with the issue security scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getIssueSecurityLevel","parameters":[{"name":"id","in":"path","description":"The ID of the issue security level.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityLevel"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue security level is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/serverInfo":{"get":{"tags":["Server info"],"summary":"Get Jira instance info","description":"Returns information about the Jira instance.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getServerInfo","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInformation"},"example":"{\"baseUrl\":\"https://your-domain.atlassian.net/jira\",\"version\":\"1001.0.0-SNAPSHOT\",\"versionNumbers\":[5,0,0],\"buildNumber\":582,\"buildDate\":\"2020-10-28T05:46:04.107+0000\",\"serverTime\":\"2020-10-28T05:46:04.107+0000\",\"scmInfo\":\"1f51473f5c7b75c1a69a0090f4832cdc5053702a\",\"serverTitle\":\"My Jira instance\",\"defaultLocale\":{\"locale\":\"en_AU\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/settings/columns":{"get":{"tags":["Issue navigator settings"],"summary":"Get issue navigator default columns","description":"Returns the default issue navigator columns.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueNavigatorDefaultColumns","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}},"example":"[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"Summary\",\"value\":\"summary\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"put":{"tags":["Issue navigator settings"],"summary":"Set issue navigator default columns","description":"Sets the default issue navigator columns.\n\nThe `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple columns, pass multiple `columns` parameters. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/settings/columns`\n\nIf no column details are sent, then all default columns are removed.\n\nA navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue columns using [Get fields](#api-rest-api-2-field-get).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setIssueNavigatorDefaultColumns","parameters":[],"requestBody":{"description":"A navigable field value.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if invalid parameters are passed."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if a navigable field value is not found."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/status":{"get":{"tags":["Workflow statuses"],"summary":"Get all statuses","description":"Returns a list of all statuses associated with workflows.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getStatuses","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/status/{idOrName}":{"get":{"tags":["Workflow statuses"],"summary":"Get status","description":"Returns a status. The status must be associated with a workflow to be returned.\n\nIf a name is used on more than one status, only the status found first is returned. Therefore, identifying the status by its ID may be preferable.\n\nThis operation can be accessed anonymously.\n\n[Permissions](#permissions) required: None.","operationId":"getStatus","parameters":[{"name":"idOrName","in":"path","description":"The ID or name of the status.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the status is not found.\n * the status is not associated with a workflow.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/statuscategory":{"get":{"tags":["Workflow status categories"],"summary":"Get all status categories","description":"Returns a list of all status categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getStatusCategories","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusCategory"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/statuscategory/{idOrKey}":{"get":{"tags":["Workflow status categories"],"summary":"Get status category","description":"Returns a status category. Status categories provided a mechanism for categorizing [statuses](#api-rest-api-2-status-idOrName-get).\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getStatusCategory","parameters":[{"name":"idOrKey","in":"path","description":"The ID or key of the status category.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the status category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/task/{taskId}":{"get":{"tags":["Tasks"],"summary":"Get task","description":"Returns the status of a [long-running asynchronous task](#async).\n\nWhen a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the operation that created the task for details. Task details are not permanently retained. As of September 2019, details are retained for 14 days although this period may change without notice.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.","operationId":"getTask","parameters":[{"name":"taskId","in":"path","description":"The ID of the task.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/task/1\",\"id\":\"1\",\"description\":\"Task description\",\"status\":\"COMPLETE\",\"result\":\"the task result, this may be any JSON\",\"submittedBy\":10000,\"progress\":100,\"elapsedRuntime\":156,\"submitted\":1603863967614,\"started\":1603863967715,\"finished\":1603863967815,\"lastUpdate\":1603863967815}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the task is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/task/{taskId}/cancel":{"post":{"tags":["Tasks"],"summary":"Cancel task","description":"Cancels a task.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.","operationId":"cancelTask","parameters":[{"name":"taskId","in":"path","description":"The ID of the task.","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if cancellation of the task is not possible.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"404":{"description":"Returned if the task is not found.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/universal_avatar/type/{type}/owner/{entityId}":{"get":{"tags":["Avatars"],"summary":"Get avatars","description":"Returns the system and custom avatars for a project or issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAvatars","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"entityId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"}}],\"custom\":[{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Avatars"],"summary":"Load avatar","description":"Loads a custom avatar for a project or issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/2/universal_avatar/type/{type}/owner/{entityId}'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use:\n\n * [Update issue type](#api-rest-api-2-issuetype-id-put) to set it as the issue type's displayed avatar.\n * [Set project avatar](#api-rest-api-2-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"storeAvatar","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"entityId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permissions."},"404":{"description":"Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}":{"delete":{"tags":["Avatars"],"summary":"Delete avatar","description":"Deletes an avatar from a project or issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteAvatar","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"owningObjectId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the avatar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user does not have permission to delete the avatar, the avatar is not deletable."},"404":{"description":"Returned if the avatar type, associated item ID, or avatar ID is invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/user":{"get":{"tags":["Users"],"summary":"Get user","description":"Returns a user.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUser","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about users in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` includes all groups and nested groups to which the user belongs.\n * `applicationRoles` includes details of all the applications to which the user has access.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the *Browse users and groups* global permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Users"],"summary":"Create user","description":"Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated.\n\nThe option is provided to set or generate a password for the user. When using the option to generate a password, by omitting `password` from the request, include `\"notification\": \"true\"` to ensure the user is sent an email advising them that their account is created. This email includes a link for the user to set their password. If the notification isn't sent for a generated password, the user will need to be sent a reset password request from Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createUser","parameters":[],"requestBody":{"description":"Details about the user to be created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserWriteBean"},"example":{"password":"abracadabra","emailAddress":"mia@atlassian.com","displayName":"Mia Krystof","name":""}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"400":{"description":"Returned if the request is invalid or the number of licensed users is exceeded."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Users"],"summary":"Delete user","description":"Deletes a user.\n\n**[Permissions](#permissions) required:** Site administration (that is, membership of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeUser","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the user cannot be removed."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/user/assignable/multiProjectSearch":{"get":{"tags":["User search"],"summary":"Find users assignable to projects","description":"Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"findBulkAssignableUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"projectKeys","in":"query","description":"A list of project keys (case sensitive). This parameter accepts a comma-separated list.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `projectKeys` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if one or more of the projects is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/assignable/search":{"get":{"tags":["User search"],"summary":"Find users assignable to issues","description":"Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to:\n\n * a new issue, by providing the `projectKeyOrId`.\n * an updated issue, by providing the `issueKey`.\n * to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-rest-api-2-issue-issueIdOrKey-get).\n\nIn all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"findAssignableUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `username` or `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"sessionId","in":"query","description":"The sessionId of this request. SessionId is the same until the assignee is set.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"project","in":"query","description":"The project ID or project key (case sensitive). Required, unless `issueKey` is specified.","schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The key of the issue. Required, unless `project` is specified.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return. This operation may return less than the maximum number of items even if more are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the users that can be assigned to the issue.","schema":{"type":"integer","format":"int32","default":50}},{"name":"actionDescriptorId","in":"query","description":"The ID of the transition.","schema":{"type":"integer","format":"int32"}},{"name":"recommend","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `project` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project, issue, or transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/bulk":{"get":{"tags":["Users"],"summary":"Bulk get users","description":"Returns a [paginated](#pagination) list of the users specified by one or more account IDs.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetUsers","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"accountId","in":"query","description":"The account ID of a user. To specify multiple users, pass multiple `accountId` parameters. For example, `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"maxLength":128,"type":"array","example":"5b10ac8d82e05b22cc7d4ef5","items":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"}},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUser"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}]}"}}},"400":{"description":"Returned if `accountID` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/bulk/migration":{"get":{"tags":["Users"],"summary":"Get account IDs for users","description":"Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or `username` parameters can be specified.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetUsersMigration","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"username","in":"query","description":"Username of a user. To specify multiple users, pass multiple copies of this parameter. For example, `username=fred&username=barney`. Required if `key` isn't provided. Cannot be provided if `key` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"key","in":"query","description":"Key of a user. To specify multiple users, pass multiple copies of this parameter. For example, `key=fred&key=barney`. Required if `username` isn't provided. Cannot be provided if `username` is present.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserMigrationBean"}},"example":"[{\"username\":\"mia\",\"accountId\":\"5b10a2844c20165700ede21g\"},{\"username\":\"emma\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\"}]"}}},"400":{"description":"Returned if `key` or `username`"},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/columns":{"get":{"tags":["Users"],"summary":"Get user default columns","description":"Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId` is not passed in the request, the calling user's details are returned.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for any user.\n * Permission to access Jira, to get the calling user's column details.","operationId":"getUserDefaultColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the requested user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Users"],"summary":"Set user default columns","description":"Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID is not passed, the calling user's default columns are set. If no column details are sent, then all default columns are removed.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/user/columns?accountId=5b10ac8d82e05b22cc7d4ef5'`\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.","operationId":"setUserColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"requestBody":{"description":"The ID of a column to set. To set multiple columns, send multiple `columns` parameters.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the requested user is not found."},"500":{"description":"Returned if an invalid issue table column ID is sent."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Users"],"summary":"Reset user default columns","description":"Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system default. If `accountId` is not passed, the calling user's default columns are reset.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.","operationId":"resetUserColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/user/email":{"get":{"tags":["Users"],"summary":"Get user email","description":"Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).","operationId":"getUserEmail","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"maxLength":128,"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnrestrictedUserEmail"},"example":"name@example.com"}}},"400":{"description":"Returned if the calling app is not approved to use this API."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request (for example if a user is trying to access this API)."},"404":{"description":"Returned if a user with the given `accountId` doesn't exist"},"503":{"description":"Indicates the API is not currently enabled"}},"deprecated":false,"security":[{"basicAuth":[]}],"x-experimental":true,"x-atlassian-connect-scope":"ACCESS_EMAIL_ADDRESSES"}},"/rest/api/2/user/email/bulk":{"get":{"tags":["Users"],"summary":"Get user email bulk","description":"Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).","operationId":"getUserEmailBulk","parameters":[{"name":"accountId","in":"query","description":"The account IDs of the users for which emails are required. An `accountId` is an identifier that uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`. Note, this should be treated as an opaque identifier (that is, do not assume any structure in the value).","required":true,"schema":{"maxLength":128,"type":"array","items":{"maxLength":128,"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnrestrictedUserEmail"}}}},"400":{"description":"Returned if the calling app is not approved to use this API."},"401":{"description":"Returned if the authentication credentials are incorrect, or missing from the request (for example if a user is trying to access this API)."},"503":{"description":"Indicates the API is not currently enabled."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-experimental":true,"x-atlassian-connect-scope":"ACCESS_EMAIL_ADDRESSES"}},"/rest/api/2/user/groups":{"get":{"tags":["Users"],"summary":"Get user groups","description":"Returns the groups to which a user belongs.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUserGroups","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupName"}},"example":"{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the *Browse users and groups* global permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/permission/search":{"get":{"tags":["User search"],"summary":"Find users with permissions","description":"Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have a set of permissions for a project or issue.\n\nIf no search string is provided, a list of all users with the permissions is returned.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project.","operationId":"findUsersWithAllPermissions","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"permissions","in":"query","description":"A comma separated list of permissions. Permissions can be specified as any:\n\n * permission returned by [Get all permissions](#api-rest-api-2-permissions-get).\n * custom project permission added by Connect apps.\n * (deprecated) one of the following:\n \n * ASSIGNABLE\\_USER\n * ASSIGN\\_ISSUE\n * ATTACHMENT\\_DELETE\\_ALL\n * ATTACHMENT\\_DELETE\\_OWN\n * BROWSE\n * CLOSE\\_ISSUE\n * COMMENT\\_DELETE\\_ALL\n * COMMENT\\_DELETE\\_OWN\n * COMMENT\\_EDIT\\_ALL\n * COMMENT\\_EDIT\\_OWN\n * COMMENT\\_ISSUE\n * CREATE\\_ATTACHMENT\n * CREATE\\_ISSUE\n * DELETE\\_ISSUE\n * EDIT\\_ISSUE\n * LINK\\_ISSUE\n * MANAGE\\_WATCHER\\_LIST\n * MODIFY\\_REPORTER\n * MOVE\\_ISSUE\n * PROJECT\\_ADMIN\n * RESOLVE\\_ISSUE\n * SCHEDULE\\_ISSUE\n * SET\\_ISSUE\\_SECURITY\n * TRANSITION\\_ISSUE\n * VIEW\\_VERSION\\_CONTROL\n * VIEW\\_VOTERS\\_AND\\_WATCHERS\n * VIEW\\_WORKFLOW\\_READONLY\n * WORKLOG\\_DELETE\\_ALL\n * WORKLOG\\_DELETE\\_OWN\n * WORKLOG\\_EDIT\\_ALL\n * WORKLOG\\_EDIT\\_OWN\n * WORK\\_ISSUE","required":true,"schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The issue key for the issue.","schema":{"type":"string"}},{"name":"projectKey","in":"query","description":"The project key for the project (case sensitive).","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `projectKey` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided.\n * `permissions` is empty or contains an invalid entry."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue or project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/picker":{"get":{"tags":["User search"],"summary":"Find users for picker","description":"Returns a list of users whose attributes match the query term. The returned object includes the `html` field where the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude users from the results.\n\nThis operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns only the users from that range that match the query term. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the query term, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return search results for an exact name match only.","operationId":"findUsersForPicker","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*.","required":true,"schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"The maximum number of items to return. The total number of matched users is returned in `total`.","schema":{"type":"integer","format":"int32","default":50}},{"name":"showAvatar","in":"query","description":"Include the URI to the user's avatar.","schema":{"type":"boolean","default":false}},{"name":"exclude","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"excludeAccountIds","in":"query","description":"A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`. Cannot be provided with `exclude`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"avatarSize","in":"query","schema":{"type":"string"}},{"name":"excludeConnectUsers","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundUsers"},"example":"{\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"mia\",\"key\":\"mia\",\"html\":\"Mia Krystof - mia@example.com (mia)\",\"displayName\":\"Mia Krystof\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}],\"total\":25,\"header\":\"Showing 20 of 25 matching groups\"}"}}},"400":{"description":"Returned if `exclude` and `excludeAccountIds` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/properties":{"get":{"tags":["User properties"],"summary":"Get user property keys","description":"Returns the keys of all properties for a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on any user.\n * Access to Jira, to access the calling user's property keys.","operationId":"getUserPropertyKeys","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/properties/{propertyKey}":{"get":{"tags":["User properties"],"summary":"Get user property","description":"Returns the value of a user's property. If no property key is provided [Get user property keys](#api-rest-api-2-user-properties-get) is called.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.\n * Access to Jira, to get a property from the calling user's record.","operationId":"getUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["User properties"],"summary":"Set user property","description":"Sets the value of a user's property. Use this resource to store custom data against a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.\n * Access to Jira, to set a property on the calling user's record.","operationId":"setUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the user property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the user property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."},"405":{"description":"Returned if the property key is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["User properties"],"summary":"Delete user property","description":"Deletes a property from a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any user.\n * Access to Jira, to delete a property from the calling user's record.","operationId":"deleteUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the user property is deleted."},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user or the property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/user/search":{"get":{"tags":["User search"],"summary":"Find users","description":"Returns a list of users that match the search string and property.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and property. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and property, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users without the required permission return empty search results.","operationId":"findUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes ( `displayName`, and `emailAddress`) to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` or `property` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against a user `accountId`. Required, unless `query` or `property` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"property","in":"query","description":"A query string used to search properties. Property keys are specified by path, so property keys containing dot (.) or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `thepropertykey.something.nested=1`. Required, unless `accountId` or `query` is specified.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `accountId`, `query` or `property` is missing.\n * `query` and `accountId` are provided.\n * `property` parameter is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/search/query":{"get":{"tags":["User search"],"summary":"Find users by query","description":"Finds users with a structured query and returns a [paginated](#pagination) list of user details.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`","operationId":"findUsersByQuery","parameters":[{"name":"query","in":"query","description":"The search query.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUser"}}}},"400":{"description":"Returned if the query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"408":{"description":"Returned if the search is timed out."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/search/query/key":{"get":{"tags":["User search"],"summary":"Find user keys by query","description":"Finds users with a structured query and returns a [paginated](#pagination) list of user keys.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`","operationId":"findUserKeysByQuery","parameters":[{"name":"query","in":"query","description":"The search query.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUserKey"}}}},"400":{"description":"Returned if the query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"408":{"description":"Returned if the search is timed out."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/viewissue/search":{"get":{"tags":["User search"],"summary":"Find users with browse permission","description":"Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have permission to browse issues.\n\nUse this resource to find users who can browse:\n\n * an issue, by providing the `issueKey`.\n * any issue in a project, by providing the `projectKey`.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results.","operationId":"findUsersWithBrowsePermission","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"issueKey","in":"query","description":"The issue key for the issue. Required, unless `projectKey` is specified.","schema":{"type":"string"}},{"name":"projectKey","in":"query","description":"The project key for the project (case sensitive). Required, unless `issueKey` is specified.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `projectKey` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/users":{"get":{"tags":["Users"],"summary":"Get all users default","description":"Returns a list of all (active and inactive) users.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllUsersDefault","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return.","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user doesn't have the necessary permission."},"409":{"description":"Returned if the request takes longer than 10 seconds or is interrupted."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/users/search":{"get":{"tags":["Users"],"summary":"Get all users","description":"Returns a list of all (active and inactive) users.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllUsers","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return.","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user doesn't have the necessary permission."},"409":{"description":"Returned if the request takes longer than 10 seconds or is interrupted."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/version":{"post":{"tags":["Project versions"],"summary":"Create version","description":"Creates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.","operationId":"createVersion","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":{"archived":false,"releaseDate":"2010-07-06","name":"New Version 1","description":"An excellent version","projectId":10000,"released":true}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\",\"id\":\"10000\",\"description\":\"An excellent version\",\"name\":\"New Version 1\",\"archived\":false,\"released\":true,\"releaseDate\":\"2010-07-06\",\"userReleaseDate\":\"6/Jul/2010\",\"project\":\"PXA\",\"projectId\":10000}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}":{"get":{"tags":["Project versions"],"summary":"Get version","description":"Returns a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.","operationId":"getVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property represents the number of issues with a status other than *to do*, *in progress*, and *done*.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the version is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project versions"],"summary":"Update version","description":"Updates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"updateVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":{"archived":false,"overdue":true,"releaseDate":"2010-07-06","name":"New Version 1","self":"https://your-domain.atlassian.net/rest/api/~ver~/version/10000","description":"An excellent version","userReleaseDate":"6/Jul/2010","id":"10000","projectId":10000,"released":true}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\",\"id\":\"10000\",\"description\":\"An excellent version\",\"name\":\"New Version 1\",\"archived\":false,\"released\":true,\"releaseDate\":\"2010-07-06\",\"userReleaseDate\":\"6/Jul/2010\",\"project\":\"PXA\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the request is invalid.\n * the user does not have the required permissions."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the version is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project versions"],"summary":"Delete version","description":"Deletes a project version.\n\nDeprecated, use [ Delete and replace version](#api-rest-api-2-version-id-removeAndSwap-post) that supports swapping version values in custom fields, in addition to the swapping for `fixVersion` and `affectedVersion` provided in this resource.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion` or `affectedVersion`. If alternatives are not provided, occurrences of `fixVersion` and `affectedVersion` that contain the deleted version are cleared.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"deleteVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}},{"name":"moveFixIssuesTo","in":"query","description":"The ID of the version to update `fixVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.","schema":{"type":"string"}},{"name":"moveAffectedIssuesTo","in":"query","description":"The ID of the version to update `affectedVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the version is deleted."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect.\n * the user does not have the required permissions."},"404":{"description":"Returned if the version is not found."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}/mergeto/{moveIssuesTo}":{"put":{"tags":["Project versions"],"summary":"Merge versions","description":"Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.\n\nConsider using [ Delete and replace version](#api-rest-api-2-version-id-removeAndSwap-post) instead. This resource supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"mergeVersions","parameters":[{"name":"id","in":"path","description":"The ID of the version to delete.","required":true,"schema":{"type":"string"}},{"name":"moveIssuesTo","in":"path","description":"The ID of the version to merge into.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the version is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect or missing.\n * the user does not have the required permissions."},"404":{"description":"Returned if the version to be deleted or the version to merge to are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}/move":{"post":{"tags":["Project versions"],"summary":"Move version","description":"Modifies the version's sequence within the project, which affects the display order of the versions in Jira.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"moveVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version to be moved.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionMoveBean"},"example":{"after":"https://your-domain.atlassian.net/rest/api/~ver~/version/10000"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/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}"}}},"400":{"description":"Returned if:\n\n * no body parameters are provided.\n * `after` and `position` are provided.\n * `position` is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect or missing\n * the user does not have the required commissions."},"404":{"description":"Returned if the version or move after version are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}/relatedIssueCounts":{"get":{"tags":["Project versions"],"summary":"Get version's related issues count","description":"Returns the following counts for a version:\n\n * Number of issues where the `fixVersion` is set to the version.\n * Number of issues where the `affectedVersion` is set to the version.\n * Number of issues where a version custom field is set to the version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"getVersionRelatedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionIssueCounts"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\",\"issuesFixedCount\":23,\"issuesAffectedCount\":101,\"issueCountWithCustomFieldsShowingVersion\":54,\"customFieldUsage\":[{\"fieldName\":\"Field1\",\"customFieldId\":10000,\"issueCountWithVersionInCustomField\":2},{\"fieldName\":\"Field2\",\"customFieldId\":10010,\"issueCountWithVersionInCustomField\":3}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the version is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/version/{id}/removeAndSwap":{"post":{"tags":["Project versions"],"summary":"Delete and replace version","description":"Deletes a project version.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion`, `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version being deleted.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"deleteAndReplaceVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAndReplaceVersionBean"}}},"required":true},"responses":{"204":{"description":"Returned if the version is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the version to delete is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}/unresolvedIssueCount":{"get":{"tags":["Project versions"],"summary":"Get version's unresolved issues count","description":"Returns counts of the issues and unresolved issues for the project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"getVersionUnresolvedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionUnresolvedIssuesCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\",\"issuesUnresolvedCount\":23,\"issuesCount\":30}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the version is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/webhook":{"get":{"tags":["Webhooks"],"summary":"Get dynamic webhooks for app","description":"Returns a [paginated](#pagination) list of the webhooks registered by the calling app.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"getDynamicWebhooksForApp","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWebhook"},"example":"{\"maxResults\":2,\"startAt\":0,\"total\":100,\"isLast\":false,\"values\":[{\"id\":10000,\"jqlFilter\":\"project = PRJ\",\"events\":[\"jira:issue_updated\",\"jira:issue_created\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"},{\"id\":10001,\"jqlFilter\":\"issuetype = Bug\",\"events\":[\"jira:issue_created\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Webhooks"],"summary":"Register dynamic webhooks","description":"Registers webhooks.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"registerDynamicWebhooks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRegistrationDetails"},"example":{"webhooks":[{"jqlFilter":"project = PROJ","events":["jira:issue_created","jira:issue_updated"]},{"jqlFilter":"project IN (PROJ, EXP) AND status = done","events":["jira:issue_deleted"]}],"url":"https://your-app.example.com/webhook-received"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForRegisteredWebhooks"},"example":"{\"webhookRegistrationResult\":[{\"createdWebhookId\":1000},{\"errors\":[\"The clause watchCount is unsupported\"]},{\"createdWebhookId\":1001}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Webhooks"],"summary":"Delete webhooks by ID","description":"Removes webhooks by ID. Only webhooks registered by the calling Connect app are removed. If webhooks created by other apps are specified, they are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"deleteWebhookById","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForWebhookIDs"},"example":{"webhookIds":[10000,10001,10042]}}},"required":true},"responses":{"202":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the list of webhook IDs is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/webhook/failed":{"get":{"tags":["Webhooks"],"summary":"Get failed webhooks","description":"Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.\n\nAfter 72 hours the failure may no longer be returned by this operation.\n\nThe oldest failure is returned first.\n\nThis method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"getFailedWebhooks","parameters":[{"name":"maxResults","in":"query","description":"The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page.","schema":{"type":"integer","format":"int32"}},{"name":"after","in":"query","description":"The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch.","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedWebhooks"},"example":"{\"values\":[{\"id\":\"1\",\"body\":\"{\\\"data\\\":\\\"webhook data\\\"}\",\"url\":\"https://example.com\",\"failureTime\":1573118132000},{\"id\":\"2\",\"url\":\"https://example.com\",\"failureTime\":1573540473480}],\"maxResults\":100,\"next\":\"https://your-domain.atlassian.net/rest/api/2/webhook/failed?failedAfter=1573540473480&maxResults=100\"}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/webhook/refresh":{"put":{"tags":["Webhooks"],"summary":"Extend webhook life","description":"Webhooks registered through the REST API expire after 30 days. Call this resource periodically to keep them alive.\n\nUnrecognized webhook IDs (nonexistent or belonging to other apps) are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"refreshWebhooks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForWebhookIDs"},"example":{"webhookIds":[10000,10001,10042]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksExpirationDate"},"example":"{\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/workflow":{"get":{"tags":["Workflows"],"summary":"Get all workflows","description":"Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-2-workflow-search-get).\n\nIf the `workflowName` parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllWorkflows","parameters":[{"name":"workflowName","in":"query","description":"The name of the workflow to be returned. Only one workflow can be specified.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeprecatedWorkflow"}},"example":"[{\"name\":\"classic workflow\",\"description\":\"A classic Jira workflow\",\"lastModifiedDate\":\"01-01-2011\",\"lastModifiedUser\":\"admin\",\"lastModifiedUserAccountId\":\"5b10a2844c20165700ede21g\",\"steps\":5,\"default\":true}]"}}},"401":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflow/rule/config":{"get":{"tags":["Workflow transition rules"],"summary":"Get workflow transition rule configurations","description":"Returns a [paginated](#pagination) list of workflows with transition rules. The workflows can be filtered to return only those containing workflow transition rules:\n\n * of one or more transition rule types, such as [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).\n * matching one or more transition rule keys.\n\nOnly workflows containing transition rules created by the calling Connect app are returned. However, if a workflow is returned all transition rules that match the filters are returned for that workflow.\n\nDue to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be ignored.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"getWorkflowTransitionRuleConfigurations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"types","in":"query","description":"The types of the transition rules to return.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["postfunction","condition","validator"]}}},{"name":"keys","in":"query","description":"The transition rule class keys, as defined in the Connect app descriptor, of the transition rules to return.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `transition`, which, for each rule, returns information about the transition the rule is assigned to.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflowTransitionRules"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"workflowId\":{\"name\":\"My Workflow name\",\"draft\":false},\"postFunctions\":[{\"id\":\"b4d6cbdc-59f5-11e9-8647-d663bd873d93\",\"key\":\"postfunction-key\",\"configuration\":{\"value\":\"{ \\\"color\\\": \\\"red\\\" }\"},\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"conditions\":[{\"id\":\"d663bd873d93-59f5-11e9-8647-b4d6cbdc\",\"key\":\"condition-key\",\"configuration\":{\"value\":\"{ \\\"size\\\": \\\"medium\\\" }\"},\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"validators\":[{\"id\":\"11e9-59f5-b4d6cbdc-8647-d663bd873d93\",\"key\":\"validator-key\",\"configuration\":{\"value\":\"\\\"{ \\\\\\\"shape\\\\\\\": \\\\\\\"square\\\\\\\" }\\\"\"},\"transition\":{\"id\":1,\"name\":\"Open\"}}]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the any transition rule type is not supported."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Workflow transition rules"],"summary":"Update workflow transition rule configurations","description":"Updates configuration of workflow transition rules. The following rule types are supported:\n\n * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)\n * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)\n * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)\n\nOnly rules created by the calling Connect app can be updated.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"updateWorkflowTransitionRuleConfigurations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdate"},"example":{"workflows":[{"postFunctions":[{"configuration":{"value":"{ \"color\": \"red\" }"},"id":"b4d6cbdc-59f5-11e9-8647-d663bd873d93"}],"validators":[{"configuration":{"value":"{ \"shape\": \"square\" }"},"id":"11e9-59f5-b4d6cbdc-8647-d663bd873d93"}],"conditions":[{"configuration":{"value":"{ \"size\": \"medium\" }"},"id":"d663bd873d93-59f5-11e9-8647-b4d6cbdc"}],"workflowId":{"draft":false,"name":"My Workflow name"}}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrors"},"example":"{\"updateResults\":[{\"workflowId\":{\"name\":\"Workflow with one rule not updated\",\"draft\":false},\"ruleUpdateErrors\":{\"example-rule-id\":[\"The rule with this id does not exist: example-rule-id\"]},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Workflow with all rules successfully updated\",\"draft\":true},\"ruleUpdateErrors\":{},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Non-existing workflow\",\"draft\":false},\"ruleUpdateErrors\":{},\"updateErrors\":[\"Workflow not found: WorkflowIdBean{name=Non-existing workflow, draft=false}\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflow/search":{"get":{"tags":["Workflows"],"summary":"Get workflows paginated","description":"Returns a [paginated](#pagination) list of published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise, all published classic workflows are returned.\n\nThis operation does not return next-gen workflows.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowsPaginated","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"workflowName","in":"query","description":"The name of a workflow to return.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `transitions` For each workflow, returns information about the transitions inside the workflow.\n * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested.\n * `statuses` For each workflow, returns information about the statuses inside the workflow.\n * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflow"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":{\"name\":\"SCRUM Workflow\"},\"description\":\"A workflow used for Software projects in the SCRUM methodology\",\"transitions\":[{\"id\":\"5\",\"name\":\"In Progress\",\"description\":\"Start working on the issue.\",\"from\":[\"10\",\"13\"],\"to\":\"14\",\"type\":\"directed\",\"screen\":{\"id\":\"10000\"},\"rules\":{\"conditions\":[{\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"WORK_ON_ISSUES\"}}],\"validators\":[{\"type\":\"FieldRequiredValidator\",\"configuration\":{\"ignoreContext\":true,\"errorMessage\":\"A custom error message\",\"fields\":[\"description\",\"assignee\"]}}],\"postFunctions\":[{\"type\":\"UpdateIssueStatusFunction\"},{\"type\":\"GenerateChangeHistoryFunction\"},{\"type\":\"FireIssueEventFunction\"}]}}],\"statuses\":[{\"id\":\"3\",\"name\":\"In Progress\",\"properties\":{\"issueEditable\":false}}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can access workflows.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflow/transitions/{transitionId}/properties":{"get":{"tags":["Workflow transition properties"],"summary":"Get workflow transition properties","description":"Returns the properties on a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowTransitionProperties","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira administration console. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"includeReservedKeys","in":"query","description":"Some properties with keys that have the *jira.* prefix are reserved, which means they are not editable. To include these properties in the results, set this parameter to *true*.","schema":{"type":"boolean","default":false}},{"name":"key","in":"query","description":"The key of the property being returned, also known as the name of the property. If this parameter is not specified, all properties on the transition are returned.","schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to *live* for active and inactive workflows, or *draft* for draft workflows.","schema":{"type":"string","enum":["live","draft"],"default":"live"}}],"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"[{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"},{\"key\":\"jira.permission\",\"value\":\"createissue\",\"id\":\"jira.permission\"}]"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have admin permission"},"404":{"description":"Returned if the workflow transition or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow transition properties"],"summary":"Update workflow transition property","description":"Updates a workflow transition by changing the property value. Trying to update a property that does not exist results in a new property being added to the transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The key of the property being updated, also known as the name of the property. Set this to the same value as the `key` defined in the request body.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":{"value":"createissue"}}},"required":true},"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"}"}}},"304":{"description":"Returned if no changes were made by the request. For example, attempting to update a property with its current value."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflow transition properties"],"summary":"Create workflow transition property","description":"Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The key of the property being added, also known as the name of the property. Set this to the same value as the `key` defined in the request body.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to *live* for inactive workflows or *draft* for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"],"default":"live"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":{"value":"createissue"}}},"required":true},"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"}"}}},"400":{"description":"Returned if a workflow property with the same key is present on the transition."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow transition properties"],"summary":"Delete workflow transition property","description":"Deletes a property from a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The name of the transition property to delete, also known as the name of the property.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"]}}],"responses":{"200":{"description":"200 response"},"304":{"description":"Returned if no changes were made by the request. For example, trying to delete a property that cannot be found."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme":{"get":{"tags":["Workflow schemes"],"summary":"Get all workflow schemes","description":"Returns a [paginated](#pagination) list of all workflow schemes, not including draft workflow schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllWorkflowSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflowScheme"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"},{\"id\":101011,\"name\":\"Another example workflow scheme\",\"description\":\"The description of the another example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101011\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflow schemes"],"summary":"Create workflow scheme","description":"Creates a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/project":{"get":{"tags":["Workflow scheme project associations"],"summary":"Get workflow scheme project associations","description":"Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a list of the requested projects associated with it. Any next-gen or non-existent projects in the request are ignored and no errors are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeProjectAssociations","parameters":[{"name":"projectId","in":"query","description":"The ID of a project to return the workflow schemes for. To include multiple projects, provide an ampersand-Jim: oneseparated list. For example, `projectId=10000&projectId=10001`.","required":true,"schema":{"maxItems":100,"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64","example":10010}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerOfWorkflowSchemeAssociations"},"example":"{\"values\":[{\"projectIds\":[\"10010\",\"10020\"],\"workflowScheme\":{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"projectId\":\"The ID of a project has to be provided.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access workflow scheme associations.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme project associations"],"summary":"Assign workflow scheme to project","description":"Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.\n\nWorkflow schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"associateSchemeWithProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowSchemeProjectAssociation"},"example":{"workflowSchemeId":"10032","projectId":"10001"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have workflow schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access workflow scheme associations.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the workflow scheme or the project are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The workflow scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}":{"get":{"tags":["Workflow schemes"],"summary":"Get workflow scheme","description":"Returns a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the workflow scheme's draft rather than scheme itself, if set to true. If the workflow scheme does not have a draft, then the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Update workflow scheme","description":"Updates a workflow scheme, including the name, default workflow, issue type to project mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","updateDraftIfNeeded":false,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete workflow scheme","description":"Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at least one project).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the scheme is active."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/createdraft":{"post":{"tags":["Workflow scheme drafts"],"summary":"Create draft workflow scheme","description":"Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowSchemeDraftFromParent","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft is created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/default":{"get":{"tags":["Workflow schemes"],"summary":"Get default workflow","description":"Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"returnDraftIfExists","in":"query","description":"Set to `true` to return the default workflow for the workflow scheme's draft rather than scheme itself. If the workflow scheme does not have a draft, then the default workflow for the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":"{\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Update default workflow","description":"Sets the default workflow for a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The new default workflow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":{"workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete default workflow","description":"Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get draft workflow scheme","description":"Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information. \nNote that:\n\n * Only active workflow schemes can have draft workflow schemes.\n * An active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Update draft workflow scheme","description":"Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a draft is created. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","updateDraftIfNeeded":false,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete draft workflow scheme","description":"Deletes a draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft/default":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get draft default workflow","description":"Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":"{\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Update draft default workflow","description":"Sets the default workflow for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The object for the new default workflow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":{"workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete draft default workflow","description":"Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft/issuetype/{issueType}":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get workflow for issue type in draft workflow scheme","description":"Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":"{\"issueType\":\"10000\",\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Set workflow for issue type in draft workflow scheme","description":"Sets the workflow for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type-project mapping.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":{"issueType":"10000","workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete workflow for issue type in draft workflow scheme","description":"Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft/workflow":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get issue types for workflows in draft workflow scheme","description":"Returns the workflow-issue type mappings for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDraftWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":"{\"workflow\":\"jira\",\"issueTypes\":[\"10000\",\"10001\"],\"defaultMapping\":false}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if either the workflow scheme or workflow (if specified) is not found. session."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Set issue types for workflow in workflow scheme","description":"Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDraftWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":{"workflow":"jira","updateDraftIfNeeded":true,"issueTypes":["10000"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete issue types for workflow in draft workflow scheme","description":"Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDraftWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/issuetype/{issueType}":{"get":{"tags":["Workflow schemes"],"summary":"Get workflow for issue type in workflow scheme","description":"Returns the issue type-workflow mapping for an issue type in a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":"{\"issueType\":\"10000\",\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Set workflow for issue type in workflow scheme","description":"Sets the workflow for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow mapping. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type-project mapping.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":{"issueType":"10000","workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete workflow for issue type in workflow scheme","description":"Deletes the issue type-workflow mapping for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/workflow":{"get":{"tags":["Workflow schemes"],"summary":"Get issue types for workflows in workflow scheme","description":"Returns the workflow-issue type mappings for a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.","schema":{"type":"string"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":"{\"workflow\":\"jira\",\"issueTypes\":[\"10000\",\"10001\"],\"defaultMapping\":false}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if either the workflow scheme or workflow is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Set issue types for workflow in workflow scheme","description":"Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for the workflow scheme. Unmapped issues types are mapped to the default workflow.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types mappings. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":{"workflow":"jira","updateDraftIfNeeded":true,"issueTypes":["10000"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete issue types for workflow in workflow scheme","description":"Deletes the workflow-issue type mapping for a workflow in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is not true."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/worklog/deleted":{"get":{"tags":["Issue worklogs"],"summary":"Get IDs of deleted worklogs","description":"Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs deleted during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getIdsOfWorklogsDeletedSince","parameters":[{"name":"since","in":"query","description":"The date and time, as a UNIX timestamp in milliseconds, after which deleted worklogs are returned.","schema":{"type":"integer","format":"int64","default":0}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangedWorklogs"},"example":"{\"values\":[{\"worklogId\":103,\"updatedTime\":1438013671562,\"properties\":[]},{\"worklogId\":104,\"updatedTime\":1438013672165,\"properties\":[]},{\"worklogId\":105,\"updatedTime\":1438013693136,\"properties\":[]}],\"since\":1438013671562,\"until\":1438013693136,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013671562\",\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013693136\",\"lastPage\":true}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/worklog/list":{"post":{"tags":["Issue worklogs"],"summary":"Get worklogs","description":"Returns worklog details for a list of worklog IDs.\n\nThe returned list of worklogs is limited to 1000 items.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.","operationId":"getWorklogsForIds","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.","schema":{"type":"string","default":""}}],"requestBody":{"description":"A JSON object containing a list of worklog IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorklogIdsRequestBean"},"example":{"ids":[1,2,5,10]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Worklog"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2020-10-28T05:46:02.934+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:02.933+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}]"}}},"400":{"description":"Returned if the request contains more than 1000 worklog IDs or is empty."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/worklog/updated":{"get":{"tags":["Issue worklogs"],"summary":"Get IDs of updated worklogs","description":"Returns a list of IDs and update timestamps for worklogs updated after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs updated during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.","operationId":"getIdsOfWorklogsModifiedSince","parameters":[{"name":"since","in":"query","description":"The date and time, as a UNIX timestamp in milliseconds, after which updated worklogs are returned.","schema":{"type":"integer","format":"int64","default":0}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangedWorklogs"},"example":"{\"values\":[{\"worklogId\":103,\"updatedTime\":1438013671562,\"properties\":[]},{\"worklogId\":104,\"updatedTime\":1438013672165,\"properties\":[]},{\"worklogId\":105,\"updatedTime\":1438013693136,\"properties\":[]}],\"since\":1438013671562,\"until\":1438013693136,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013671562\",\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013693136\",\"lastPage\":true}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/atlassian-connect/1/addons/{addonKey}/properties":{"get":{"tags":["App properties"],"summary":"Get app properties","description":"Gets all the properties of an app.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.getAddonProperties_get","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":{"keys":[{"self":"https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey","key":"propertyKey"}]}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}":{"get":{"tags":["App properties"],"summary":"Get app property","description":"Returns the key and value of an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.getAddonProperty_get","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":{"self":"https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey","key":"propertyKey","value":"propertyValue"}}}},"400":{"description":"Returned if the property key is longer than 127 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}},"404":{"description":"Returned if the property is not found or doesn't belong to the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property with key not found.","statusCode":404}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"},"put":{"tags":["App properties"],"summary":"Set app property","description":"Sets the value of an app's property. Use this resource to store custom data for your app.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.putAddonProperty_put","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the property is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property updated.","statusCode":200}}}},"201":{"description":"Returned is the property is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property created.","statusCode":201}}}},"400":{"description":"Returned if:\n * the property key is longer than 127 characters.\n * the value is not valid JSON.\n * the value is longer than 32768 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["App properties"],"summary":"Delete app property","description":"Deletes an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.deleteAddonProperty_delete","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the property key is longer than 127 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}},"404":{"description":"Returned if the property is not found or doesn't belong to the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property with key not found.","statusCode":404}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/app/module/dynamic":{"get":{"tags":["Dynamic modules"],"summary":"Get modules","description":"Returns all modules registered dynamically by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.getModules_get","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectModules"}}}},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"},"post":{"tags":["Dynamic modules"],"summary":"Register modules","description":"Registers a list of modules.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.registerModules_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectModules"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n* any of the provided modules is invalid. For example, required properties are missing.\n* any of the modules conflict with registered dynamic modules or modules defined in the app descriptor. For example, there are duplicate keys.\n\nDetails of the issues encountered are included in the error message.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"Installation failed. The app com.example.app.key has duplicate module keys: [module-key]. Please contact the app vendor."}}}},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["Dynamic modules"],"summary":"Remove modules","description":"Remove all or a list of modules registered by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.removeModules_delete","parameters":[{"name":"moduleKey","in":"query","description":"The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter.\nFor example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`.\nNonexistent keys are ignored.","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"}}},"components":{"schemas":{"ApplicationRole":{"type":"object","properties":{"key":{"type":"string","description":"The key of the application role."},"groups":{"uniqueItems":true,"type":"array","description":"The groups associated with the application role.","items":{"type":"string"}},"name":{"type":"string","description":"The display name of the application role."},"defaultGroups":{"uniqueItems":true,"type":"array","description":"The groups that are granted default access for this application role.","items":{"type":"string"}},"selectedByDefault":{"type":"boolean","description":"Determines whether this application role should be selected by default on user creation."},"defined":{"type":"boolean","description":"Deprecated."},"numberOfSeats":{"type":"integer","description":"The maximum count of users on your license.","format":"int32"},"remainingSeats":{"type":"integer","description":"The count of users remaining on your license.","format":"int32"},"userCount":{"type":"integer","description":"The number of users counting against your license.","format":"int32"},"userCountDescription":{"type":"string","description":"The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license."},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean","description":"Indicates if the application role belongs to Jira platform (`jira-core`)."}},"additionalProperties":false,"description":"Details of an application role."},"AvatarUrlsBean":{"type":"object","properties":{"16x16":{"type":"string","description":"The URL of the item's 16x16 pixel avatar.","format":"uri"},"24x24":{"type":"string","description":"The URL of the item's 24x24 pixel avatar.","format":"uri"},"32x32":{"type":"string","description":"The URL of the item's 32x32 pixel avatar.","format":"uri"},"48x48":{"type":"string","description":"The URL of the item's 48x48 pixel avatar.","format":"uri"}},"additionalProperties":false},"GroupName":{"type":"object","properties":{"name":{"type":"string","description":"The name of group."},"self":{"type":"string","description":"The URL for these group details.","format":"uri","readOnly":true}},"additionalProperties":false,"description":"Details about a group name."},"ListWrapperCallbackApplicationRole":{"type":"object","additionalProperties":false},"ListWrapperCallbackGroupName":{"type":"object","additionalProperties":false},"PageBeanUser":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}}},"additionalProperties":false,"description":"A page of items."},"SimpleListWrapperApplicationRole":{"type":"object","properties":{"size":{"type":"integer","format":"int32","xml":{"attribute":true}},"items":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRole"}},"pagingCallback":{"$ref":"#/components/schemas/ListWrapperCallbackApplicationRole"},"callback":{"$ref":"#/components/schemas/ListWrapperCallbackApplicationRole"},"max-results":{"type":"integer","format":"int32","xml":{"name":"max-results","attribute":true}}},"additionalProperties":false,"xml":{"name":"list"}},"SimpleListWrapperGroupName":{"type":"object","properties":{"size":{"type":"integer","format":"int32","xml":{"attribute":true}},"items":{"type":"array","items":{"$ref":"#/components/schemas/GroupName"}},"pagingCallback":{"$ref":"#/components/schemas/ListWrapperCallbackGroupName"},"callback":{"$ref":"#/components/schemas/ListWrapperCallbackGroupName"},"max-results":{"type":"integer","format":"int32","xml":{"name":"max-results","attribute":true}}},"additionalProperties":false,"xml":{"name":"list"}},"User":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","format":"uri","readOnly":true},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests."},"accountType":{"type":"string","description":"The user account type. Can take the following values:\n\n * `atlassian` regular Atlassian user account\n * `app` system account used for Connect applications and OAuth to represent external systems\n * `customer` Jira Service Desk account representing an external service desk","readOnly":true,"enum":["atlassian","app","customer","unknown"]},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"emailAddress":{"type":"string","description":"The email address of the user. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"avatarUrls":{"description":"The avatars of the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.","readOnly":true},"active":{"type":"boolean","description":"Whether the user is active.","readOnly":true},"timeZone":{"type":"string","description":"The time zone specified in the user's profile. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"locale":{"type":"string","description":"The locale of the user. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"groups":{"description":"The groups that the user belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/SimpleListWrapperGroupName"}]},"applicationRoles":{"description":"The application roles the user is assigned to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/SimpleListWrapperApplicationRole"}]},"expand":{"type":"string","description":"Expand options that include additional user details in the response.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false,"description":"A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).\n * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.","xml":{"name":"user"}},"UserMigrationBean":{"type":"object","properties":{"key":{"type":"string"},"username":{"type":"string"},"accountId":{"type":"string"}},"additionalProperties":false},"UnrestrictedUserEmail":{"type":"object","properties":{"accountId":{"type":"string","description":"The accountId of the user"},"email":{"type":"string","description":"The email of the user"}},"additionalProperties":false},"PropertyKey":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the property.","readOnly":true},"key":{"type":"string","description":"The key of the property.","readOnly":true}},"additionalProperties":false,"description":"Property key details."},"PropertyKeys":{"type":"object","properties":{"keys":{"type":"array","description":"Property key details.","readOnly":true,"items":{"$ref":"#/components/schemas/PropertyKey"}}},"additionalProperties":false,"description":"List of property keys."},"EntityProperty":{"type":"object","properties":{"key":{"type":"string","description":"The key of the property. Required on create and update."},"value":{"description":"The value of the property. Required on create and update."}},"additionalProperties":false,"description":"An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},"FailedWebhook":{"required":["failureTime","id","url"],"type":"object","properties":{"id":{"type":"string","description":"The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier` header with the webhook."},"body":{"type":"string","description":"The webhook body."},"url":{"type":"string","description":"The original webhook destination."},"failureTime":{"type":"integer","description":"The time the webhook was added to the list of failed webhooks (that is, the time of the last failed retry).","format":"int64"}},"additionalProperties":false,"description":"Details about a failed webhook."},"FailedWebhooks":{"required":["maxResults","values"],"type":"object","properties":{"values":{"type":"array","description":"The list of webhooks.","items":{"$ref":"#/components/schemas/FailedWebhook"}},"maxResults":{"type":"integer","description":"The maximum number of items on the page. If the list of values is shorter than this number, then there are no more pages.","format":"int32"},"next":{"type":"string","description":"The URL to the next page of results. Present only if the request returned at least one result.The next page may be empty at the time of receiving the response, but new failed webhooks may appear in time. You can save the URL to the next page and query for new results periodically (for example, every hour).","format":"uri"}},"additionalProperties":false,"description":"A page of failed webhooks."},"ErrorCollection":{"type":"object","properties":{"errorMessages":{"type":"array","description":"The list of error messages produced by this operation. For example, \"input parameter 'key' must be provided\"","items":{"type":"string"}},"errors":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of errors by parameter returned by the operation. For example,\"projectKey\": \"Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.\""},"status":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Error messages from an operation."},"WebhookDetails":{"required":["jqlFilter"],"type":"object","properties":{"jqlFilter":{"type":"string","description":"The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are:\n\n * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]` (for custom fields—only the epic label custom field is supported).\n * Operators: `=`, `!=`, `IN`, and `NOT IN`."},"events":{"type":"array","description":"The Jira events that trigger the webhook.","items":{"type":"string","enum":["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","comment_updated","comment_deleted","issue_property_set","issue_property_deleted"]}}},"additionalProperties":false,"description":"A list of webhooks."},"WebhookRegistrationDetails":{"required":["url","webhooks"],"type":"object","properties":{"webhooks":{"type":"array","description":"A list of webhooks.","items":{"$ref":"#/components/schemas/WebhookDetails"}},"url":{"type":"string","description":"The URL that specifies where to send the webhooks."}},"additionalProperties":false,"description":"Details of webhooks to register."},"ContainerForRegisteredWebhooks":{"type":"object","properties":{"webhookRegistrationResult":{"type":"array","description":"A list of registered webhooks.","items":{"$ref":"#/components/schemas/RegisteredWebhook"}}},"additionalProperties":false,"description":"Container for a list of registered webhooks. Webhook details are returned in the same order as the request."},"RegisteredWebhook":{"type":"object","properties":{"createdWebhookId":{"type":"integer","description":"The ID of the webhook. Returned if the webhook is created.","format":"int64"},"errors":{"type":"array","description":"Error messages specifying why the webhook creation failed.","items":{"type":"string","description":"Error messages specifying why the webhook creation failed."}}},"additionalProperties":false,"description":"ID of a registered webhook or error messages explaining why a webhook wasn't registered."},"PageBeanWebhook":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Webhook"}}},"additionalProperties":false,"description":"A page of items."},"Webhook":{"required":["expirationDate","id","jqlFilter"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the webhook.","format":"int64"},"jqlFilter":{"type":"string","description":"The JQL filter that specifies which issues the webhook is sent for."},"events":{"type":"array","description":"The Jira events that trigger the webhook.","items":{"type":"string","enum":["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","comment_updated","comment_deleted","issue_property_set","issue_property_deleted"]}},"expirationDate":{"type":"integer","format":"int64","readOnly":true}},"additionalProperties":false,"description":"A webhook."},"ContainerForWebhookIDs":{"required":["webhookIds"],"type":"object","properties":{"webhookIds":{"type":"array","description":"A list of webhook IDs.","items":{"type":"integer","description":"A list of webhook IDs.","format":"int64"}}},"additionalProperties":false,"description":"Container for a list of webhook IDs."},"WebhooksExpirationDate":{"required":["expirationDate"],"type":"object","properties":{"expirationDate":{"type":"integer","format":"int64","readOnly":true}},"additionalProperties":false,"description":"The date the newly refreshed webhooks expire."},"Component":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the component.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the component.","readOnly":true},"name":{"type":"string","description":"The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters."},"description":{"type":"string","description":"The description for the component. Optional when creating or updating a component."},"lead":{"description":"The user details for the component's lead user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"leadUserName":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"leadAccountId":{"maxLength":128,"type":"string","description":"The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","writeOnly":true},"assigneeType":{"type":"string","description":"The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values:\n\n * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n * `UNASSIGNED` an assignee is not set for issues created with this component.\n * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.\n\nDefault value: `PROJECT_DEFAULT`. \nOptional when creating or updating a component.","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"description":"The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"realAssigneeType":{"type":"string","description":"The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT` when none of the preceding cases are true.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"description":"The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"isAssigneeTypeValid":{"type":"boolean","description":"Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.","readOnly":true},"project":{"type":"string","description":"The key of the project the component is assigned to. Required when creating a component. Can't be updated."},"projectId":{"type":"integer","description":"The ID of the project the component is assigned to.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details about a project component.","xml":{"name":"component"}},"Dashboard":{"type":"object","properties":{"description":{"type":"string"},"id":{"type":"string","description":"The ID of the dashboard.","readOnly":true},"isFavourite":{"type":"boolean","description":"Whether the dashboard is selected as a favorite by the user.","readOnly":true},"name":{"type":"string","description":"The name of the dashboard.","readOnly":true},"owner":{"description":"The owner of the dashboard.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserBean"}]},"popularity":{"type":"integer","description":"The number of users who have this dashboard as a favorite.","format":"int64","readOnly":true},"rank":{"type":"integer","description":"The rank of this dashboard.","format":"int32","readOnly":true},"self":{"type":"string","description":"The URL of these dashboard details.","format":"uri","readOnly":true},"sharePermissions":{"type":"array","description":"The details of any share permissions for the dashboard.","readOnly":true,"items":{"$ref":"#/components/schemas/SharePermission"}},"view":{"type":"string","description":"The URL of the dashboard.","readOnly":true}},"additionalProperties":false,"description":"Details of a dashboard."},"Hierarchy":{"type":"object","properties":{"level":{"type":"array","items":{"$ref":"#/components/schemas/HierarchyLevel"}}},"additionalProperties":false,"description":"Project Issue Type Hierarchy","xml":{"name":"hierarchy"}},"HierarchyLevel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"aboveLevelId":{"type":"integer","format":"int64"},"belowLevelId":{"type":"integer","format":"int64"},"projectConfigurationId":{"type":"integer","format":"int64"},"issueTypeIds":{"type":"array","items":{"type":"integer","format":"int64"}},"externalUuid":{"type":"string","format":"uuid"}},"additionalProperties":false},"IssueTypeDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue type details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"description":{"type":"string","description":"The description of the issue type.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type is used to create subtasks.","readOnly":true},"avatarId":{"type":"integer","description":"The ID of the issue type's avatar.","format":"int64","readOnly":true},"entityId":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"scope":{"description":"Details of the next-gen projects the issue type is available in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"Details about an issue type."},"PageOfDashboards":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"prev":{"type":"string","description":"The URL of the previous page of results, if any.","readOnly":true},"next":{"type":"string","description":"The URL of the next page of results, if any.","readOnly":true},"dashboards":{"type":"array","description":"List of dashboards.","readOnly":true,"items":{"$ref":"#/components/schemas/Dashboard"}}},"additionalProperties":false,"description":"A page containing dashboard details."},"Project":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project details in the response.","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the project details.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the project."},"key":{"type":"string","description":"The key of the project.","readOnly":true},"description":{"type":"string","description":"A brief description of the project.","readOnly":true},"lead":{"description":"The username of the project lead.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"components":{"type":"array","description":"List of the components contained in the project.","readOnly":true,"items":{"$ref":"#/components/schemas/Component"}},"issueTypes":{"type":"array","description":"List of the issue types available in the project.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"url":{"type":"string","description":"A link to information about this project, such as project documentation.","readOnly":true},"email":{"type":"string","description":"An email address associated with the project."},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","readOnly":true,"enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","description":"The versions defined in the project. For more information, see [Create version](#api-rest-api-2-version-post).","readOnly":true,"items":{"$ref":"#/components/schemas/Version"}},"name":{"type":"string","description":"The name of the project.","readOnly":true},"roles":{"type":"object","additionalProperties":{"type":"string","format":"uri","readOnly":true},"description":"The name and self URL for each role defined in the project. For more information, see [Create project role](#api-rest-api-2-role-post).","readOnly":true},"avatarUrls":{"description":"The URLs of the project's avatars.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"projectCategory":{"description":"The category the project belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectCategory"}]},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.","readOnly":true,"enum":["software","service_desk","business"]},"simplified":{"type":"boolean","description":"Whether the project is simplified.","readOnly":true},"style":{"type":"string","description":"The type of the project.","readOnly":true,"enum":["classic","next-gen"]},"favourite":{"type":"boolean","description":"Whether the project is selected as a favorite."},"isPrivate":{"type":"boolean","description":"Whether the project is private.","readOnly":true},"issueTypeHierarchy":{"description":"The issue type hierarchy for the project","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Hierarchy"}]},"permissions":{"description":"User permissions on the project","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectPermissions"}]},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Map of project properties","readOnly":true},"uuid":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"insight":{"description":"Insights about the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectInsight"}]},"deleted":{"type":"boolean","description":"Whether the project is marked as deleted.","readOnly":true},"retentionTillDate":{"type":"string","description":"The date when the project is deleted permanently.","format":"date-time","readOnly":true},"deletedDate":{"type":"string","description":"The date when the project was marked as deleted.","format":"date-time","readOnly":true},"deletedBy":{"description":"The user who marked the project as deleted.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"archived":{"type":"boolean","description":"Whether the project is archived.","readOnly":true},"archivedDate":{"type":"string","description":"The date when the project was archived.","format":"date-time","readOnly":true},"archivedBy":{"description":"The user who archived the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]}},"additionalProperties":false,"description":"Details about a project.","xml":{"name":"project"}},"ProjectCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project category.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the project category.","readOnly":true},"name":{"type":"string","description":"The name of the project category. Required on create, optional on update."},"description":{"type":"string","description":"The description of the project category. Required on create, optional on update."}},"additionalProperties":false,"description":"A project category."},"ProjectForScope":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project details.","readOnly":true},"id":{"type":"string","description":"The ID of the project."},"key":{"type":"string","description":"The key of the project.","readOnly":true},"name":{"type":"string","description":"The name of the project.","readOnly":true},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.","readOnly":true,"enum":["software","service_desk","business"]},"simplified":{"type":"boolean","description":"Whether or not the project is simplified.","readOnly":true},"avatarUrls":{"description":"The URLs of the project's avatars.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"projectCategory":{"description":"The category the project belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UpdatedProjectCategory"}]}},"additionalProperties":false,"description":"Details about a next-gen project."},"ProjectInsight":{"type":"object","properties":{"totalIssueCount":{"type":"integer","description":"Total issue count.","format":"int64","readOnly":true},"lastIssueUpdateTime":{"type":"string","description":"The last issue update time.","format":"date-time","readOnly":true}},"additionalProperties":false,"description":"Additional details about a project."},"ProjectPermissions":{"type":"object","properties":{"canEdit":{"type":"boolean","description":"Whether the logged user can edit the project.","readOnly":true}},"additionalProperties":false,"description":"Permissions which a user has on a project."},"ProjectRole":{"type":"object","properties":{"self":{"type":"string","description":"The URL the project role details.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the project role."},"id":{"type":"integer","description":"The ID of the project role.","format":"int64","readOnly":true},"description":{"type":"string","description":"The description of the project role.","readOnly":true},"actors":{"type":"array","description":"The list of users who act in this role.","readOnly":true,"items":{"$ref":"#/components/schemas/RoleActor"}},"scope":{"description":"The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"translatedName":{"type":"string","description":"The translated name of the project role."},"currentUserRole":{"type":"boolean","description":"Whether the calling user is part of this role."},"roleConfigurable":{"type":"boolean","description":"Whether the roles are configurable for this project.","readOnly":true},"admin":{"type":"boolean","description":"Whether this role is the admin role for the project.","readOnly":true},"default":{"type":"boolean","description":"Whether this role is the default role for the project","readOnly":true}},"additionalProperties":false,"description":"Details about the roles in a project."},"ProjectRoleGroup":{"type":"object","properties":{"displayName":{"type":"string","description":"The display name of the group."},"name":{"type":"string","description":"The name of the group"}},"additionalProperties":false,"description":"Details of the group associated with the role."},"ProjectRoleUser":{"type":"object","properties":{"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import.","readOnly":true}},"additionalProperties":false,"description":"Details of the user associated with the role."},"RoleActor":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the role actor.","format":"int64","readOnly":true},"displayName":{"type":"string","description":"The display name of the role actor. For users, depending on the user’s privacy setting, this may return an alternative value for the user's name.","readOnly":true},"type":{"type":"string","description":"The type of role actor.","readOnly":true,"enum":["atlassian-group-role-actor","atlassian-user-role-actor"]},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"avatarUrl":{"type":"string","description":"The avatar of the role actor.","format":"uri","readOnly":true},"actorUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectRoleUser"}]},"actorGroup":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectRoleGroup"}]}},"additionalProperties":false,"description":"Details about a user assigned to a project role.","xml":{"name":"projectRoleActor"}},"Scope":{"type":"object","properties":{"type":{"type":"string","description":"The type of scope.","readOnly":true,"enum":["PROJECT","TEMPLATE"]},"project":{"description":"The project the item has scope in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectForScope"}]}},"additionalProperties":true,"description":"The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO)."},"SharePermission":{"required":["type"],"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier of the share permission.","format":"int64","readOnly":true},"type":{"type":"string","description":"The type of share permission:\n\n * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.\n * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.\n * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`.\n * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.\n * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`.\n * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.","enum":["group","project","projectRole","global","loggedin","authenticated","project-unknown"]},"project":{"description":"The project that the filter is shared with. This is similar to the project object returned by [Get project](#api-rest-api-2-project-projectIdOrKey-get) but it contains a subset of the properties, which are: `self`, `id`, `key`, `assigneeType`, `name`, `roles`, `avatarUrls`, `projectType`, `simplified`. \nFor a request, specify the `id` for the project.","allOf":[{"$ref":"#/components/schemas/Project"}]},"role":{"description":"The project role that the filter is shared with. \nFor a request, specify the `id` for the role. You must also specify the `project` object and `id` for the project that the role is in.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"group":{"description":"The group that the filter is shared with. For a request, specify the `name` property for the group.","allOf":[{"$ref":"#/components/schemas/GroupName"}]}},"additionalProperties":false,"description":"Details of a share permission for the filter."},"SimpleLink":{"type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Details about the operations available in this version.","xml":{"name":"link"}},"UpdatedProjectCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project category.","readOnly":true},"id":{"type":"string","description":"The ID of the project category.","readOnly":true},"description":{"type":"string","description":"The name of the project category.","readOnly":true},"name":{"type":"string","description":"The description of the project category.","readOnly":true}},"additionalProperties":false,"description":"A project category."},"UserBean":{"type":"object","properties":{"key":{"type":"string","description":"This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. \nThe key of the user."},"self":{"type":"string","description":"The URL of the user.","format":"uri"},"name":{"type":"string","description":"This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. \nThe username of the user."},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may return an alternative value."},"active":{"type":"boolean","description":"Whether the user is active."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"avatarUrls":{"description":"The avatars of the user.","allOf":[{"$ref":"#/components/schemas/UserBeanAvatarUrls"}]}},"additionalProperties":false},"UserBeanAvatarUrls":{"type":"object","properties":{"24x24":{"type":"string","description":"The URL of the user's 24x24 pixel avatar.","format":"uri"},"32x32":{"type":"string","description":"The URL of the user's 32x32 pixel avatar.","format":"uri"},"48x48":{"type":"string","description":"The URL of the user's 48x48 pixel avatar.","format":"uri"},"16x16":{"type":"string","description":"The URL of the user's 16x16 pixel avatar.","format":"uri"}},"additionalProperties":false},"Version":{"type":"object","properties":{"expand":{"type":"string","description":"Use [expand](em>#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.\n\nOptional for create and update.","xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the version.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the version.","readOnly":true},"description":{"type":"string","description":"The description of the version. Optional when creating or updating a version."},"name":{"type":"string","description":"The unique name of the version. Required when creating a version. Optional when updating a version. The maximum length is 255 characters."},"archived":{"type":"boolean","description":"Indicates that the version is archived. Optional when creating or updating a version."},"released":{"type":"boolean","description":"Indicates that the version is released. If the version is released a request to release again is ignored. Not applicable when creating a version. Optional when updating a version."},"startDate":{"type":"string","description":"The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.","format":"date"},"releaseDate":{"type":"string","description":"The release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.","format":"date"},"overdue":{"type":"boolean","description":"Indicates that the version is overdue.","readOnly":true},"userStartDate":{"type":"string","description":"The date on which work on this version is expected to start, expressed in the instance's *Day/Month/Year Format* date format.","readOnly":true},"userReleaseDate":{"type":"string","description":"The date on which work on this version is expected to finish, expressed in the instance's *Day/Month/Year Format* date format.","readOnly":true},"project":{"type":"string","description":"Deprecated. Use `projectId`."},"projectId":{"type":"integer","description":"The ID of the project to which this version is attached. Required when creating a version. Not applicable when updating a version.","format":"int64"},"moveUnfixedIssuesTo":{"type":"string","description":"The URL of the self link to the version to which all unfixed issues are moved when a version is released. Not applicable when creating a version. Optional when updating a version.","format":"uri"},"operations":{"type":"array","description":"If the expand option `operations` is used, returns the list of operations available for this version.","readOnly":true,"items":{"$ref":"#/components/schemas/SimpleLink"}},"issuesStatusForFixVersion":{"description":"If the expand option `issuesstatus` is used, returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/VersionIssuesStatus"}]}},"additionalProperties":false,"description":"Details about a project version.","xml":{"name":"version"}},"VersionIssuesStatus":{"type":"object","properties":{"unmapped":{"type":"integer","description":"Count of issues with a status other than *to do*, *in progress*, and *done*.","format":"int64","readOnly":true},"toDo":{"type":"integer","description":"Count of issues with status *to do*.","format":"int64","readOnly":true},"inProgress":{"type":"integer","description":"Count of issues with status *in progress*.","format":"int64","readOnly":true},"done":{"type":"integer","description":"Count of issues with status *done*.","format":"int64","readOnly":true}},"additionalProperties":true,"description":"Counts of the number of issues in various statuses."},"avatarUrls":{"description":"The avatars of the user.","$ref":"#/components/schemas/AvatarUrlsBean"},"PageBeanDashboard":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Dashboard"}}},"additionalProperties":false,"description":"A page of items."},"DashboardDetails":{"required":["name","sharePermissions"],"type":"object","properties":{"name":{"type":"string","description":"The name of the dashboard."},"description":{"type":"string","description":"The description of the dashboard."},"sharePermissions":{"type":"array","description":"The details of any share permissions for the dashboard.","items":{"$ref":"#/components/schemas/SharePermission"}}},"additionalProperties":false,"description":"Details of a dashboard."},"ProjectEmailAddress":{"type":"object","properties":{"emailAddress":{"type":"string","description":"The email address."}},"additionalProperties":false,"description":"A project's sender email address."},"ProjectType":{"type":"object","properties":{"key":{"type":"string","description":"The key of the project type.","readOnly":true},"formattedKey":{"type":"string","description":"The formatted key of the project type.","readOnly":true},"descriptionI18nKey":{"type":"string","description":"The key of the project type's description.","readOnly":true},"icon":{"type":"string","description":"The icon of the project type.","readOnly":true},"color":{"type":"string","description":"The color of the project type.","readOnly":true}},"additionalProperties":false,"description":"Details about a project type."},"PageBeanString":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"type":"string","readOnly":true}}},"additionalProperties":false,"description":"A page of items."},"DeprecatedWorkflow":{"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow.","readOnly":true},"description":{"type":"string","description":"The description of the workflow.","readOnly":true},"lastModifiedDate":{"type":"string","description":"The datetime the workflow was last modified.","readOnly":true},"lastModifiedUser":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"lastModifiedUserAccountId":{"type":"string","description":"The account ID of the user that last modified the workflow.","readOnly":true},"steps":{"type":"integer","description":"The number of steps included in the workflow.","format":"int32","readOnly":true},"scope":{"description":"The scope where this workflow applies","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"default":{"type":"boolean"}},"additionalProperties":false,"description":"Details about a workflow."},"WorkflowTransitionProperty":{"required":["value"],"type":"object","properties":{"key":{"type":"string","description":"The key of the transition property. Also known as the name of the transition property.","readOnly":true},"value":{"type":"string","description":"The value of the transition property."},"id":{"type":"string","description":"The ID of the transition property.","readOnly":true}},"additionalProperties":true,"description":"Details about the server Jira is running on."},"ColumnItem":{"type":"object","properties":{"label":{"type":"string","description":"The issue navigator column label."},"value":{"type":"string","description":"The issue navigator column value."}},"additionalProperties":false,"description":"Details of an issue navigator column item."},"Configuration":{"type":"object","properties":{"votingEnabled":{"type":"boolean","description":"Whether the ability for users to vote on issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"watchingEnabled":{"type":"boolean","description":"Whether the ability for users to watch issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"unassignedIssuesAllowed":{"type":"boolean","description":"Whether the ability to create unassigned issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"subTasksEnabled":{"type":"boolean","description":"Whether the ability to create subtasks for issues is enabled.","readOnly":true},"issueLinkingEnabled":{"type":"boolean","description":"Whether the ability to link issues is enabled.","readOnly":true},"timeTrackingEnabled":{"type":"boolean","description":"Whether the ability to track time is enabled. This property is deprecated.","readOnly":true},"attachmentsEnabled":{"type":"boolean","description":"Whether the ability to add attachments to issues is enabled.","readOnly":true},"timeTrackingConfiguration":{"description":"The configuration of time tracking.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/TimeTrackingConfiguration"}]}},"additionalProperties":false,"description":"Details about the configuration of Jira."},"TimeTrackingConfiguration":{"required":["defaultUnit","timeFormat","workingDaysPerWeek","workingHoursPerDay"],"type":"object","properties":{"workingHoursPerDay":{"type":"number","description":"The number of hours in a working day.","format":"double"},"workingDaysPerWeek":{"type":"number","description":"The number of days in a working week.","format":"double"},"timeFormat":{"type":"string","description":"The format that will appear on an issue's *Time Spent* field.","enum":["pretty","days","hours"]},"defaultUnit":{"type":"string","description":"The default unit of time applied to logged time.","enum":["minute","hour","day","week"]}},"additionalProperties":false,"description":"Details of the time tracking configuration."},"ApplicationProperty":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the application property. The ID and key are the same."},"key":{"type":"string","description":"The key of the application property. The ID and key are the same."},"value":{"type":"string","description":"The new value."},"name":{"type":"string","description":"The name of the application property."},"desc":{"type":"string","description":"The description of the application property."},"type":{"type":"string","description":"The data type of the application property."},"defaultValue":{"type":"string","description":"The default value of the application property."},"example":{"type":"string"},"allowedValues":{"type":"array","description":"The allowed values, if applicable.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of an application property."},"SimpleApplicationPropertyBean":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the application property."},"value":{"type":"string","description":"The new value."}},"additionalProperties":false,"xml":{"name":"applicationProperty"}},"PermissionGrant":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the permission granted details.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the permission granted details.","format":"uri","readOnly":true},"holder":{"description":"The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information.","allOf":[{"$ref":"#/components/schemas/PermissionHolder"}]},"permission":{"type":"string","description":"The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions."}},"additionalProperties":false,"description":"Details about a permission granted to a user or group."},"PermissionHolder":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of permission holder."},"parameter":{"type":"string","description":"The identifier of permission holder."},"expand":{"type":"string","description":"Expand options that include additional permission holder details in the response.","readOnly":true}},"additionalProperties":false,"description":"Details of a user, group, field, or project role that holds a permission. See [Holder object](#holder-object) in *Get all permission schemes* for more information."},"PermissionScheme":{"required":["name"],"type":"object","properties":{"expand":{"type":"string","description":"The expand options available for the permission scheme.","readOnly":true},"id":{"type":"integer","description":"The ID of the permission scheme.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the permission scheme.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the permission scheme. Must be unique."},"description":{"type":"string","description":"A description for the permission scheme."},"scope":{"description":"The scope of the permission scheme.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"permissions":{"type":"array","description":"The permission scheme to create or update. See [About permission schemes and grants](#about-permission-schemes-and-grants) for more information.","items":{"$ref":"#/components/schemas/PermissionGrant"}}},"additionalProperties":true,"description":"Details of a permission scheme."},"PermissionSchemes":{"type":"object","properties":{"permissionSchemes":{"type":"array","description":"Permission schemes list.","readOnly":true,"items":{"$ref":"#/components/schemas/PermissionScheme"}}},"additionalProperties":false,"description":"List of all permission schemes."},"PermissionGrants":{"type":"object","properties":{"permissions":{"type":"array","description":"Permission grants list.","readOnly":true,"items":{"$ref":"#/components/schemas/PermissionGrant"}},"expand":{"type":"string","description":"Expand options that include additional permission grant details in the response.","readOnly":true}},"additionalProperties":false,"description":"List of permission grants."},"AssociatedItemBean":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the associated record.","readOnly":true},"name":{"type":"string","description":"The name of the associated record.","readOnly":true},"typeName":{"type":"string","description":"The type of the associated record.","readOnly":true},"parentId":{"type":"string","description":"The ID of the associated parent record.","readOnly":true},"parentName":{"type":"string","description":"The name of the associated parent record.","readOnly":true}},"additionalProperties":false,"description":"Details of an item associated with the changed record."},"AuditRecordBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the audit record.","format":"int64","readOnly":true},"summary":{"type":"string","description":"The summary of the audit record.","readOnly":true},"remoteAddress":{"type":"string","description":"The URL of the computer where the creation of the audit record was initiated.","readOnly":true},"authorKey":{"type":"string","description":"Deprecated, use `authorAccountId` instead. The key of the user who created the audit record.","readOnly":true},"created":{"type":"string","description":"The date and time on which the audit record was created.","format":"date-time","readOnly":true},"category":{"type":"string","description":"The category of the audit record. For a list of these categories, see the help article [Auditing in Jira applications](https://confluence.atlassian.com/x/noXKM).","readOnly":true},"eventSource":{"type":"string","description":"The event the audit record originated from.","readOnly":true},"description":{"type":"string","description":"The description of the audit record.","readOnly":true},"objectItem":{"$ref":"#/components/schemas/AssociatedItemBean"},"changedValues":{"type":"array","description":"The list of values changed in the record event.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangedValueBean"}},"associatedItems":{"type":"array","description":"The list of items associated with the changed record.","readOnly":true,"items":{"$ref":"#/components/schemas/AssociatedItemBean"}}},"additionalProperties":false,"description":"An audit record."},"AuditRecords":{"type":"object","properties":{"offset":{"type":"integer","description":"The number of audit items skipped before the first item in this list.","format":"int32","readOnly":true},"limit":{"type":"integer","description":"The requested or default limit on the number of audit items to be returned.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The total number of audit items returned.","format":"int64","readOnly":true},"records":{"type":"array","description":"The list of audit items.","readOnly":true,"items":{"$ref":"#/components/schemas/AuditRecordBean"}}},"additionalProperties":false,"description":"Container for a list of audit records."},"ChangedValueBean":{"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the field changed.","readOnly":true},"changedFrom":{"type":"string","description":"The value of the field before the change.","readOnly":true},"changedTo":{"type":"string","description":"The value of the field after the change.","readOnly":true}},"additionalProperties":false,"description":"Details of names changed in the record event."},"TimeTrackingProvider":{"required":["key"],"type":"object","properties":{"key":{"type":"string","description":"The key for the time tracking provider. For example, *JIRA*."},"name":{"type":"string","description":"The name of the time tracking provider. For example, *JIRA provided time tracking*."},"url":{"type":"string","description":"The URL of the configuration page for the time tracking provider app. For example, */example/config/url*. This property is only returned if the `adminPageKey` property is set in the module descriptor of the time tracking provider app.","readOnly":true}},"additionalProperties":false,"description":"Details about the time tracking provider."},"PageBeanWorkflowScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/WorkflowScheme"}}},"additionalProperties":false,"description":"A page of items."},"WorkflowScheme":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the workflow scheme.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the workflow scheme. The name must be unique. The maximum length is 255 characters. Required when creating a workflow scheme."},"description":{"type":"string","description":"The description of the workflow scheme."},"defaultWorkflow":{"type":"string","description":"The name of the default workflow for the workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira. If `defaultWorkflow` is not specified when creating a workflow scheme, it is set to *Jira Workflow (jira)*."},"issueTypeMappings":{"type":"object","additionalProperties":{"type":"string"},"description":"The issue type to workflow mappings, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme."},"originalDefaultWorkflow":{"type":"string","description":"For draft workflow schemes, this property is the name of the default workflow for the original workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira.","readOnly":true},"originalIssueTypeMappings":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"For draft workflow schemes, this property is the issue type to workflow mappings for the original workflow scheme, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme.","readOnly":true},"draft":{"type":"boolean","description":"Whether the workflow scheme is a draft or not.","readOnly":true},"lastModifiedUser":{"description":"The user that last modified the draft workflow scheme. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"lastModified":{"type":"string","description":"The date-time that the draft workflow scheme was last modified. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.","readOnly":true},"self":{"type":"string","format":"uri","readOnly":true},"updateDraftIfNeeded":{"type":"boolean","description":"Whether to create or update a draft workflow scheme when updating an active workflow scheme. An active workflow scheme is a workflow scheme that is used by at least one project. The following examples show how this property works:\n\n * Update an active workflow scheme with `updateDraftIfNeeded` set to `true`: If a draft workflow scheme exists, it is updated. Otherwise, a draft workflow scheme is created.\n * Update an active workflow scheme with `updateDraftIfNeeded` set to `false`: An error is returned, as active workflow schemes cannot be updated.\n * Update an inactive workflow scheme with `updateDraftIfNeeded` set to `true`: The workflow scheme is updated, as inactive workflow schemes do not require drafts to update.\n\nDefaults to `false`."},"issueTypes":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/IssueTypeDetails"},"description":"The issue types available in Jira.","readOnly":true}},"additionalProperties":false,"description":"Details about a workflow scheme."},"IssueTypesWorkflowMapping":{"type":"object","properties":{"workflow":{"type":"string","description":"The name of the workflow. Optional if updating the workflow-issue types mapping."},"issueTypes":{"type":"array","description":"The list of issue type IDs.","items":{"type":"string"}},"defaultMapping":{"type":"boolean","description":"Whether the workflow is the default workflow for the workflow scheme."},"updateDraftIfNeeded":{"type":"boolean","description":"Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new workflow-issue types mapping. Defaults to `false`."}},"additionalProperties":false,"description":"Details about the mapping between issue types and a workflow."},"IssueTypeWorkflowMapping":{"type":"object","properties":{"issueType":{"type":"string","description":"The ID of the issue type. Not required if updating the issue type-workflow mapping."},"workflow":{"type":"string","description":"The name of the workflow."},"updateDraftIfNeeded":{"type":"boolean","description":"Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types mapping."}},"additionalProperties":false,"description":"Details about the mapping between an issue type and a workflow."},"DefaultWorkflow":{"required":["workflow"],"type":"object","properties":{"workflow":{"type":"string","description":"The name of the workflow to set as the default workflow."},"updateDraftIfNeeded":{"type":"boolean","description":"Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new default workflow. Defaults to `false`."}},"additionalProperties":false,"description":"Details about the default workflow."},"ContainerOfWorkflowSchemeAssociations":{"required":["values"],"type":"object","properties":{"values":{"type":"array","description":"A list of workflow schemes together with projects they are associated with.","items":{"$ref":"#/components/schemas/WorkflowSchemeAssociations"}}},"additionalProperties":false,"description":"A container for a list of workflow schemes together with the projects they are associated with."},"WorkflowSchemeAssociations":{"required":["projectIds"],"type":"object","properties":{"projectIds":{"type":"array","description":"The list of projects that use the workflow scheme.","items":{"type":"string"}},"workflowScheme":{"description":"The workflow scheme.","allOf":[{"$ref":"#/components/schemas/WorkflowScheme"}]}},"additionalProperties":false,"description":"A workflow scheme along with a list of projects that use it."},"WorkflowSchemeProjectAssociation":{"required":["projectId","workflowSchemeId"],"type":"object","properties":{"workflowSchemeId":{"type":"string","description":"The ID of the workflow scheme."},"projectId":{"type":"string","description":"The ID of the project."}},"additionalProperties":false,"description":"An associated workflow scheme and project."},"PageBeanWorkflow":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Workflow"}}},"additionalProperties":false,"description":"A page of items."},"PublishedWorkflowId":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."}},"additionalProperties":false,"description":"Properties that identify a published workflow."},"ScreenID":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the screen."}},"additionalProperties":false,"description":"ID of a screen."},"Transition":{"required":["description","from","id","name","to","type"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the transition."},"name":{"type":"string","description":"The name of the transition."},"description":{"type":"string","description":"The description of the transition."},"from":{"type":"array","description":"The statuses the transition can start from.","items":{"type":"string","description":"The statuses the transition can start from."}},"to":{"type":"string","description":"The status the transition goes to."},"type":{"type":"string","description":"The type of the transition.","enum":["global","initial","directed"]},"screen":{"$ref":"#/components/schemas/ScreenID"},"rules":{"$ref":"#/components/schemas/WorkflowRules"}},"additionalProperties":false,"description":"Details of a workflow transition."},"Workflow":{"required":["description"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/PublishedWorkflowId"},"description":{"type":"string","description":"The description of the workflow."},"transitions":{"type":"array","description":"The transitions of the workflow.","items":{"$ref":"#/components/schemas/Transition"}},"statuses":{"type":"array","description":"The statuses of the workflow.","items":{"$ref":"#/components/schemas/WorkflowStatus"}}},"additionalProperties":false,"description":"Details about a workflow."},"WorkflowRules":{"required":["conditions","postFunctions","validators"],"type":"object","properties":{"conditions":{"type":"array","description":"The workflow conditions.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}},"validators":{"type":"array","description":"The workflow validators.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}},"postFunctions":{"type":"array","description":"The workflow post functions.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}}},"additionalProperties":false,"description":"A collection of transition rules."},"WorkflowStatus":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue status."},"name":{"type":"string","description":"The name of the status in the workflow."},"properties":{"$ref":"#/components/schemas/WorkflowStatusProperties"}},"additionalProperties":false,"description":"Details of a workflow status."},"WorkflowStatusProperties":{"required":["issueEditable"],"type":"object","properties":{"issueEditable":{"type":"boolean","description":"Whether issues are editable in this status."}},"additionalProperties":false,"description":"Properties of a workflow status."},"WorkflowTransitionRule":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"description":"The configuration of the transition rule. This is currently returned only for some of the rule types. Availability of this property is subject to change."}},"additionalProperties":false,"description":"A workflow transition rule."},"ConnectWorkflowTransitionRule":{"required":["id","key"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the transition rule."},"key":{"type":"string","description":"The key of the rule, as defined in the Connect app descriptor.","readOnly":true},"configuration":{"$ref":"#/components/schemas/RuleConfiguration"},"transition":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WorkflowTransition"}]}},"additionalProperties":false,"description":"A workflow transition rule."},"PageBeanWorkflowTransitionRules":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"additionalProperties":false,"description":"A page of items."},"RuleConfiguration":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"Configuration of the rule, as it is stored by the Connect app on the rule configuration page."}},"additionalProperties":false,"description":"A rule configuration."},"WorkflowId":{"required":["draft","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"draft":{"type":"boolean","description":"Whether the workflow is in the draft state."}},"additionalProperties":false,"description":"Properties that identify a workflow."},"WorkflowTransition":{"required":["id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The transition ID.","format":"int32"},"name":{"type":"string","description":"The transition name."}},"additionalProperties":false,"description":"A workflow transition."},"WorkflowTransitionRules":{"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"postFunctions":{"type":"array","description":"The list of post functions within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}},"conditions":{"type":"array","description":"The list of conditions within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}},"validators":{"type":"array","description":"The list of validators within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}}},"additionalProperties":false,"description":"A workflow with transition rules."},"WorkflowTransitionRulesUpdate":{"type":"object","properties":{"workflows":{"type":"array","description":"The list of workflows with transition rules to update.","items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"additionalProperties":false,"description":"Details about a workflow configuration update request."},"WorkflowTransitionRulesUpdateErrorDetails":{"required":["ruleUpdateErrors"],"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"ruleUpdateErrors":{"type":"object","additionalProperties":{"uniqueItems":true,"type":"array","description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated.","items":{"type":"string","description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated."}},"description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated."},"updateErrors":{"uniqueItems":true,"type":"array","description":"The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.","items":{"type":"string","description":"An error specifying why the workflow update failed."}}},"additionalProperties":false,"description":"Details of any errors encountered while updating workflow transition rules for a workflow."},"WorkflowTransitionRulesUpdateErrors":{"required":["updateResults"],"type":"object","properties":{"updateResults":{"type":"array","description":"A list of workflows.","items":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrorDetails"}}},"additionalProperties":false,"description":"Details of any errors encountered while updating workflow transition rules."},"PageBeanUserKey":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserKey"}}},"additionalProperties":false,"description":"A page of items."},"UserKey":{"type":"object","properties":{"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import."}},"additionalProperties":false,"description":"List of user account IDs."},"ChangeDetails":{"type":"object","properties":{"field":{"type":"string","description":"The name of the field changed.","readOnly":true},"fieldtype":{"type":"string","description":"The type of the field changed.","readOnly":true},"fieldId":{"type":"string","description":"The ID of the field changed.","readOnly":true},"from":{"type":"string","description":"The details of the original value.","readOnly":true},"fromString":{"type":"string","description":"The details of the original value as a string.","readOnly":true},"to":{"type":"string","description":"The details of the new value.","readOnly":true},"toString":{"type":"string","description":"The details of the new value as a string.","readOnly":true}},"additionalProperties":false,"description":"A change item."},"Changelog":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the changelog.","readOnly":true},"author":{"description":"The user who made the change.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The date on which the change took place.","format":"date-time","readOnly":true},"items":{"type":"array","description":"The list of items changed.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangeDetails"}},"historyMetadata":{"description":"The history metadata associated with the changed.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/HistoryMetadata"}]}},"additionalProperties":false,"description":"A changelog."},"FieldMetadata":{"required":["key","name","operations","required"],"type":"object","properties":{"required":{"type":"boolean","description":"Whether the field is required.","readOnly":true},"schema":{"description":"The data type of the field.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/JsonTypeBean"}]},"name":{"type":"string","description":"The name of the field.","readOnly":true},"key":{"type":"string","description":"The key of the field.","readOnly":true},"autoCompleteUrl":{"type":"string","description":"The URL that can be used to automatically complete the field.","readOnly":true},"hasDefaultValue":{"type":"boolean","description":"Whether the field has a default value.","readOnly":true},"operations":{"type":"array","description":"The list of operations that can be performed on the field.","readOnly":true,"items":{"type":"string","readOnly":true}},"allowedValues":{"type":"array","description":"The list of values allowed in the field.","readOnly":true,"items":{"readOnly":true}},"defaultValue":{"description":"The default value of the field.","readOnly":true}},"additionalProperties":false,"description":"The metadata describing an issue field.","xml":{"name":"availableField"}},"HistoryMetadata":{"type":"object","properties":{"type":{"type":"string","description":"The type of the history record."},"description":{"type":"string","description":"The description of the history record."},"descriptionKey":{"type":"string","description":"The description key of the history record."},"activityDescription":{"type":"string","description":"The activity described in the history record."},"activityDescriptionKey":{"type":"string","description":"The key of the activity described in the history record."},"emailDescription":{"type":"string","description":"The description of the email address associated the history record."},"emailDescriptionKey":{"type":"string","description":"The description key of the email address associated the history record."},"actor":{"description":"Details of the user whose action created the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"generator":{"description":"Details of the system that generated the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"cause":{"description":"Details of the cause that triggered the creation the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"extraData":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional arbitrary information about the history record."}},"additionalProperties":true,"description":"Details of issue history metadata."},"HistoryMetadataParticipant":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the user or system associated with a history record."},"displayName":{"type":"string","description":"The display name of the user or system associated with a history record."},"displayNameKey":{"type":"string","description":"The key of the display name of the user or system associated with a history record."},"type":{"type":"string","description":"The type of the user or system associated with a history record."},"avatarUrl":{"type":"string","description":"The URL to an avatar for the user or system associated with a history record."},"url":{"type":"string","description":"The URL of the user or system associated with a history record."}},"additionalProperties":true,"description":"Details of user or system associated with a issue history metadata item."},"IncludedFields":{"type":"object","properties":{"actuallyIncluded":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"included":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"excluded":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},"additionalProperties":false},"IssueBean":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional issue details in the response.","readOnly":true,"xml":{"attribute":true}},"id":{"type":"string","description":"The ID of the issue.","readOnly":true},"self":{"type":"string","description":"The URL of the issue details.","format":"uri","readOnly":true},"key":{"type":"string","description":"The key of the issue.","readOnly":true},"renderedFields":{"type":"object","additionalProperties":{"readOnly":true},"description":"The rendered value of each field present on the issue.","readOnly":true},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Details of the issue properties identified in the request.","readOnly":true},"names":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"The ID and name of each field present on the issue.","readOnly":true},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonTypeBean"},"description":"The schema describing each field present on the issue.","readOnly":true},"transitions":{"type":"array","description":"The transitions that can be performed on the issue.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTransition"}},"operations":{"description":"The operations that can be performed on the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Operations"}]},"editmeta":{"description":"The metadata for the fields on the issue that can be amended.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/IssueUpdateMetadata"}]},"changelog":{"description":"Details of changelogs associated with the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/PageOfChangelogs"}]},"versionedRepresentations":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"readOnly":true},"readOnly":true},"description":"The versions of each field on the issue.","readOnly":true},"fieldsToInclude":{"$ref":"#/components/schemas/IncludedFields"},"fields":{"type":"object","additionalProperties":{}}},"additionalProperties":false,"xml":{"name":"issue"}},"IssueTransition":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue transition. Required when specifying a transition to undertake."},"name":{"type":"string","description":"The name of the issue transition.","readOnly":true},"to":{"description":"Details of the issue status after the transition.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusDetails"}]},"hasScreen":{"type":"boolean","description":"Whether there is a screen associated with the issue transition.","readOnly":true},"isGlobal":{"type":"boolean","description":"Whether the issue transition is global, that is, the transition is applied to issues regardless of their status.","readOnly":true},"isInitial":{"type":"boolean","description":"Whether this is the initial issue transition for the workflow.","readOnly":true},"isAvailable":{"type":"boolean","description":"Whether the transition is available to be performed.","readOnly":true},"isConditional":{"type":"boolean","description":"Whether the issue has to meet criteria before the issue transition is applied.","readOnly":true},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"Details of the fields associated with the issue transition screen. Use this information to populate `fields` and `update` in a transition request.","readOnly":true},"expand":{"type":"string","description":"Expand options that include additional transition details in the response.","readOnly":true}},"additionalProperties":true,"description":"Details of an issue transition."},"IssueUpdateMetadata":{"type":"object","properties":{"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"A list of editable field details.","readOnly":true}},"additionalProperties":false,"description":"A list of editable field details."},"JsonTypeBean":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The data type of the field.","readOnly":true},"items":{"type":"string","description":"When the data type is an array, the name of the field items within the array.","readOnly":true},"system":{"type":"string","description":"If the field is a system field, the name of the field.","readOnly":true},"custom":{"type":"string","description":"If the field is a custom field, the URI of the field.","readOnly":true},"customId":{"type":"integer","description":"If the field is a custom field, the custom ID of the field.","format":"int64","readOnly":true},"configuration":{"type":"object","additionalProperties":{"readOnly":true},"description":"If the field is a custom field, the configuration of the field.","readOnly":true}},"additionalProperties":false,"description":"The schema of a field."},"LinkGroup":{"type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"header":{"$ref":"#/components/schemas/SimpleLink"},"weight":{"type":"integer","format":"int32"},"links":{"type":"array","items":{"$ref":"#/components/schemas/SimpleLink"}},"groups":{"type":"array","items":{"$ref":"#/components/schemas/LinkGroup"}}},"additionalProperties":false,"description":"Details a link group, which defines issue operations."},"Operations":{"type":"object","properties":{"linkGroups":{"type":"array","description":"Details of the link groups defining issue operations.","readOnly":true,"items":{"$ref":"#/components/schemas/LinkGroup"}}},"additionalProperties":true,"description":"Details of the operations that can be performed on the issue."},"PageOfChangelogs":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"histories":{"type":"array","description":"The list of changelogs.","readOnly":true,"items":{"$ref":"#/components/schemas/Changelog"}}},"additionalProperties":false,"description":"A page of changelogs."},"SearchResults":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional search result details in the response.","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"issues":{"type":"array","description":"The list of issues found by the search.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueBean"}},"warningMessages":{"type":"array","description":"Any warnings related to the JQL query.","readOnly":true,"items":{"type":"string","readOnly":true}},"names":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"The ID and name of each field in the search results.","readOnly":true},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonTypeBean"},"description":"The schema describing the field types in the search results.","readOnly":true}},"additionalProperties":false,"description":"The result of a JQL search."},"StatusCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the status category.","readOnly":true},"id":{"type":"integer","description":"The ID of the status category.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the status category.","readOnly":true},"colorName":{"type":"string","description":"The name of the color used to represent the status category.","readOnly":true},"name":{"type":"string","description":"The name of the status category.","readOnly":true}},"additionalProperties":true,"description":"A status category."},"StatusDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the status.","readOnly":true},"description":{"type":"string","description":"The description of the status.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the icon used to represent the status.","readOnly":true},"name":{"type":"string","description":"The name of the status.","readOnly":true},"id":{"type":"string","description":"The ID of the status.","readOnly":true},"statusCategory":{"description":"The category assigned to the status.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusCategory"}]}},"additionalProperties":true,"description":"A status."},"UserDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","readOnly":true},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"emailAddress":{"type":"string","description":"The email address of the user. Depending on the user’s privacy settings, this may be returned as null.","readOnly":true},"avatarUrls":{"description":"The avatars of the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.","readOnly":true},"active":{"type":"boolean","description":"Whether the user is active.","readOnly":true},"timeZone":{"type":"string","description":"The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.","readOnly":true},"accountType":{"type":"string","description":"The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)","readOnly":true}},"additionalProperties":false,"description":"User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).\n * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values."},"SearchRequestBean":{"type":"object","properties":{"jql":{"type":"string","description":"A [JQL](https://confluence.atlassian.com/x/egORLQ) expression."},"startAt":{"type":"integer","description":"The index of the first item to return in the page of results (page offset). The base index is `0`.","format":"int32"},"maxResults":{"type":"integer","description":"The maximum number of items to return per page.","format":"int32","default":50},"fields":{"type":"array","description":"A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nThe default is `*navigable`.\n\nExamples:\n\n * `summary,comment` Returns the summary and comments fields only.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nMultiple `fields` parameters can be included in a request.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-2-issue-issueIdOrKey-get) where the default is all fields.","items":{"type":"string"}},"validateQuery":{"type":"string","description":"Determines how to validate the JQL query and treat the validation results. Supported values:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nThe default is `strict`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.","enum":["strict","warn","none","true","false"]},"expand":{"type":"array","description":"Use [expand](em>#expansion) to include additional information about issues in the response. Note that, unlike the majority of instances where `expand` is specified, `expand` is defined as a list of values. The expand options are:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.","items":{"type":"string"}},"properties":{"type":"array","description":"A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list.","items":{"type":"string"}},"fieldsByKeys":{"type":"boolean","description":"Reference fields by their key (rather than ID). The default is `false`."}},"additionalProperties":false},"FieldReferenceData":{"type":"object","properties":{"value":{"type":"string","description":"The field identifier."},"displayName":{"type":"string","description":"The display name of the field."},"orderable":{"type":"string","description":"Whether the field can be used in a query's `ORDER BY` clause.","enum":["true","false"]},"searchable":{"type":"string","description":"Whether the content of this field can be searched.","enum":["true","false"]},"auto":{"type":"string","description":"Whether the field provide auto-complete suggestions.","enum":["true","false"]},"cfid":{"type":"string","description":"If the item is a custom field, the ID of the custom field."},"operators":{"type":"array","description":"The valid search operators for the field.","items":{"type":"string"}},"types":{"type":"array","description":"The data types of items in the field.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of a field that can be used in advanced searches."},"FunctionReferenceData":{"type":"object","properties":{"value":{"type":"string","description":"The function identifier."},"displayName":{"type":"string","description":"The display name of the function."},"isList":{"type":"string","description":"Whether the function can take a list of arguments.","enum":["true","false"]},"types":{"type":"array","description":"The data types returned by the function.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of functions that can be used in advanced searches."},"JQLReferenceData":{"type":"object","properties":{"visibleFieldNames":{"type":"array","description":"List of fields usable in JQL queries.","items":{"$ref":"#/components/schemas/FieldReferenceData"}},"visibleFunctionNames":{"type":"array","description":"List of functions usable in JQL queries.","items":{"$ref":"#/components/schemas/FunctionReferenceData"}},"jqlReservedWords":{"type":"array","description":"List of JQL query reserved words.","items":{"type":"string"}}},"additionalProperties":false,"description":"Lists of JQL reference data."},"AutoCompleteSuggestion":{"type":"object","properties":{"value":{"type":"string","description":"The value of a suggested item."},"displayName":{"type":"string","description":"The display name of a suggested item. If `fieldValue` or `predicateValue` are provided, the matching text is highlighted with the HTML bold tag."}},"additionalProperties":false,"description":"A field auto-complete suggestion."},"AutoCompleteSuggestions":{"type":"object","properties":{"results":{"type":"array","description":"The list of suggested item.","items":{"$ref":"#/components/schemas/AutoCompleteSuggestion"}}},"additionalProperties":false,"description":"The results from a JQL query."},"JQLPersonalDataMigrationRequest":{"type":"object","properties":{"queryStrings":{"type":"array","description":"A list of queries with user identifiers. Maximum of 100 queries.","items":{"type":"string"}}},"additionalProperties":false,"description":"The JQL queries to be converted."},"ConvertedJQLQueries":{"type":"object","properties":{"queryStrings":{"type":"array","description":"The list of converted query strings with account IDs in place of user identifiers.","items":{"type":"string"}},"queriesWithUnknownUsers":{"type":"array","description":"List of queries containing user information that could not be mapped to an existing user","items":{"$ref":"#/components/schemas/JQLQueryWithUnknownUsers"}}},"additionalProperties":false,"description":"The converted JQL queries."},"JQLQueryWithUnknownUsers":{"type":"object","properties":{"originalQuery":{"type":"string","description":"The original query, for reference"},"convertedQuery":{"type":"string","description":"The converted query, with accountIDs instead of user identifiers, or 'unknown' for users that could not be found"}},"additionalProperties":false,"description":"JQL queries that contained users that could not be found"},"Filter":{"required":["name"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the filter.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the filter.","readOnly":true},"name":{"type":"string","description":"The name of the filter. Must be unique."},"description":{"type":"string","description":"A description of the filter."},"owner":{"description":"The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"jql":{"type":"string","description":"The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*."},"viewUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.","format":"uri","readOnly":true},"searchUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-2-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/2/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.","format":"uri","readOnly":true},"favourite":{"type":"boolean","description":"Whether the filter is selected as a favorite."},"favouritedCount":{"type":"integer","description":"The count of how many users have selected this filter as a favorite, including the filter owner.","format":"int64","readOnly":true},"sharePermissions":{"type":"array","description":"The groups and projects that the filter is shared with.","items":{"$ref":"#/components/schemas/SharePermission"}},"sharedUsers":{"description":"A paginated list of the users that the filter is shared with. This includes users that are members of the groups or can browse the projects that the filter is shared with.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserList"}]},"subscriptions":{"description":"A paginated list of the users that are subscribed to the filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/FilterSubscriptionsList"}]}},"additionalProperties":false,"description":"Details about a filter.","xml":{"name":"filter"}},"FilterSubscription":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the filter subscription.","format":"int64","readOnly":true},"user":{"description":"The user subscribing to filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"group":{"description":"The group subscribing to filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/GroupName"}]}},"additionalProperties":false,"description":"Details of a user or group subscribing to a filter."},"FilterSubscriptionsList":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterSubscription"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paginated list of subscriptions to a filter."},"UserList":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with."},"FilterDetails":{"required":["name"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the filter.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the filter.","readOnly":true},"name":{"type":"string","description":"The name of the filter. Must be unique."},"description":{"type":"string","description":"A description of the filter."},"owner":{"description":"The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"jql":{"type":"string","description":"The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*.","readOnly":true},"viewUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.","format":"uri","readOnly":true},"searchUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-2-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/2/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.","format":"uri","readOnly":true},"favourite":{"type":"boolean","description":"Whether the filter is selected as a favorite by any users, not including the filter owner.","readOnly":true},"favouritedCount":{"type":"integer","description":"The count of how many users have selected this filter as a favorite, including the filter owner.","format":"int64","readOnly":true},"sharePermissions":{"type":"array","description":"The groups and projects that the filter is shared with. This can be specified when updating a filter, but not when creating a filter.","items":{"$ref":"#/components/schemas/SharePermission"}},"subscriptions":{"type":"array","description":"The users that are subscribed to the filter.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterSubscription"}}},"additionalProperties":false,"description":"Details of a filter."},"PageBeanFilterDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterDetails"}}},"additionalProperties":false,"description":"A page of items."},"DefaultShareScope":{"required":["scope"],"type":"object","properties":{"scope":{"type":"string","description":"The scope of the default sharing for new filters and dashboards:\n\n * `AUTHENTICATED` Shared with all logged-in users.\n * `GLOBAL` Shared with all logged-in users. This shows as `AUTHENTICATED` in the response.\n * `PRIVATE` Not shared with any users.","enum":["GLOBAL","AUTHENTICATED","PRIVATE"]}},"additionalProperties":false,"description":"Details of the scope of the default sharing for new filters and dashboards.","xml":{"name":"defaultShareScope"}},"SharePermissionInputBean":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the share permission.Specify the type as follows:\n\n * `group` Share with a group. Specify `groupname` as well.\n * `project` Share with a project. Specify `projectId` as well.\n * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well.\n * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.\n * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.","enum":["project","group","projectRole","global","authenticated"]},"projectId":{"type":"string","description":"The ID of the project to share the filter with. Set `type` to `project`."},"groupname":{"type":"string","description":"The name of the group to share the filter with. Set `type` to `group`."},"projectRoleId":{"type":"string","description":"The ID of the project role to share the filter with. Set `type` to `projectRole` and the `projectId` for the project that the role is in."}},"additionalProperties":false},"IdBean":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the permission scheme to associate with the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to get a list of permission scheme IDs.","format":"int64"}},"additionalProperties":false},"Permissions":{"type":"object","properties":{"permissions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UserPermission"},"description":"List of permissions.","readOnly":true}},"additionalProperties":false,"description":"Details about permissions."},"UserPermission":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-2-permissions-get) to get the list of permissions."},"key":{"type":"string","description":"The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-2-permissions-get) to get the list of permissions."},"name":{"type":"string","description":"The name of the permission."},"type":{"type":"string","description":"The type of the permission.","enum":["GLOBAL","PROJECT"]},"description":{"type":"string","description":"The description of the permission."},"havePermission":{"type":"boolean","description":"Whether the permission is available to the user in the queried context."},"deprecatedKey":{"type":"boolean","description":"Indicate whether the permission key is deprecated. Note that deprecated keys cannot be used in the `permissions parameter of Get my permissions. Deprecated keys are not returned by Get all permissions.`"}},"additionalProperties":true,"description":"Details of a permission and its availability to a user."},"BulkPermissionsRequestBean":{"type":"object","properties":{"projectPermissions":{"uniqueItems":true,"type":"array","description":"Project permissions with associated projects and issues to look up.","items":{"$ref":"#/components/schemas/BulkProjectPermissions"}},"globalPermissions":{"uniqueItems":true,"type":"array","description":"Global permissions to look up.","items":{"type":"string"}},"accountId":{"type":"string","description":"The account ID of a user."}},"additionalProperties":false,"description":"Details of global permissions to look up and project permissions with associated projects and issues to look up."},"BulkProjectPermissions":{"required":["permissions"],"type":"object","properties":{"issues":{"uniqueItems":true,"type":"array","description":"List of issue IDs.","items":{"type":"integer","format":"int64"}},"projects":{"uniqueItems":true,"type":"array","description":"List of project IDs.","items":{"type":"integer","format":"int64"}},"permissions":{"uniqueItems":true,"type":"array","description":"List of project permissions.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of project permissions and associated issues and projects to look up."},"BulkPermissionGrants":{"required":["globalPermissions","projectPermissions"],"type":"object","properties":{"projectPermissions":{"uniqueItems":true,"type":"array","description":"List of project permissions and the projects and issues those permissions provide access to.","items":{"$ref":"#/components/schemas/BulkProjectPermissionGrants"}},"globalPermissions":{"uniqueItems":true,"type":"array","description":"List of permissions granted to the user.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of global and project permissions granted to the user."},"BulkProjectPermissionGrants":{"required":["issues","permission","projects"],"type":"object","properties":{"permission":{"type":"string","description":"A project permission,"},"issues":{"uniqueItems":true,"type":"array","description":"IDs of the issues the user has the permission for.","items":{"type":"integer","format":"int64"}},"projects":{"uniqueItems":true,"type":"array","description":"IDs of the projects the user has the permission for.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false,"description":"List of project permissions and the projects and issues those permissions grant access to."},"PermissionsKeysBean":{"required":["permissions"],"type":"object","properties":{"permissions":{"type":"array","description":"A list of permission keys.","items":{"type":"string"}}},"additionalProperties":false},"PermittedProjects":{"type":"object","properties":{"projects":{"type":"array","description":"A list of projects.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIdentifierBean"}}},"additionalProperties":false,"description":"A list of projects in which a user is granted permissions."},"ProjectIdentifierBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the project.","readOnly":true}},"additionalProperties":false,"description":"The identifiers for a project."},"IssuesAndJQLQueries":{"required":["issueIds","jqls"],"type":"object","properties":{"jqls":{"type":"array","description":"A list of JQL queries.","items":{"type":"string","description":"A list of JQL queries."}},"issueIds":{"uniqueItems":true,"type":"array","description":"A list of issue IDs.","items":{"type":"integer","description":"A list of issue IDs.","format":"int64"}}},"additionalProperties":false,"description":"List of issues and JQL queries."},"IssueMatches":{"required":["matches"],"type":"object","properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/IssueMatchesForJQL"}}},"additionalProperties":false,"description":"A list of matched issues or errors for each JQL query, in the order the JQL queries were passed."},"IssueMatchesForJQL":{"required":["errors","matchedIssues"],"type":"object","properties":{"matchedIssues":{"uniqueItems":true,"type":"array","description":"A list of issue IDs.","items":{"type":"integer","description":"A list of issue IDs.","format":"int64"}},"errors":{"uniqueItems":true,"type":"array","description":"A list of errors.","items":{"type":"string","description":"A list of errors."}}},"additionalProperties":false,"description":"A list of the issues matched to a JQL query or details of errors encountered during matching."},"Locale":{"type":"object","properties":{"locale":{"type":"string","description":"The locale code. The Java the locale format is used: a two character language code (ISO 639), an underscore, and two letter country code (ISO 3166). For example, en\\_US represents a locale of English (United States). Required on create."}},"additionalProperties":false,"description":"Details of a locale."},"IdOrKeyBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the referenced item.","format":"int64"},"key":{"type":"string","description":"The key of the referenced item."}},"additionalProperties":false},"JexpIssues":{"type":"object","properties":{"jql":{"description":"The JQL query that specifies the set of issues available in the Jira expression.","allOf":[{"$ref":"#/components/schemas/JexpJqlIssues"}]}},"additionalProperties":false,"description":"The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable."},"JexpJqlIssues":{"type":"object","properties":{"query":{"type":"string","description":"The JQL query."},"startAt":{"type":"integer","description":"The index of the first issue to return from the JQL query.","format":"int64"},"maxResults":{"type":"integer","description":"The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to ensure the maximum value has not been exceeded.","format":"int32"},"validation":{"type":"string","description":"Determines how to validate the JQL query and treat the validation results.","enum":["strict","warn","none"],"default":"strict"}},"additionalProperties":false,"description":"The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response."},"JiraExpressionEvalContextBean":{"type":"object","properties":{"issue":{"description":"The issue that is available under the `issue` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/IdOrKeyBean"}]},"issues":{"description":"The collection of issues that is available under the `issues` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/JexpIssues"}]},"project":{"description":"The project that is available under the `project` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/IdOrKeyBean"}]},"sprint":{"type":"integer","description":"The ID of the sprint that is available under the `sprint` variable when evaluating the expression.","format":"int64"},"board":{"type":"integer","description":"The ID of the board that is available under the `board` variable when evaluating the expression.","format":"int64"},"serviceDesk":{"type":"integer","description":"The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression.","format":"int64"},"customerRequest":{"type":"integer","description":"The ID of the customer request that is available under the `customerRequest` variable when evaluating the expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will have a different type.","format":"int64"}},"additionalProperties":false},"JiraExpressionEvalRequestBean":{"required":["expression"],"type":"object","properties":{"expression":{"type":"string","description":"The Jira expression to evaluate.","example":"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }"},"context":{"description":"The context in which the Jira expression is evaluated.","allOf":[{"$ref":"#/components/schemas/JiraExpressionEvalContextBean"}]}},"additionalProperties":false},"IssuesJqlMetaDataBean":{"required":["count","maxResults","startAt","totalCount"],"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first issue.","format":"int64"},"maxResults":{"type":"integer","description":"The maximum number of issues that could be loaded in this evaluation.","format":"int32"},"count":{"type":"integer","description":"The number of issues that were loaded in this evaluation.","format":"int32"},"totalCount":{"type":"integer","description":"The total number of issues the JQL returned.","format":"int64"},"validationWarnings":{"type":"array","description":"Any warnings related to the JQL query. Present only if the validation mode was set to `warn`.","items":{"type":"string"}}},"additionalProperties":false,"description":"The description of the page of issues loaded by the provided JQL query."},"IssuesMetaBean":{"type":"object","properties":{"jql":{"$ref":"#/components/schemas/IssuesJqlMetaDataBean"}},"additionalProperties":false,"description":"Meta data describing the `issues` context variable."},"JiraExpressionEvaluationMetaDataBean":{"type":"object","properties":{"complexity":{"description":"Contains information about the expression complexity. For example, the number of steps it took to evaluate the expression.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityBean"}]},"issues":{"description":"Contains information about the `issues` variable in the context. For example, is the issues were loaded with JQL, information about the page will be included here.","allOf":[{"$ref":"#/components/schemas/IssuesMetaBean"}]}},"additionalProperties":false},"JiraExpressionResult":{"required":["value"],"type":"object","properties":{"value":{"description":"The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if that's the case a simple string representation is returned. These string representations should not be relied upon and may change without notice.)"},"meta":{"description":"Contains various characteristics of the performed expression evaluation.","allOf":[{"$ref":"#/components/schemas/JiraExpressionEvaluationMetaDataBean"}]}},"additionalProperties":false,"description":"The result of evaluating a Jira expression."},"JiraExpressionsComplexityBean":{"type":"object","properties":{"steps":{"description":"The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"expensiveOperations":{"description":"The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"beans":{"description":"The number of Jira REST API beans returned in the response.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"primitiveValues":{"description":"The number of primitive values returned in the response.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]}},"additionalProperties":false},"JiraExpressionsComplexityValueBean":{"required":["limit","value"],"type":"object","properties":{"value":{"type":"integer","description":"The complexity value of the current expression.","format":"int32"},"limit":{"type":"integer","description":"The maximum allowed complexity. The evaluation will fail if this value is exceeded.","format":"int32"}},"additionalProperties":false},"JiraExpressionForAnalysis":{"required":["expressions"],"type":"object","properties":{"expressions":{"type":"array","description":"The list of Jira expressions to analyse.","example":"issues.map(issue => issue.properties['property_key'])","items":{"type":"string","description":"The list of Jira expressions to analyse.","example":"issues.map(issue => issue.properties['property_key'])"}},"contextVariables":{"type":"object","additionalProperties":{"type":"string","description":"Context variables and their types. The type checker assumes that common context variables, such as issue or project, are available in context and sets their type. Use this property to override the default types or provide details of new variables."},"description":"Context variables and their types. The type checker assumes that [common context variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables), such as `issue` or `project`, are available in context and sets their type. Use this property to override the default types or provide details of new variables."}},"additionalProperties":false,"description":"Details of Jira expressions for analysis."},"JiraExpressionAnalysis":{"required":["expression","valid"],"type":"object","properties":{"expression":{"type":"string","description":"The analysed expression."},"errors":{"type":"array","description":"A list of validation errors. Not included if the expression is valid.","items":{"$ref":"#/components/schemas/JiraExpressionValidationError"}},"valid":{"type":"boolean","description":"Whether the expression is valid and the interpreter will evaluate it. Note that the expression may fail at runtime (for example, if it executes too many expensive operations)."},"type":{"type":"string","description":"EXPERIMENTAL. The inferred type of the expression."},"complexity":{"$ref":"#/components/schemas/JiraExpressionComplexity"}},"additionalProperties":false,"description":"Details about the analysed Jira expression."},"JiraExpressionComplexity":{"required":["expensiveOperations"],"type":"object","properties":{"expensiveOperations":{"type":"string","description":"Information that can be used to determine how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) the evaluation of the expression will perform. This information may be a formula or number. For example:\n\n * `issues.map(i => i.comments)` performs as many expensive operations as there are issues on the issues list. So this parameter returns `N`, where `N` is the size of issue list.\n * `new Issue(10010).comments` gets comments for one issue, so its complexity is `2` (`1` to retrieve issue 10010 from the database plus `1` to get its comments)."},"variables":{"type":"object","additionalProperties":{"type":"string","description":"Variables used in the formula, mapped to the parts of the expression they refer to."},"description":"Variables used in the formula, mapped to the parts of the expression they refer to."}},"additionalProperties":false,"description":"Details about the complexity of the analysed Jira expression."},"JiraExpressionValidationError":{"required":["message","type"],"type":"object","properties":{"line":{"type":"integer","description":"The text line in which the error occurred.","format":"int32"},"column":{"type":"integer","description":"The text column in which the error occurred.","format":"int32"},"expression":{"type":"string","description":"The part of the expression in which the error occurred."},"message":{"type":"string","description":"Details about the error.","example":"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, new, [ or { expected, > encountered."},"type":{"type":"string","description":"The error type.","enum":["syntax","type","other"]}},"additionalProperties":false,"description":"Details about syntax and type errors. The error details apply to the entire expression, unless the object includes:\n\n * `line` and `column`\n * `expression`"},"JiraExpressionsAnalysis":{"required":["results"],"type":"object","properties":{"results":{"type":"array","description":"The results of Jira expressions analysis.","items":{"$ref":"#/components/schemas/JiraExpressionAnalysis"}}},"additionalProperties":false,"description":"Details about the analysed Jira expression."},"HealthCheckResult":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Jira health check item."},"description":{"type":"string","description":"The description of the Jira health check item."},"passed":{"type":"boolean","description":"Whether the Jira health check item passed or failed."}},"additionalProperties":false,"description":"Jira instance health check results. Deprecated and no longer returned."},"ServerInformation":{"type":"object","properties":{"baseUrl":{"type":"string","description":"The base URL of the Jira instance."},"version":{"type":"string","description":"The version of Jira."},"versionNumbers":{"type":"array","description":"The major, minor, and revision version numbers of the Jira version.","items":{"type":"integer","format":"int32"}},"deploymentType":{"type":"string","description":"The type of server deployment. This is always returned as *Cloud*."},"buildNumber":{"type":"integer","description":"The build number of the Jira version.","format":"int32"},"buildDate":{"type":"string","description":"The timestamp when the Jira version was built.","format":"date-time"},"serverTime":{"type":"string","description":"The time in Jira when this request was responded to.","format":"date-time"},"scmInfo":{"type":"string","description":"The unique identifier of the Jira version."},"serverTitle":{"type":"string","description":"The name of the Jira instance."},"healthChecks":{"type":"array","description":"Jira instance health check results. Deprecated and no longer returned.","items":{"$ref":"#/components/schemas/HealthCheckResult"}}},"additionalProperties":false,"description":"Details about the Jira instance."},"AttachmentMetadata":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the attachment.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the attachment metadata details.","format":"uri","readOnly":true},"filename":{"type":"string","description":"The name of the attachment file.","readOnly":true},"author":{"description":"Details of the user who attached the file.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"created":{"type":"string","description":"The datetime the attachment was created.","format":"date-time","readOnly":true},"size":{"type":"integer","description":"The size of the attachment.","format":"int64","readOnly":true},"mimeType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Additional properties of the attachment.","readOnly":true},"content":{"type":"string","description":"The URL of the attachment.","readOnly":true},"thumbnail":{"type":"string","description":"The URL of a thumbnail representing the attachment.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an issue attachment.","xml":{"name":"attachment"}},"AttachmentSettings":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the ability to add attachments is enabled.","readOnly":true},"uploadLimit":{"type":"integer","description":"The maximum size of attachments permitted, in bytes.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details of the instance's attachment settings."},"AttachmentArchiveEntry":{"type":"object","properties":{"entryIndex":{"type":"integer","format":"int64"},"abbreviatedName":{"type":"string"},"mediaType":{"type":"string"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}},"additionalProperties":false},"AttachmentArchiveImpl":{"type":"object","properties":{"entries":{"type":"array","description":"The list of the items included in the archive.","items":{"$ref":"#/components/schemas/AttachmentArchiveEntry"}},"totalEntryCount":{"type":"integer","description":"The number of items in the archive.","format":"int32"}},"additionalProperties":false},"AttachmentArchiveItemReadable":{"type":"object","properties":{"path":{"type":"string","description":"The path of the archive item.","readOnly":true},"index":{"type":"integer","description":"The position of the item within the archive.","format":"int64","readOnly":true},"size":{"type":"string","description":"The size of the archive item.","readOnly":true},"mediaType":{"type":"string","description":"The MIME type of the archive item.","readOnly":true},"label":{"type":"string","description":"The label for the archive item.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an item in an attachment archive."},"AttachmentArchiveMetadataReadable":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the attachment.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the archive file.","readOnly":true},"entries":{"type":"array","description":"The list of the items included in the archive.","readOnly":true,"items":{"$ref":"#/components/schemas/AttachmentArchiveItemReadable"}},"totalEntryCount":{"type":"integer","description":"The number of items included in the archive.","format":"int64","readOnly":true},"mediaType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an archive (for example a zip) and its contents."},"CustomFieldReplacement":{"type":"object","properties":{"customFieldId":{"type":"integer","description":"The ID of the custom field in which to replace the version number.","format":"int64"},"moveTo":{"type":"integer","description":"The version number to use as a replacement for the deleted version.","format":"int64"}},"additionalProperties":false,"description":"Details about the replacement for a deleted version."},"DeleteAndReplaceVersionBean":{"type":"object","properties":{"moveFixIssuesTo":{"type":"integer","description":"The ID of the version to update `fixVersion` to when the field contains the deleted version.","format":"int64"},"moveAffectedIssuesTo":{"type":"integer","description":"The ID of the version to update `affectedVersion` to when the field contains the deleted version.","format":"int64"},"customFieldReplacementList":{"type":"array","description":"An array of custom field IDs (`customFieldId`) and version IDs (`moveTo`) to update when the fields contain the deleted version.","items":{"$ref":"#/components/schemas/CustomFieldReplacement"}}},"additionalProperties":false},"VersionIssueCounts":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these count details.","format":"uri","readOnly":true},"issuesFixedCount":{"type":"integer","description":"Count of issues where the `fixVersion` is set to the version.","format":"int64","readOnly":true},"issuesAffectedCount":{"type":"integer","description":"Count of issues where the `affectedVersion` is set to the version.","format":"int64","readOnly":true},"issueCountWithCustomFieldsShowingVersion":{"type":"integer","description":"Count of issues where a version custom field is set to the version.","format":"int64","readOnly":true},"customFieldUsage":{"type":"array","description":"List of custom fields using the version.","readOnly":true,"items":{"$ref":"#/components/schemas/VersionUsageInCustomField"}}},"additionalProperties":false,"description":"Various counts of issues within a version.","xml":{"name":"version"}},"VersionUsageInCustomField":{"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the custom field.","readOnly":true},"customFieldId":{"type":"integer","description":"The ID of the custom field.","format":"int64","readOnly":true},"issueCountWithVersionInCustomField":{"type":"integer","description":"Count of the issues where the custom field contains the version.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"List of custom fields using the version."},"VersionUnresolvedIssuesCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these count details.","format":"uri","readOnly":true},"issuesUnresolvedCount":{"type":"integer","description":"Count of unresolved issues.","format":"int64","readOnly":true},"issuesCount":{"type":"integer","description":"Count of issues.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Count of a version's unresolved issues.","xml":{"name":"version"}},"VersionMoveBean":{"type":"object","properties":{"after":{"type":"string","description":"The URL (self link) of the version after which to place the moved version. Cannot be used with `position`.","format":"uri"},"position":{"type":"string","description":"An absolute position in which to place the moved version. Cannot be used with `after`.","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false,"xml":{"name":"version"}},"FoundUsers":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/UserPickerUser"}},"total":{"type":"integer","description":"The total number of users found in the search.","format":"int32"},"header":{"type":"string","description":"Header text indicating the number of users in the response and the total number of users found in the search."}},"additionalProperties":false,"description":"The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users."},"UserPickerUser":{"type":"object","properties":{"accountId":{"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"html":{"type":"string","description":"The display name, email address, and key of the user with the matched query string highlighted with the HTML bold tag."},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may be returned as null."},"avatarUrl":{"type":"string","description":"The avatar URL of the user.","format":"uri"}},"additionalProperties":false,"description":"A user found in a search."},"UserWriteBean":{"required":["displayName","emailAddress"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","readOnly":true},"key":{"type":"string","description":"The key for the user. When provided with `name`, overrides the value in `name` to set both `name` and `key`. This property is deprecated because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"name":{"type":"string","description":"The username for the user. This property is deprecated because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"password":{"type":"string","description":"A password for the user. If a password is not set, a random password is generated."},"emailAddress":{"type":"string","description":"The email address for the user."},"displayName":{"type":"string","description":"The display name for the user."},"notification":{"type":"string","description":"Sends the user an email confirmation that they have been added to Jira. Default is `false`."},"applicationKeys":{"type":"array","description":"Deprecated, do not use.","items":{"type":"string"}}},"additionalProperties":true},"Avatar":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the avatar."},"owner":{"type":"string","description":"The owner of the avatar. For a system avatar the owner is null (and nothing is returned). For non-system avatars this is the appropriate identifier, such as the ID for a project or the account ID for a user.","readOnly":true},"isSystemAvatar":{"type":"boolean","description":"Whether the avatar is a system avatar.","readOnly":true},"isSelected":{"type":"boolean","description":"Whether the avatar is used in Jira. For example, shown as a project's avatar.","readOnly":true},"isDeletable":{"type":"boolean","description":"Whether the avatar can be deleted.","readOnly":true},"fileName":{"type":"string","description":"The file name of the avatar icon. Returned for system avatars.","readOnly":true},"urls":{"type":"object","additionalProperties":{"type":"string","format":"uri","readOnly":true},"description":"The list of avatar icon URLs.","readOnly":true}},"additionalProperties":false,"description":"Details of an avatar."},"Avatars":{"type":"object","properties":{"system":{"type":"array","description":"System avatars list.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}},"custom":{"type":"array","description":"Custom avatars list.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"Details about system and custom avatars."},"ScreenableTab":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen tab.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen tab. The maximum length is 255 characters."}},"additionalProperties":false,"description":"A screen tab."},"PageBeanScreen":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Screen"}}},"additionalProperties":false,"description":"A page of items."},"Screen":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen.","readOnly":true},"description":{"type":"string","description":"The description of the screen.","readOnly":true},"scope":{"description":"The scope of the screen.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"A screen."},"ScreenableField":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the screen tab field.","readOnly":true},"name":{"type":"string","description":"The name of the screen tab field. Required on create and update. The maximum length is 255 characters."}},"additionalProperties":false,"description":"A screen tab field."},"MoveFieldBean":{"type":"object","properties":{"after":{"type":"string","description":"The ID of the screen tab field after which to place the moved screen tab field. Required if `position` isn't provided.","format":"uri"},"position":{"type":"string","description":"The named position to which the screen tab field should be moved. Required if `after` isn't provided.","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false},"AddFieldBean":{"required":["fieldId"],"type":"object","properties":{"fieldId":{"type":"string","description":"The ID of the field to add."}},"additionalProperties":false},"ScreenDetails":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the screen. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a screen."},"UpdateScreenDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the screen. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a screen."},"Resolution":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue resolution.","format":"uri"},"id":{"type":"string","description":"The ID of the issue resolution."},"description":{"type":"string","description":"The description of the issue resolution."},"name":{"type":"string","description":"The name of the issue resolution."}},"additionalProperties":false,"description":"Details of an issue resolution.","xml":{"name":"resolution"}},"ProjectInputBean":{"type":"object","properties":{"key":{"type":"string","description":"Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters. Required when creating a project. Optional when updating a project."},"name":{"type":"string","description":"The name of the project. Required when creating a project. Optional when updating a project."},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which dictates the application-specific feature set. Required when creating a project. Not applicable for the Update project resource.","enum":["software","service_desk","business"]},"projectTemplateKey":{"type":"string","description":"A prebuilt configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`. Required when creating a project. Not applicable for the Update project resource.","enum":["com.pyxis.greenhopper.jira:gh-simplified-agility-kanban","com.pyxis.greenhopper.jira:gh-simplified-agility-scrum","com.pyxis.greenhopper.jira:gh-simplified-basic","com.pyxis.greenhopper.jira:gh-simplified-kanban-classic","com.pyxis.greenhopper.jira:gh-simplified-scrum-classic","com.atlassian.servicedesk:simplified-it-service-desk","com.atlassian.servicedesk:simplified-internal-service-desk","com.atlassian.servicedesk:simplified-external-service-desk","com.atlassian.servicedesk:simplified-hr-service-desk","com.atlassian.servicedesk:simplified-facilities-service-desk","com.atlassian.jira-core-project-templates:jira-core-simplified-content-management","com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval","com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking","com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","com.atlassian.jira-core-project-templates:jira-core-simplified-procurement","com.atlassian.jira-core-project-templates:jira-core-simplified-project-management","com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment","com.atlassian.jira-core-project-templates:jira-core-simplified-task-"]},"description":{"type":"string","description":"A brief description of the project."},"lead":{"type":"string","description":"This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Optional when updating a project. Cannot be provided with `leadAccountId`."},"leadAccountId":{"maxLength":128,"type":"string","description":"The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Optional when updating a project. Cannot be provided with `lead`."},"url":{"type":"string","description":"A link to information about this project, such as project documentation"},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer","description":"An integer value for the project's avatar.","format":"int64"},"issueSecurityScheme":{"type":"integer","description":"The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security scheme IDs.","format":"int64"},"permissionScheme":{"type":"integer","description":"The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs.","format":"int64"},"notificationScheme":{"type":"integer","description":"The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs.","format":"int64"},"categoryId":{"type":"integer","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation.","format":"int64"}},"additionalProperties":false},"ProjectIdentifiers":{"required":["id","key","self"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the created project.","format":"uri","readOnly":true},"id":{"type":"integer","description":"The ID of the created project.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the created project.","readOnly":true}},"additionalProperties":false,"description":"Identifiers for a project."},"TaskProgressBeanObject":{"required":["elapsedRuntime","id","lastUpdate","progress","self","status","submitted","submittedBy"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the task.","format":"uri"},"id":{"type":"string","description":"The ID of the task."},"description":{"type":"string","description":"The description of the task."},"status":{"type":"string","description":"The status of the task.","enum":["ENQUEUED","RUNNING","COMPLETE","FAILED","CANCEL_REQUESTED","CANCELLED","DEAD"]},"message":{"type":"string","description":"Information about the progress of the task."},"result":{"description":"The result of the task execution."},"submittedBy":{"type":"integer","description":"The ID of the user who submitted the task.","format":"int64"},"progress":{"type":"integer","description":"The progress of the task, as a percentage complete.","format":"int64"},"elapsedRuntime":{"type":"integer","description":"The execution time of the task, in milliseconds.","format":"int64"},"submitted":{"type":"integer","description":"A timestamp recording when the task was submitted.","format":"int64"},"started":{"type":"integer","description":"A timestamp recording when the task was started.","format":"int64"},"finished":{"type":"integer","description":"A timestamp recording when the task was finished.","format":"int64"},"lastUpdate":{"type":"integer","description":"A timestamp recording when the task progress was last updated.","format":"int64"}},"additionalProperties":false,"description":"Details about a task."},"PageBeanVersion":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Version"}}},"additionalProperties":false,"description":"A page of items."},"ComponentWithIssueCount":{"type":"object","properties":{"issueCount":{"type":"integer","description":"Count of issues for the component.","format":"int64","readOnly":true},"description":{"type":"string","description":"The description for the component.","readOnly":true},"self":{"type":"string","description":"The URL for this count of the issues contained in the component.","format":"uri","readOnly":true},"projectId":{"type":"integer","description":"Not used.","format":"int64","readOnly":true},"project":{"type":"string","description":"The key of the project to which the component is assigned.","readOnly":true},"realAssignee":{"description":"The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.","allOf":[{"$ref":"#/components/schemas/User"}]},"isAssigneeTypeValid":{"type":"boolean","description":"Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.","readOnly":true},"assignee":{"description":"The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.","allOf":[{"$ref":"#/components/schemas/User"}]},"realAssigneeType":{"type":"string","description":"The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT` when none of the preceding cases are true.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assigneeType":{"type":"string","description":"The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following values:\n\n * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n * `UNASSIGNED` an assignee is not set for issues created with this component.\n * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"lead":{"description":"The user details for the component's lead user.","allOf":[{"$ref":"#/components/schemas/User"}]},"name":{"type":"string","description":"The name for the component.","readOnly":true},"id":{"type":"string","description":"The unique identifier for the component.","readOnly":true}},"additionalProperties":false,"description":"Details about a component with a count of the issues it contains."},"PageBeanComponentWithIssueCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ComponentWithIssueCount"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanProject":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Project"}}},"additionalProperties":false,"description":"A page of items."},"ProjectAvatars":{"type":"object","properties":{"system":{"type":"array","description":"List of avatars included with Jira. These avatars cannot be deleted.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}},"custom":{"type":"array","description":"List of avatars added to Jira. These avatars may be deleted.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"List of project avatars."},"IssueTypeWithStatus":{"required":["id","name","self","statuses","subtask"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue type's status details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type represents subtasks.","readOnly":true},"statuses":{"type":"array","description":"List of status details for the issue type.","readOnly":true,"items":{"$ref":"#/components/schemas/StatusDetails"}}},"additionalProperties":false,"description":"Status details for an issue type."},"SecurityLevel":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue level security item.","readOnly":true},"id":{"type":"string","description":"The ID of the issue level security item.","readOnly":true},"description":{"type":"string","description":"The description of the issue level security item.","readOnly":true},"name":{"type":"string","description":"The name of the issue level security item.","readOnly":true}},"additionalProperties":false,"description":"Details of an issue level security item."},"SecurityScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue security scheme.","readOnly":true},"id":{"type":"integer","description":"The ID of the issue security scheme.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the issue security scheme.","readOnly":true},"description":{"type":"string","description":"The description of the issue security scheme.","readOnly":true},"defaultSecurityLevelId":{"type":"integer","description":"The ID of the default security level.","format":"int64","readOnly":true},"levels":{"type":"array","items":{"$ref":"#/components/schemas/SecurityLevel"}}},"additionalProperties":false,"description":"Details about a security scheme."},"Priority":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue priority."},"statusColor":{"type":"string","description":"The color used to indicate the issue priority."},"description":{"type":"string","description":"The description of the issue priority."},"iconUrl":{"type":"string","description":"The URL of the icon for the issue priority."},"name":{"type":"string","description":"The name of the issue priority."},"id":{"type":"string","description":"The ID of the issue priority."}},"additionalProperties":true,"description":"An issue priority."},"Comment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the comment.","readOnly":true},"id":{"type":"string","description":"The ID of the comment.","readOnly":true},"author":{"description":"The ID of the user who created the comment.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"body":{"type":"string","description":"The comment text."},"renderedBody":{"type":"string","description":"The rendered version of the comment.","readOnly":true},"updateAuthor":{"description":"The ID of the user who updated the comment last.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The date and time at which the comment was created.","format":"date-time","readOnly":true},"updated":{"type":"string","description":"The date and time at which the comment was updated last.","format":"date-time","readOnly":true},"visibility":{"description":"The group or role to which this comment is visible. Optional on create and update.","allOf":[{"$ref":"#/components/schemas/Visibility"}]},"jsdPublic":{"type":"boolean","description":"Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post) operation.","readOnly":true},"properties":{"type":"array","description":"A list of comment properties. Optional on create and update.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"A comment."},"Fields":{"type":"object","properties":{"summary":{"type":"string","description":"The summary description of the linked issue.","readOnly":true},"status":{"description":"The status of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusDetails"}]},"priority":{"description":"The priority of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Priority"}]},"assignee":{"description":"The assignee of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"timetracking":{"description":"The time tracking of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/TimeTrackingDetails"}]},"issuetype":{"description":"The type of the linked issue.","$ref":"#/components/schemas/IssueTypeDetails"},"issueType":{"description":"The type of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/IssueTypeDetails"}]}},"additionalProperties":false,"description":"Key fields from the linked issue."},"IssueLinkType":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue link type and is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is the type of issue link. Required on create when `name` isn't provided. Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is read only."},"name":{"type":"string","description":"The name of the issue link type and is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is the type of issue link. Required on create when `id` isn't provided. Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"inward":{"type":"string","description":"The description of the issue link type inward link and is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"outward":{"type":"string","description":"The description of the issue link type outward link and is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"self":{"type":"string","description":"The URL of the issue link type. Read only.","format":"uri","readOnly":true}},"additionalProperties":false,"description":"This object is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-2-issueLinkType-get).\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it defines and reports on issue link types."},"LinkIssueRequestJsonBean":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/IssueLinkType"},"inwardIssue":{"$ref":"#/components/schemas/LinkedIssue"},"outwardIssue":{"$ref":"#/components/schemas/LinkedIssue"},"comment":{"$ref":"#/components/schemas/Comment"}},"additionalProperties":false},"LinkedIssue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of an issue. Required if `key` isn't provided."},"key":{"type":"string","description":"The key of an issue. Required if `id` isn't provided."},"self":{"type":"string","description":"The URL of the issue.","format":"uri","readOnly":true},"fields":{"description":"The fields associated with the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Fields"}]}},"additionalProperties":false,"description":"The ID or key of a linked issue."},"RichText":{"type":"object","properties":{"emptyAdf":{"type":"boolean"},"valueSet":{"type":"boolean"}}},"TimeTrackingDetails":{"type":"object","properties":{"originalEstimate":{"type":"string","description":"The original estimate of time needed for this issue in readable format.","readOnly":true},"remainingEstimate":{"type":"string","description":"The remaining estimate of time needed for this issue in readable format.","readOnly":true},"timeSpent":{"type":"string","description":"Time worked on this issue in readable format.","readOnly":true},"originalEstimateSeconds":{"type":"integer","description":"The original estimate of time needed for this issue in seconds.","format":"int64","readOnly":true},"remainingEstimateSeconds":{"type":"integer","description":"The remaining estimate of time needed for this issue in seconds.","format":"int64","readOnly":true},"timeSpentSeconds":{"type":"integer","description":"Time worked on this issue in seconds.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Time tracking details."},"Visibility":{"type":"object","properties":{"type":{"type":"string","description":"Whether visibility of this item is restricted to a group or role.","enum":["group","role"]},"value":{"type":"string","description":"The name of the group or role to which visibility of this item is restricted."}},"additionalProperties":true,"description":"The group or role to which this item is visible."},"IssueLink":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue link.","readOnly":true},"self":{"type":"string","description":"The URL of the issue link.","format":"uri","readOnly":true},"type":{"description":"The type of link between the issues.","allOf":[{"$ref":"#/components/schemas/IssueLinkType"}]},"inwardIssue":{"description":"The issue the link joins to.","allOf":[{"$ref":"#/components/schemas/LinkedIssue"}]},"outwardIssue":{"description":"The issue the link originates from.","allOf":[{"$ref":"#/components/schemas/LinkedIssue"}]}},"additionalProperties":false,"description":"Details of a link between issues.","xml":{"name":"issueLinks"}},"PageOfWorklogs":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"worklogs":{"type":"array","description":"List of worklogs.","readOnly":true,"items":{"$ref":"#/components/schemas/Worklog"}}},"additionalProperties":true,"description":"Paginated list of worklog details"},"Worklog":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the worklog item.","format":"uri","readOnly":true},"author":{"description":"Details of the user who created the worklog.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"updateAuthor":{"description":"Details of the user who last updated the worklog.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"comment":{"type":"string","description":"A comment about the worklog. Optional when creating or updating a worklog."},"created":{"type":"string","description":"The datetime on which the worklog was created.","format":"date-time","readOnly":true},"updated":{"type":"string","description":"The datetime on which the worklog was last updated.","format":"date-time","readOnly":true},"visibility":{"description":"Details about any restrictions in the visibility of the worklog. Optional when creating or updating a worklog.","allOf":[{"$ref":"#/components/schemas/Visibility"}]},"started":{"type":"string","description":"The datetime on which the worklog effort was started. Required when creating a worklog. Optional when updating a worklog.","format":"date-time"},"timeSpent":{"type":"string","description":"The time spent working on the issue as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). Required when creating a worklog if `timeSpentSeconds` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpentSecond` is provided."},"timeSpentSeconds":{"type":"integer","description":"The time in seconds spent working on the issue. Required when creating a worklog if `timeSpent` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpent` is provided.","format":"int64"},"id":{"type":"string","description":"The ID of the worklog record.","readOnly":true},"issueId":{"type":"string","description":"The ID of the issue this worklog is for.","readOnly":true},"properties":{"type":"array","description":"Details of properties for the worklog. Optional when creating or updating a worklog.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"Details of a worklog.","xml":{"name":"worklog"}},"IssueTypeCreateBean":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The unique name for the issue type. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the issue type."},"type":{"type":"string","description":"Whether the issue type is `subtype` or `standard`. Defaults to `standard`.","enum":["subtask","standard"]}},"additionalProperties":false},"IssueTypeUpdateBean":{"type":"object","properties":{"name":{"type":"string","description":"The unique name for the issue type. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the issue type."},"avatarId":{"type":"integer","description":"The ID of an issue type avatar.","format":"int64"}},"additionalProperties":false},"SecuritySchemes":{"type":"object","properties":{"issueSecuritySchemes":{"type":"array","description":"List of security schemes.","readOnly":true,"items":{"$ref":"#/components/schemas/SecurityScheme"}}},"additionalProperties":false,"description":"List of security schemes."},"IssueSecurityLevelMember":{"required":["id","issueSecurityLevelId"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue security level member.","format":"int64"},"issueSecurityLevelId":{"type":"integer","description":"The ID of the issue security level.","format":"int64"},"holder":{"description":"The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information.","allOf":[{"$ref":"#/components/schemas/PermissionHolder"}]}},"additionalProperties":false,"description":"Issue security level member."},"PageBeanIssueSecurityLevelMember":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueSecurityLevelMember"}}},"additionalProperties":false,"description":"A page of items."},"Transitions":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional transitions details in the response.","readOnly":true,"xml":{"attribute":true}},"transitions":{"type":"array","description":"List of issue transitions.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTransition"}}},"additionalProperties":false,"description":"List of issue transitions."},"IssuePickerSuggestions":{"type":"object","properties":{"sections":{"type":"array","description":"A list of issues for an issue type suggested for use in auto-completion.","readOnly":true,"items":{"$ref":"#/components/schemas/IssuePickerSuggestionsIssueType"}}},"additionalProperties":false,"description":"A list of issues suggested for use in auto-completion."},"IssuePickerSuggestionsIssueType":{"type":"object","properties":{"label":{"type":"string","description":"The label of the type of issues suggested for use in auto-completion.","readOnly":true},"sub":{"type":"string","description":"If issue suggestions are found, returns a message indicating the number of issues suggestions found and returned.","readOnly":true},"id":{"type":"string","description":"The ID of the type of issues suggested for use in auto-completion.","readOnly":true},"msg":{"type":"string","description":"If no issue suggestions are found, returns a message indicating no suggestions were found,","readOnly":true},"issues":{"type":"array","description":"A list of issues suggested for use in auto-completion.","readOnly":true,"items":{"$ref":"#/components/schemas/SuggestedIssue"}}},"additionalProperties":false,"description":"A type of issue suggested for use in auto-completion."},"SuggestedIssue":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the issue.","readOnly":true},"keyHtml":{"type":"string","description":"The key of the issue in HTML format.","readOnly":true},"img":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"summary":{"type":"string","description":"The phrase containing the query string in HTML format, with the string highlighted with HTML bold tags.","readOnly":true},"summaryText":{"type":"string","description":"The phrase containing the query string, as plain text.","readOnly":true}},"additionalProperties":false,"description":"An issue suggested for use in the issue picker auto-completion."},"FieldUpdateOperation":{"type":"object","properties":{"add":{"description":"A map containing the name of a field and the value to add to it.","example":{"labels":"Training","issuelinks":{"id":10001}}},"set":{"description":"A map containing the name of a field and the value to set in it.","example":{"summary":"A new summary","issuetype":{"id":10010}}},"remove":{"description":"A map containing the name of a field and the value to removed from it.","example":{"labels":"Training","components":{"id":10017}}},"edit":{"description":"A map containing the name of a field and the value to edit in it.","example":{"timetracking":{"key":"JIRA"}}}},"additionalProperties":false,"description":"Details of an operation to perform on a field."},"IssueUpdateDetails":{"type":"object","properties":{"transition":{"description":"Details of a transition. Required when performing a transition, optional when creating or editing an issue.","allOf":[{"$ref":"#/components/schemas/IssueTransition"}]},"fields":{"type":"object","additionalProperties":{},"description":"List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are required, use `update`. Fields included in here cannot be included in `update`."},"update":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FieldUpdateOperation"}},"description":"List of operations to perform on issue screen fields. Note that fields included in here cannot be included in `fields`."},"historyMetadata":{"description":"Additional issue history details.","allOf":[{"$ref":"#/components/schemas/HistoryMetadata"}]},"properties":{"type":"array","description":"Details of issue properties to be add or update.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"Details of an issue update request."},"Votes":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue vote details.","format":"uri","readOnly":true},"votes":{"type":"integer","description":"The number of votes on the issue.","format":"int64","readOnly":true},"hasVoted":{"type":"boolean","description":"Whether the user making this request has voted on the issue.","readOnly":true},"voters":{"type":"array","description":"List of the users who have voted on this issue. An empty list is returned when the calling user doesn't have the *View voters and watchers* project permission.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}}},"additionalProperties":false,"description":"The details of votes on an issue."},"Watchers":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue watcher details.","readOnly":true},"isWatching":{"type":"boolean","description":"Whether the calling user is watching this issue.","readOnly":true},"watchCount":{"type":"integer","description":"The number of users watching this issue.","format":"int32","readOnly":true},"watchers":{"type":"array","description":"Details of the users watching this issue.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}}},"additionalProperties":false,"description":"The details of watchers on an issue.","xml":{"name":"watchers"}},"CreatedIssue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the created issue or subtask.","readOnly":true},"key":{"type":"string","description":"The key of the created issue or subtask.","readOnly":true},"self":{"type":"string","description":"The URL of the created issue or subtask.","readOnly":true},"transition":{"description":"The response code and messages related to any requested transition.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/NestedResponse"}]}},"additionalProperties":false,"description":"Details about a created issue or subtask."},"NestedResponse":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"errorCollection":{"$ref":"#/components/schemas/ErrorCollection"}},"additionalProperties":false},"IssuesUpdateBean":{"type":"object","properties":{"issueUpdates":{"type":"array","items":{"$ref":"#/components/schemas/IssueUpdateDetails"}}},"additionalProperties":true},"BulkOperationErrorResult":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"elementErrors":{"$ref":"#/components/schemas/ErrorCollection"},"failedElementNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"CreatedIssues":{"type":"object","properties":{"issues":{"type":"array","description":"Details of the issues created.","readOnly":true,"items":{"$ref":"#/components/schemas/CreatedIssue"}},"errors":{"type":"array","description":"Error details for failed issue creation requests.","readOnly":true,"items":{"$ref":"#/components/schemas/BulkOperationErrorResult"}}},"additionalProperties":false,"description":"Details about the issues created and the errors for requests that failed."},"IssueCreateMetadata":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project details in the response.","readOnly":true,"xml":{"attribute":true}},"projects":{"type":"array","description":"List of projects and their issue creation metadata.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueCreateMetadata"}}},"additionalProperties":false,"description":"The wrapper for the issue creation metadata for a list of projects."},"IssueTypeIssueCreateMetadata":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue type details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"description":{"type":"string","description":"The description of the issue type.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type is used to create subtasks.","readOnly":true},"avatarId":{"type":"integer","description":"The ID of the issue type's avatar.","format":"int64","readOnly":true},"entityId":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"scope":{"description":"Details of the next-gen projects the issue type is available in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"expand":{"type":"string","description":"Expand options that include additional issue type metadata details in the response.","readOnly":true,"xml":{"attribute":true}},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"List of the fields available when creating an issue for the issue type.","readOnly":true}},"additionalProperties":false,"description":"Details of the issue creation metadata for an issue type."},"ProjectIssueCreateMetadata":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project issue create metadata details in the response.","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the project.","readOnly":true},"id":{"type":"string","description":"The ID of the project.","readOnly":true},"key":{"type":"string","description":"The key of the project.","readOnly":true},"name":{"type":"string","description":"The name of the project.","readOnly":true},"avatarUrls":{"description":"List of the project's avatars, returning the avatar size and associated URL.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"issuetypes":{"type":"array","description":"List of the issue types supported by the project.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeIssueCreateMetadata"}}},"additionalProperties":false,"description":"Details of the issue creation metadata for a project."},"Application":{"type":"object","properties":{"type":{"type":"string","description":"The name-spaced type of the application, used by registered rendering apps."},"name":{"type":"string","description":"The name of the application. Used in conjunction with the (remote) object icon title to display a tooltip for the link's icon. The tooltip takes the format \"\\[application name\\] icon title\". Blank items are excluded from the tooltip title. If both items are blank, the icon tooltop displays as \"Web Link\". Grouping and sorting of links may place links without an application name last."}},"additionalProperties":true,"description":"The application the linked item is in."},"IconBean":{"type":"object","properties":{"url16x16":{"type":"string","description":"The URL of a 16x16 pixel icon."},"title":{"type":"string","description":"The title of the icon, for use as a tooltip on the icon."},"link":{"type":"string","description":"The URL of the tooltip, used only for a status icon."}},"additionalProperties":false,"description":"An icon.","xml":{"name":"icon"}},"RemoteIssueLink":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the link.","format":"int64"},"self":{"type":"string","description":"The URL of the link.","format":"uri"},"globalId":{"type":"string","description":"The global ID of the link, such as the ID of the item on the remote system."},"application":{"description":"Details of the remote application the linked item is in.","allOf":[{"$ref":"#/components/schemas/Application"}]},"relationship":{"type":"string","description":"Description of the relationship between the issue and the linked item."},"object":{"description":"Details of the item linked to.","allOf":[{"$ref":"#/components/schemas/RemoteObject"}]}},"additionalProperties":false,"description":"Details of an issue remote link."},"RemoteObject":{"required":["title","url"],"type":"object","properties":{"url":{"type":"string","description":"The URL of the item."},"title":{"type":"string","description":"The title of the item."},"summary":{"type":"string","description":"The summary details of the item."},"icon":{"description":"Details of the icon for the item. If no icon is defined, the default link icon is used in Jira.","allOf":[{"$ref":"#/components/schemas/Icon"}]},"status":{"description":"The status of the item.","allOf":[{"$ref":"#/components/schemas/Status"}]}},"additionalProperties":true,"description":"The linked item."},"Status":{"type":"object","properties":{"resolved":{"type":"boolean","description":"Whether the item is resolved. If set to \"true\", the link to the issue is displayed in a strikethrough font, otherwise the link displays in normal font."},"icon":{"description":"Details of the icon representing the status. If not provided, no status icon displays in Jira.","allOf":[{"$ref":"#/components/schemas/Icon"}]}},"additionalProperties":true,"description":"The status of the item."},"Icon":{"type":"object","properties":{"url16x16":{"type":"string","description":"The URL of an icon that displays at 16x16 pixel in Jira."},"title":{"type":"string","description":"The title of the icon. This is used as follows:\n\n * For a status icon it is used as a tooltip on the icon. If not set, the status icon doesn't display a tooltip in Jira.\n * For the remote object icon it is used in conjunction with the application name to display a tooltip for the link's icon. The tooltip takes the format \"\\[application name\\] icon title\". Blank itemsare excluded from the tooltip title. If both items are blank, the icon tooltop displays as \"Web Link\"."},"link":{"type":"string","description":"The URL of the tooltip, used only for a status icon. If not set, the status icon in Jira is not clickable."}},"additionalProperties":true,"description":"An icon. If no icon is defined:\n\n * for a status icon, no status icon displays in Jira.\n * for the remote object icon, the default link icon displays in Jira."},"RemoteIssueLinkRequest":{"type":"object","properties":{"globalId":{"type":"string","description":"An identifier for the remote item in the remote system. For example, the global ID for a remote item in Confluence would consist of the app ID and page ID, like this: `appId=456&pageId=123`.\n\nSetting this field enables the remote issue link details to be updated or deleted using remote system and item details as the record identifier, rather than using the record's Jira ID.\n\nThe maximum length is 255 characters."},"application":{"description":"Details of the remote application the linked item is in. For example, trello.","allOf":[{"$ref":"#/components/schemas/Application"}]},"relationship":{"type":"string","description":"Description of the relationship between the issue and the linked item. If not set, the relationship description \"links to\" is used in Jira."},"object":{"description":"Details of the item linked to.","allOf":[{"$ref":"#/components/schemas/RemoteObject"}]}},"additionalProperties":true,"description":"Details of a remote issue link."},"RemoteIssueLinkIdentifies":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the remote issue link, such as the ID of the item on the remote system.","format":"int64","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the remote issue link.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false,"description":"Details of the identifiers for a created or updated remote issue link."},"Notification":{"type":"object","properties":{"subject":{"type":"string","description":"The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary."},"textBody":{"type":"string","description":"The plain text body of the email notification for the issue."},"htmlBody":{"type":"string","description":"The HTML body of the email notification for the issue."},"to":{"description":"The recipients of the email notification for the issue.","allOf":[{"$ref":"#/components/schemas/NotificationRecipients"}]},"restrict":{"description":"Restricts the notifications to users with the specified permissions.","allOf":[{"$ref":"#/components/schemas/NotificationRecipientsRestrictions"}]}},"additionalProperties":true,"description":"Details about a notification."},"NotificationRecipients":{"type":"object","properties":{"reporter":{"type":"boolean","description":"Whether the notification should be sent to the issue's reporter."},"assignee":{"type":"boolean","description":"Whether the notification should be sent to the issue's assignees."},"watchers":{"type":"boolean","description":"Whether the notification should be sent to the issue's watchers."},"voters":{"type":"boolean","description":"Whether the notification should be sent to the issue's voters."},"users":{"type":"array","description":"List of users to receive the notification.","items":{"$ref":"#/components/schemas/UserDetails"}},"groups":{"type":"array","description":"List of groups to receive the notification.","items":{"$ref":"#/components/schemas/GroupName"}}},"additionalProperties":true,"description":"Details of the users and groups to receive the notification."},"NotificationRecipientsRestrictions":{"type":"object","properties":{"groups":{"type":"array","description":"List of group memberships required to receive the notification.","items":{"$ref":"#/components/schemas/GroupName"}},"permissions":{"type":"array","description":"List of permissions required to receive the notification.","items":{"$ref":"#/components/schemas/RestrictedPermission"}}},"additionalProperties":false,"description":"Details of the group membership or permissions needed to receive the notification."},"RestrictedPermission":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-2-permissions-get) to get the list of permissions."},"key":{"type":"string","description":"The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-2-permissions-get) to get the list of permissions."}},"additionalProperties":true,"description":"Details of the permission."},"IssueLinkTypes":{"type":"object","properties":{"issueLinkTypes":{"type":"array","description":"The issue link type bean.","readOnly":true,"xml":{"name":"issueLinkTypes"},"items":{"$ref":"#/components/schemas/IssueLinkType"}}},"additionalProperties":false,"description":"A list of issue link type beans.","xml":{"name":"issueLinkTypes"}},"PageOfComments":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"comments":{"type":"array","description":"The list of comments.","readOnly":true,"items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":true,"description":"A page of comments."},"IssueCommentListRequestBean":{"required":["ids"],"type":"object","properties":{"ids":{"uniqueItems":true,"type":"array","description":"The list of comment IDs. A maximum of 1000 IDs can be specified.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false},"PageBeanComment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanChangelog":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Changelog"}}},"additionalProperties":false,"description":"A page of items."},"Attachment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the attachment details response.","readOnly":true},"id":{"type":"string","description":"The ID of the attachment.","readOnly":true},"filename":{"type":"string","description":"The file name of the attachment.","readOnly":true},"author":{"description":"Details of the user who added the attachment.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The datetime the attachment was created.","format":"date-time","readOnly":true},"size":{"type":"integer","description":"The size of the attachment.","format":"int64","readOnly":true},"mimeType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true},"content":{"type":"string","description":"The content of the attachment.","readOnly":true},"thumbnail":{"type":"string","description":"The URL of a thumbnail representing the attachment.","readOnly":true}},"additionalProperties":true,"description":"Details about an attachment."},"Group":{"type":"object","properties":{"name":{"type":"string","description":"The name of group."},"self":{"type":"string","description":"The URL for these group details.","format":"uri","readOnly":true},"users":{"description":"A paginated list of the users that are members of the group. A maximum of 50 users is returned in the list, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 50 users, use`?expand=users[51:100]`.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/PagedListUserDetailsApplicationUser"}]},"expand":{"type":"string","description":"Expand options that include additional group details in the response.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false},"PagedListUserDetailsApplicationUser":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40."},"PageBeanUserDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}}},"additionalProperties":false,"description":"A page of items."},"AddGroupBean":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the group."}},"additionalProperties":true},"UpdateUserToGroupBean":{"type":"object","properties":{"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."}},"additionalProperties":true},"FoundGroup":{"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"html":{"type":"string","description":"The group name with the matched query string highlighted with the HTML bold tag."},"labels":{"type":"array","items":{"$ref":"#/components/schemas/GroupLabel"}},"groupId":{"type":"string","description":"The ID of the group, if available, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*."}},"additionalProperties":false,"description":"A group found in a search.","xml":{"name":"group"}},"FoundGroups":{"type":"object","properties":{"header":{"type":"string","description":"Header text indicating the number of groups in the response and the total number of groups found in the search."},"total":{"type":"integer","description":"The total number of groups found in the search.","format":"int32"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/FoundGroup"}}},"additionalProperties":false,"description":"The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.","xml":{"name":"groupsuggestions"}},"GroupLabel":{"type":"object","properties":{"text":{"type":"string","description":"The group label name."},"title":{"type":"string","description":"The title of the group label."},"type":{"type":"string","description":"The type of the group label.","enum":["ADMIN","SINGLE","MULTIPLE"]}},"additionalProperties":false,"description":"A group label.","xml":{"name":"grouplabel"}},"GroupDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"groupId":{"type":"string","description":"The ID of the group, if available, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*."}},"additionalProperties":false,"description":"Details about a group.","xml":{"name":"group"}},"PageBeanGroupDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/GroupDetails"}}},"additionalProperties":false,"description":"A page of items."},"FoundUsersAndGroups":{"type":"object","properties":{"users":{"$ref":"#/components/schemas/FoundUsers"},"groups":{"$ref":"#/components/schemas/FoundGroups"}},"additionalProperties":false,"description":"List of users and groups found in a search."},"FieldDetails":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the field."},"key":{"type":"string","description":"The key of the field."},"name":{"type":"string","description":"The name of the field."},"custom":{"type":"boolean","description":"Whether the field is a custom field."},"orderable":{"type":"boolean","description":"Whether the content of the field can be used to order lists."},"navigable":{"type":"boolean","description":"Whether the field can be used as a column on the issue navigator."},"searchable":{"type":"boolean","description":"Whether the content of the field can be searched."},"clauseNames":{"uniqueItems":true,"type":"array","description":"The names that can be used to reference the field in an advanced search. For more information, see [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ).","items":{"type":"string"}},"scope":{"description":"The scope of the field.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"schema":{"description":"The data schema for the field.","allOf":[{"$ref":"#/components/schemas/JsonTypeBean"}]}},"additionalProperties":false,"description":"Details about a field.","xml":{"name":"field"}},"CustomFieldDefinitionJsonBean":{"required":["name","searcherKey","type"],"type":"object","properties":{"name":{"type":"string","description":"The name of the custom field, which is displayed in Jira. This is not the unique identifier."},"description":{"type":"string","description":"The description of the custom field, which is displayed in Jira."},"type":{"type":"string","description":"The type of the custom field. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppicker*.\n\n * `cascadingselect`: Allows multiple values to be selected using two select lists\n * `datepicker`: Stores a date using a picker control\n * `datetime`: Stores a date with a time component\n * `float`: Stores and validates a numeric (floating point) input\n * `grouppicker`: Stores a user group using a picker control\n * `importid`: A read-only field that stores the previous ID of the issue from the system that it was imported from\n * `labels`: Stores labels\n * `multicheckboxes`: Stores multiple values using checkboxes\n * `multigrouppicker`: Stores multiple user groups using a picker control\n * `multiselect`: Stores multiple values using a select list\n * `multiuserpicker`: Stores multiple users using a picker control\n * `multiversion`: Stores multiple versions from the versions available in a project using a picker control\n * `project`: Stores a project from a list of projects that the user is permitted to view\n * `radiobuttons`: Stores a value using radio buttons\n * `readonlyfield`: Stores a read-only text value, which can only be populated via the API\n * `select`: Stores a value from a configurable list of options\n * `textarea`: Stores a long text string using a multiline text area\n * `textfield`: Stores a text string using a single-line text box\n * `url`: Stores a URL\n * `userpicker`: Stores a user using a picker control\n * `version`: Stores a version using a picker control","enum":["com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect","com.atlassian.jira.plugin.system.customfieldtypes:datepicker","com.atlassian.jira.plugin.system.customfieldtypes:datetime","com.atlassian.jira.plugin.system.customfieldtypes:float","com.atlassian.jira.plugin.system.customfieldtypes:grouppicker","com.atlassian.jira.plugin.system.customfieldtypes:importid","com.atlassian.jira.plugin.system.customfieldtypes:labels","com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes","com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker","com.atlassian.jira.plugin.system.customfieldtypes:multiselect","com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker","com.atlassian.jira.plugin.system.customfieldtypes:multiversion","com.atlassian.jira.plugin.system.customfieldtypes:project","com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons","com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield","com.atlassian.jira.plugin.system.customfieldtypes:select","com.atlassian.jira.plugin.system.customfieldtypes:textarea","com.atlassian.jira.plugin.system.customfieldtypes:textfield","com.atlassian.jira.plugin.system.customfieldtypes:url","com.atlassian.jira.plugin.system.customfieldtypes:userpicker","com.atlassian.jira.plugin.system.customfieldtypes:version"]},"searcherKey":{"type":"string","description":"The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. \nThe search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown):\n\n * `cascadingselect`: `cascadingselectsearcher`\n * `datepicker`: `daterange`\n * `datetime`: `datetimerange`\n * `float`: `exactnumber` or `numberrange`\n * `grouppicker`: `grouppickersearcher`\n * `importid`: `exactnumber` or `numberrange`\n * `labels`: `labelsearcher`\n * `multicheckboxes`: `multiselectsearcher`\n * `multigrouppicker`: `multiselectsearcher`\n * `multiselect`: `multiselectsearcher`\n * `multiuserpicker`: `userpickergroupsearcher`\n * `multiversion`: `versionsearcher`\n * `project`: `projectsearcher`\n * `radiobuttons`: `multiselectsearcher`\n * `readonlyfield`: `textsearcher`\n * `select`: `multiselectsearcher`\n * `textarea`: `textsearcher`\n * `textfield`: `textsearcher`\n * `url`: `exacttextsearcher`\n * `userpicker`: `userpickergroupsearcher`\n * `version`: `versionsearcher`","enum":["com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:daterange","com.atlassian.jira.plugin.system.customfieldtypes:datetimerange","com.atlassian.jira.plugin.system.customfieldtypes:exactnumber","com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher","com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher","com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:numberrange","com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:textsearcher","com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher","com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher"]}},"additionalProperties":false},"Context":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the context.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the context.","readOnly":true},"scope":{"description":"The scope of the context.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"A context."},"PageBeanContext":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Context"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContextOption":{"required":["disabled","id","value"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the custom field option."},"value":{"type":"string","description":"The value of the custom field option."},"optionId":{"type":"string","description":"For cascading options, the ID of the custom field option containing the cascading option."},"disabled":{"type":"boolean","description":"Whether the option is disabled."}},"additionalProperties":false,"description":"Details of the custom field options for a context."},"PageBeanCustomFieldContextOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContextOption"}}},"additionalProperties":false,"description":"A page of items."},"OrderOfCustomFieldOptions":{"required":["customFieldOptionIds"],"type":"object","properties":{"customFieldOptionIds":{"type":"array","description":"A list of IDs of custom field options to move. The order of the custom field option IDs in the list is the order they are given after the move. The list must contain custom field options or cascading options, but not both.","writeOnly":true,"items":{"type":"string","writeOnly":true}},"after":{"type":"string","description":"The ID of the custom field option or cascading option to place the moved options after. Required if `position` isn't provided.","writeOnly":true},"position":{"type":"string","description":"The position the custom field options should be moved to. Required if `after` isn't provided.","writeOnly":true,"enum":["First","Last"]}},"additionalProperties":false,"description":"An ordered list of custom field option IDs and information on where to move them."},"ComponentIssuesCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL for this count of issues for a component.","format":"uri","readOnly":true},"issueCount":{"type":"integer","description":"The count of issues assigned to a component.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Count of issues assigned to a component.","xml":{"name":"component"}},"BulkCreateCustomFieldOptionRequest":{"type":"object","properties":{"options":{"type":"array","description":"Details of options to create.","items":{"$ref":"#/components/schemas/CustomFieldOptionValue"}}},"additionalProperties":false,"description":"Details of options to create for a custom field.","writeOnly":true},"CustomFieldOptionValue":{"required":["value"],"type":"object","properties":{"value":{"maxLength":255,"type":"string","description":"The value of the custom field option."},"cascadingOptions":{"type":"array","description":"The cascading options.","items":{"type":"string"}}},"additionalProperties":false,"description":"Value of a custom field option and the values of its cascading options.","writeOnly":true},"RenamedCascadingOption":{"required":["newValue","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the cascading option."},"newValue":{"maxLength":255,"type":"string","description":"The new value of the cascading option."}},"additionalProperties":false,"description":"Details of a custom field cascading option to rename.","writeOnly":true},"RenamedOption":{"required":["newValue","value"],"type":"object","properties":{"value":{"type":"string","description":"The current option value."},"newValue":{"maxLength":255,"type":"string","description":"The new value of the option."},"cascadingOptions":{"type":"array","description":"The new values for the cascading options of this option. Only used for Select List (cascading) fields.","items":{"$ref":"#/components/schemas/RenamedCascadingOption"}}},"additionalProperties":false,"description":"Details of a custom field option to rename.","writeOnly":true},"UpdateCustomFieldOption":{"type":"object","properties":{"options":{"type":"array","description":"Details of the options to update.","items":{"$ref":"#/components/schemas/RenamedOption"}}},"additionalProperties":false,"description":"Details of the options to update for a custom field.","writeOnly":true},"CustomFieldOptionDetails":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the custom field option.","format":"int64","readOnly":true},"value":{"type":"string","description":"The value of the custom field option.","readOnly":true},"cascadingOptions":{"type":"array","description":"The cascading options.","readOnly":true,"items":{"type":"string","readOnly":true}}},"additionalProperties":false,"description":"Details of a custom field option and its cascading options."},"PageBeanCustomFieldOptionDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldOptionDetails"}}},"additionalProperties":false,"description":"A page of items."},"SystemAvatars":{"type":"object","properties":{"system":{"type":"array","description":"A list of avatar details.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"List of system avatars."},"CreateUpdateRoleRequestBean":{"type":"object","properties":{"name":{"type":"string","description":"The name of the project role. Must be unique. Cannot begin or end with whitespace. The maximum length is 255 characters. Required when creating a project role. Optional when partially updating a project role."},"description":{"type":"string","description":"A description of the project role. Required when fully updating a project role. Optional when creating or partially updating a project role."}},"additionalProperties":false},"ActorInputBean":{"type":"object","properties":{"user":{"type":"array","description":"The account IDs of the users to add as default actors. This parameter accepts a comma-separated list. For example, `\"user\":[\"5b10a2844c20165700ede21g\", \"5b109f2e9729b51b54dc274d\"]`.","items":{"type":"string"}},"group":{"type":"array","description":"The name of the group to add as a default actor. This parameter accepts a comma-separated list. For example, `\"group\":[\"project-admin\", \"jira-developers\"]`.","items":{"type":"string"}}},"additionalProperties":false},"ProjectRoleActorsUpdateBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","format":"int64","readOnly":true},"categorisedActors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"The actors to add to the project role. Add groups using `atlassian-group-role-actor` and a list of group names. For example, `\"atlassian-group-role-actor\":[\"another\",\"administrators\"]}`. Add users using `atlassian-user-role-actor` and a list of account IDs. For example, `\"atlassian-user-role-actor\":[\"12345678-9abc-def1-2345-6789abcdef12\", \"abcdef12-3456-789a-bcde-f123456789ab\"]`."}},"additionalProperties":false,"xml":{"name":"actor"}},"ActorsMap":{"type":"object","properties":{"user":{"type":"array","description":"The user account ID of the user to add.","items":{"type":"string"}},"group":{"type":"array","description":"The name of the group to add.","items":{"type":"string"}}},"additionalProperties":false},"GlobalScopeBean":{"type":"object","properties":{"attributes":{"uniqueItems":true,"type":"array","description":"Defines the behavior of the option in the global context.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false},"IssueFieldOption":{"required":["id","value"],"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier for the option. This is only unique within the select field's set of options.","format":"int64"},"value":{"type":"string","description":"The option's name, which is displayed in Jira."},"properties":{"type":"object","additionalProperties":{},"description":"The properties of the object, as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see [Issue Field Option Property Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)) are defined in the descriptor for the issue field module."},"config":{"$ref":"#/components/schemas/IssueFieldOptionConfiguration"}},"additionalProperties":false,"description":"Details of the options for a select list issue field."},"IssueFieldOptionConfiguration":{"type":"object","properties":{"scope":{"description":"Defines the projects that the option is available in. If the scope is not defined, then the option is available in all projects.","allOf":[{"$ref":"#/components/schemas/IssueFieldOptionScopeBean"}]},"attributes":{"uniqueItems":true,"type":"array","description":"DEPRECATED","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false,"description":"Details of the projects the option is available in."},"IssueFieldOptionScopeBean":{"type":"object","properties":{"projects":{"uniqueItems":true,"type":"array","description":"DEPRECATED","items":{"type":"integer","format":"int64"}},"projects2":{"uniqueItems":true,"type":"array","description":"Defines the projects in which the option is available and the behavior of the option within each project. Specify one object per project. The behavior of the option in a project context overrides the behavior in the global context.","items":{"$ref":"#/components/schemas/ProjectScopeBean"}},"global":{"description":"Defines the behavior of the option within the global context. If this property is set, even if set to an empty object, then the option is available in all projects.","allOf":[{"$ref":"#/components/schemas/GlobalScopeBean"}]}},"additionalProperties":false},"PageBeanIssueFieldOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueFieldOption"}}},"additionalProperties":false,"description":"A page of items."},"ProjectScopeBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project that the option's behavior applies to.","format":"int64"},"attributes":{"uniqueItems":true,"type":"array","description":"Defines the behavior of the option in the project.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false},"IssueFieldOptionCreateBean":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The option's name, which is displayed in Jira."},"properties":{"type":"object","additionalProperties":{},"description":"The properties of the option as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/) are defined in the descriptor for the issue field module."},"config":{"$ref":"#/components/schemas/IssueFieldOptionConfiguration"}},"additionalProperties":true},"RemoveOptionFromIssuesResult":{"type":"object","properties":{"modifiedIssues":{"type":"array","description":"The IDs of the modified issues.","items":{"type":"integer","format":"int64"}},"unmodifiedIssues":{"type":"array","description":"The IDs of the unchanged issues, those issues where errors prevent modification.","items":{"type":"integer","format":"int64"}},"errors":{"description":"A collection of errors related to unchanged issues. The collection size is limited, which means not all errors may be returned.","allOf":[{"$ref":"#/components/schemas/SimpleErrorCollection"}]}},"additionalProperties":false},"SimpleErrorCollection":{"type":"object","properties":{"errors":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of errors by parameter returned by the operation. For example,\"projectKey\": \"Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.\""},"errorMessages":{"type":"array","description":"The list of error messages produced by this operation. For example, \"input parameter 'key' must be provided\"","items":{"type":"string"}},"httpStatusCode":{"type":"integer","format":"int32"}},"additionalProperties":false},"TaskProgressBeanRemoveOptionFromIssuesResult":{"required":["elapsedRuntime","id","lastUpdate","progress","self","status","submitted","submittedBy"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the task.","format":"uri"},"id":{"type":"string","description":"The ID of the task."},"description":{"type":"string","description":"The description of the task."},"status":{"type":"string","description":"The status of the task.","enum":["ENQUEUED","RUNNING","COMPLETE","FAILED","CANCEL_REQUESTED","CANCELLED","DEAD"]},"message":{"type":"string","description":"Information about the progress of the task."},"result":{"description":"The result of the task execution.","allOf":[{"$ref":"#/components/schemas/RemoveOptionFromIssuesResult"}]},"submittedBy":{"type":"integer","description":"The ID of the user who submitted the task.","format":"int64"},"progress":{"type":"integer","description":"The progress of the task, as a percentage complete.","format":"int64"},"elapsedRuntime":{"type":"integer","description":"The execution time of the task, in milliseconds.","format":"int64"},"submitted":{"type":"integer","description":"A timestamp recording when the task was submitted.","format":"int64"},"started":{"type":"integer","description":"A timestamp recording when the task was started.","format":"int64"},"finished":{"type":"integer","description":"A timestamp recording when the task was finished.","format":"int64"},"lastUpdate":{"type":"integer","description":"A timestamp recording when the task progress was last updated.","format":"int64"}},"additionalProperties":false,"description":"Details about a task."},"Field":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field."},"name":{"type":"string","description":"The name of the field."},"schema":{"$ref":"#/components/schemas/JsonTypeBean"},"description":{"type":"string","description":"The description of the field."},"key":{"type":"string","description":"The key of the field."},"isLocked":{"type":"boolean","description":"Whether the field is locked."},"screensCount":{"type":"integer","description":"Number of screens where the field is used.","format":"int64"},"contextsCount":{"type":"integer","description":"Number of contexts where the field is used.","format":"int64"},"lastUsed":{"$ref":"#/components/schemas/FieldLastUsed"}},"additionalProperties":false,"description":"Details of a field."},"FieldLastUsed":{"type":"object","properties":{"type":{"type":"string","description":"Last used value type:\n\n * *TRACKED*: field is tracked and a last used date is available.\n * *NOT\\_TRACKED*: field is not tracked, last used date is not available.\n * *NO\\_INFORMATION*: field is tracked, but no last used date is available.","enum":["TRACKED","NOT_TRACKED","NO_INFORMATION"]},"value":{"type":"string","description":"The date when the value of the field last changed.","format":"date-time"}},"additionalProperties":false,"description":"Information about the most recent use of a field."},"PageBeanField":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Field"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field configuration scheme."},"name":{"type":"string","description":"The name of the field configuration scheme."},"description":{"type":"string","description":"The description of the field configuration scheme."}},"additionalProperties":false,"description":"Details of a field configuration scheme."},"PageBeanFieldConfigurationScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationScheme"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationIssueTypeItem":{"required":["fieldConfigurationId","fieldConfigurationSchemeId","issueTypeId"],"type":"object","properties":{"fieldConfigurationSchemeId":{"type":"string","description":"The ID of the field configuration scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. When set to *default* this field configuration issue type item applies to all issue types without a field configuration."},"fieldConfigurationId":{"type":"string","description":"The ID of the field configuration."}},"additionalProperties":false,"description":"The field configuration for an issue type."},"PageBeanFieldConfigurationIssueTypeItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationIssueTypeItem"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationSchemeProjects":{"required":["projectIds"],"type":"object","properties":{"fieldConfigurationScheme":{"$ref":"#/components/schemas/FieldConfigurationScheme"},"projectIds":{"type":"array","description":"The IDs of projects using the field configuration scheme.","items":{"type":"string","description":"The IDs of projects using the field configuration scheme."}}},"additionalProperties":false,"description":"Project list with assigned field configuration schema."},"PageBeanFieldConfigurationSchemeProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationSchemeProjects"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationSchemeProjectAssociation":{"required":["projectId"],"type":"object","properties":{"fieldConfigurationSchemeId":{"type":"string","description":"The ID of the field configuration scheme. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Associated field configuration scheme and project."},"FieldConfiguration":{"required":["description","id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the field configuration.","format":"int64"},"name":{"type":"string","description":"The name of the field configuration."},"description":{"type":"string","description":"The description of the field configuration."},"isDefault":{"type":"boolean","description":"Whether the field configuration is the default."}},"additionalProperties":false,"description":"Details of a field configuration."},"PageBeanFieldConfiguration":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfiguration"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationItem":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field within the field configuration."},"description":{"type":"string","description":"The description of the field within the field configuration."},"isHidden":{"type":"boolean","description":"Whether the field is hidden in the field configuration."},"isRequired":{"type":"boolean","description":"Whether the field is required in the field configuration."}},"additionalProperties":false,"description":"A field within a field configuration."},"PageBeanFieldConfigurationItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationItem"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these custom field option details.","format":"uri","readOnly":true},"value":{"type":"string","description":"The value of the custom field option.","readOnly":true}},"additionalProperties":false,"description":"Details of a custom option for a field.","xml":{"name":"customFieldOption"}},"ChangedWorklog":{"type":"object","properties":{"worklogId":{"type":"integer","description":"The ID of the worklog.","format":"int64","readOnly":true},"updatedTime":{"type":"integer","description":"The datetime of the change.","format":"int64","readOnly":true},"properties":{"type":"array","description":"Details of properties associated with the change.","readOnly":true,"items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":false,"description":"Details of a changed worklog."},"ChangedWorklogs":{"type":"object","properties":{"values":{"type":"array","description":"Changed worklog list.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangedWorklog"}},"since":{"type":"integer","description":"The datetime of the first worklog item in the list.","format":"int64","readOnly":true},"until":{"type":"integer","description":"The datetime of the last worklog item in the list.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of this changed worklogs list.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"The URL of the next list of changed worklogs.","format":"uri","readOnly":true},"lastPage":{"type":"boolean"}},"additionalProperties":false,"description":"List of changed worklogs."},"WorklogIdsRequestBean":{"required":["ids"],"type":"object","properties":{"ids":{"uniqueItems":true,"type":"array","description":"A list of worklog IDs.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false},"PageBeanScreenScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ScreenScheme"}}},"additionalProperties":false,"description":"A page of items."},"ScreenScheme":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen scheme.","format":"int64"},"name":{"type":"string","description":"The name of the screen scheme."},"description":{"type":"string","description":"The description of the screen scheme."},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme.","allOf":[{"$ref":"#/components/schemas/ScreenTypes"}]}},"additionalProperties":false,"description":"A screen scheme."},"ScreenTypes":{"required":["defaultScreen"],"type":"object","properties":{"edit":{"type":"integer","description":"The ID of the edit screen.","format":"int64"},"create":{"type":"integer","description":"The ID of the create screen.","format":"int64"},"view":{"type":"integer","description":"The ID of the view screen.","format":"int64"},"default":{"type":"integer","description":"The ID of the default screen. Required when creating a screen scheme.","format":"int64"}},"additionalProperties":false,"description":"The IDs of the screens for the screen types of the screen scheme.","writeOnly":true},"ScreenSchemeDetails":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen scheme. The maximum length is 255 characters.","writeOnly":true},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.","allOf":[{"$ref":"#/components/schemas/ScreenTypes"}]}},"additionalProperties":false,"description":"Details of a screen scheme."},"ScreenSchemeId":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen scheme.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"The ID of a screen scheme."},"UpdateScreenSchemeDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen scheme. The maximum length is 255 characters.","writeOnly":true},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.","allOf":[{"$ref":"#/components/schemas/UpdateScreenTypes"}]}},"additionalProperties":false,"description":"Details of a screen scheme."},"UpdateScreenTypes":{"type":"object","properties":{"edit":{"type":"string","description":"The ID of the edit screen. To remove the screen association, pass a null.","writeOnly":true},"create":{"type":"string","description":"The ID of the create screen. To remove the screen association, pass a null.","writeOnly":true},"view":{"type":"string","description":"The ID of the view screen. To remove the screen association, pass a null.","writeOnly":true},"default":{"type":"string","description":"The ID of the default screen. When specified, must include a screen ID as a default screen is required.","writeOnly":true}},"additionalProperties":false,"description":"The IDs of the screens for the screen types of the screen scheme.","writeOnly":true},"IssueTypeScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type scheme."},"name":{"type":"string","description":"The name of the issue type scheme."},"description":{"type":"string","description":"The description of the issue type scheme."},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme."},"isDefault":{"type":"boolean","description":"Whether the issue type scheme is the default."}},"additionalProperties":false,"description":"Details of an issue type scheme."},"PageBeanIssueTypeScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScheme"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeProjects":{"required":["projectIds"],"type":"object","properties":{"issueTypeScheme":{"description":"Details of an issue type scheme.","allOf":[{"$ref":"#/components/schemas/IssueTypeScheme"}]},"projectIds":{"type":"array","description":"The IDs of the projects using the issue type scheme.","items":{"type":"string"}}},"additionalProperties":false,"description":"Issue type scheme with a list of the projects that use it."},"PageBeanIssueTypeSchemeProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeSchemeProjects"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeMapping":{"required":["issueTypeId","issueTypeSchemeId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type."}},"additionalProperties":false,"description":"Issue type scheme item."},"PageBeanIssueTypeSchemeMapping":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeSchemeMapping"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeProjectAssociation":{"required":["issueTypeSchemeId","projectId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Details of the association between an issue type scheme and project."},"IssueTypeSchemeDetails":{"required":["issueTypeIds","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type scheme. The maximum length is 4000 characters.","writeOnly":true},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme. This ID must be included in `issueTypeIds`.","writeOnly":true},"issueTypeIds":{"type":"array","description":"The list of issue types IDs of the issue type scheme. At least one standard issue type ID is required.","writeOnly":true,"items":{"type":"string","writeOnly":true}}},"additionalProperties":false,"description":"Details of an issue type scheme and its associated issue types."},"IssueTypeSchemeID":{"required":["issueTypeSchemeId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme.","readOnly":true}},"additionalProperties":false,"description":"The ID of an issue type scheme."},"IssueTypeIDs":{"required":["issueTypeIds"],"type":"object","properties":{"issueTypeIds":{"type":"array","description":"List of issue type IDs.","items":{"type":"string"}}},"additionalProperties":false,"description":"A list of issue type IDs."},"IssueTypeSchemeUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type scheme. The maximum length is 4000 characters.","writeOnly":true},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme.","writeOnly":true}},"additionalProperties":false,"description":"Details of the name, description, and default issue type for an issue type scheme."},"OrderOfIssueTypes":{"required":["issueTypeIds"],"type":"object","properties":{"issueTypeIds":{"type":"array","description":"A list of the issue type IDs to move. The order of the issue type IDs in the list is the order they are given after the move.","writeOnly":true,"items":{"type":"string","writeOnly":true}},"after":{"type":"string","description":"The ID of the issue type to place the moved issue types after. Required if `position` isn't provided.","writeOnly":true},"position":{"type":"string","description":"The position the issue types should be moved to. Required if `after` isn't provided.","writeOnly":true,"enum":["First","Last"]}},"additionalProperties":false,"description":"An ordered list of issue type IDs and information about where to move them."},"IssueTypeScreenSchemeItem":{"required":["issueTypeId","issueTypeScreenSchemeId","screenSchemeId"],"type":"object","properties":{"issueTypeScreenSchemeId":{"type":"string","description":"The ID of the issue type screen scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. When set to *default* this issue type screen scheme item applies to all issue types without a screen scheme."},"screenSchemeId":{"type":"string","description":"The ID of the screen scheme."}},"additionalProperties":false,"description":"The screen scheme for an issue type."},"PageBeanIssueTypeScreenSchemeItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeItem"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeScreenScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type screen scheme."},"name":{"type":"string","description":"The name of the issue type screen scheme."},"description":{"type":"string","description":"The description of the issue type screen scheme."}},"additionalProperties":false,"description":"Details of an issue type screen scheme."},"IssueTypeScreenSchemesProjects":{"required":["projectIds"],"type":"object","properties":{"issueTypeScreenScheme":{"description":"Details of an issue type screen scheme.","allOf":[{"$ref":"#/components/schemas/IssueTypeScreenScheme"}]},"projectIds":{"type":"array","description":"The IDs of the projects using the issue type screen scheme.","items":{"type":"string"}}},"additionalProperties":false,"description":"Issue type screen scheme with a list of the projects that use it."},"PageBeanIssueTypeScreenSchemesProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemesProjects"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanIssueTypeScreenScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenScheme"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeScreenSchemeProjectAssociation":{"type":"object","properties":{"issueTypeScreenSchemeId":{"type":"string","description":"The ID of the issue type screen scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Associated issue type screen scheme and project."},"IssueTypeScreenSchemeDetails":{"required":["issueTypeMappings","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type screen scheme. The maximum length is 255 characters.","writeOnly":true},"issueTypeMappings":{"type":"array","description":"The IDs of the screen schemes for the issue type IDs and *default*. A *default* entry is required to create an issue type screen scheme, it defines the mapping for all issue types without a screen scheme.","writeOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeMapping"}}},"additionalProperties":false,"description":"The details of an issue type screen scheme."},"IssueTypeScreenSchemeMapping":{"required":["issueTypeId","screenSchemeId"],"type":"object","properties":{"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. Only issue types used in classic projects are accepted. An entry for *default* must be provided and defines the mapping for all issue types without a screen scheme.","writeOnly":true},"screenSchemeId":{"type":"string","description":"The ID of the screen scheme. Only screen schemes used in classic projects are accepted.","writeOnly":true}},"additionalProperties":false,"description":"The IDs of the screen schemes for the issue type IDs.","writeOnly":true},"IssueTypeScreenSchemeId":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type screen scheme.","readOnly":true}},"additionalProperties":false,"description":"The ID of an issue type screen scheme."},"IssueTypeScreenSchemeUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type screen scheme. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of an issue type screen scheme."},"EventNotification":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional event notification details in the response."},"id":{"type":"integer","description":"The ID of the notification.","format":"int64"},"notificationType":{"type":"string","description":"Identifies the recipients of the notification.","enum":["CurrentAssignee","Reporter","CurrentUser","ProjectLead","ComponentLead","User","Group","ProjectRole","EmailAddress","AllWatchers","UserCustomField","GroupCustomField"]},"parameter":{"type":"string","description":"The value of the `notificationType`:\n\n * `User` The `parameter` is the user account ID.\n * `Group` The `parameter` is the group name.\n * `ProjectRole` The `parameter` is the project role ID.\n * `UserCustomField` The `parameter` is the ID of the custom field.\n * `GroupCustomField` The `parameter` is the ID of the custom field."},"group":{"description":"The specified group.","allOf":[{"$ref":"#/components/schemas/GroupName"}]},"field":{"description":"The custom user or group field.","allOf":[{"$ref":"#/components/schemas/FieldDetails"}]},"emailAddress":{"type":"string","description":"The email address."},"projectRole":{"description":"The specified project role.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"user":{"description":"The specified user.","allOf":[{"$ref":"#/components/schemas/UserDetails"}]}},"additionalProperties":false,"description":"Details about a notification associated with an event."},"NotificationEvent":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the event. The event can be a [Jira system event](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or a [custom event](https://confluence.atlassian.com/x/AIlKLg).","format":"int64"},"name":{"type":"string","description":"The name of the event."},"description":{"type":"string","description":"The description of the event."},"templateEvent":{"description":"The template of the event. Only custom events configured by Jira administrators have template.","allOf":[{"$ref":"#/components/schemas/NotificationEvent"}]}},"additionalProperties":false,"description":"Details about a notification event."},"NotificationScheme":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional notification scheme details in the response."},"id":{"type":"integer","description":"The ID of the notification scheme.","format":"int64"},"self":{"type":"string"},"name":{"type":"string","description":"The name of the notification scheme."},"description":{"type":"string","description":"The description of the notification scheme."},"notificationSchemeEvents":{"type":"array","description":"The notification events and associated recipients.","items":{"$ref":"#/components/schemas/NotificationSchemeEvent"}},"scope":{"description":"The scope of the notification scheme.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"Details about a notification scheme."},"NotificationSchemeEvent":{"type":"object","properties":{"event":{"$ref":"#/components/schemas/NotificationEvent"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/EventNotification"}}},"additionalProperties":false,"description":"Details about a notification scheme event."},"PageBeanNotificationScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/NotificationScheme"}}},"additionalProperties":false,"description":"A page of items."},"ProjectIssueSecurityLevels":{"required":["levels"],"type":"object","properties":{"levels":{"type":"array","description":"Issue level security items list.","readOnly":true,"items":{"$ref":"#/components/schemas/SecurityLevel"}}},"additionalProperties":false,"description":"List of issue level security items in a project."},"BulkIssuePropertyUpdateRequest":{"type":"object","properties":{"value":{"description":"The value of the property. The value must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters."},"filter":{"description":"The bulk operation filter.","allOf":[{"$ref":"#/components/schemas/IssueFilterForBulkPropertySet"}]}},"additionalProperties":false,"description":"Bulk issue property update request details."},"IssueFilterForBulkPropertySet":{"type":"object","properties":{"entityIds":{"uniqueItems":true,"type":"array","description":"List of issues to perform the bulk operation on.","items":{"type":"integer","format":"int64"}},"currentValue":{"description":"The value of properties to perform the bulk operation on."},"hasProperty":{"type":"boolean","description":"Whether the bulk operation occurs only when the property is present on or absent from an issue."}},"additionalProperties":false,"description":"Bulk operation filter details."},"IssueFilterForBulkPropertyDelete":{"type":"object","properties":{"entityIds":{"uniqueItems":true,"type":"array","description":"List of issues to perform the bulk delete operation on.","items":{"type":"integer","format":"int64"}},"currentValue":{"description":"The value of properties to perform the bulk operation on."}},"additionalProperties":false,"description":"Bulk operation filter details."},"IssueEntityProperties":{"type":"object","properties":{"entitiesIds":{"maxItems":10000,"minItems":1,"uniqueItems":true,"type":"array","description":"A list of entity property IDs.","items":{"type":"integer","format":"int64"}},"properties":{"maxProperties":10,"minProperties":1,"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonNode"},"description":"A list of entity property keys and values."}},"additionalProperties":false,"description":"Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information."},"JsonNode":{"maxProperties":10,"minProperties":1,"type":"object","properties":{"textValue":{"type":"string"},"valueAsText":{"type":"string"},"fieldNames":{"type":"object"},"elements":{"type":"object"},"number":{"type":"boolean"},"pojo":{"type":"boolean"},"integralNumber":{"type":"boolean"},"floatingPointNumber":{"type":"boolean"},"int":{"type":"boolean"},"long":{"type":"boolean"},"double":{"type":"boolean"},"bigDecimal":{"type":"boolean"},"bigInteger":{"type":"boolean"},"textual":{"type":"boolean"},"boolean":{"type":"boolean"},"binary":{"type":"boolean"},"object":{"type":"boolean"},"missingNode":{"type":"boolean"},"valueNode":{"type":"boolean"},"containerNode":{"type":"boolean"},"valueAsInt":{"type":"integer","format":"int32"},"valueAsLong":{"type":"integer","format":"int64"},"valueAsDouble":{"type":"number","format":"double"},"valueAsBoolean":{"type":"boolean"},"numberValue":{"type":"number"},"numberType":{"type":"string","enum":["INT","LONG","BIG_INTEGER","FLOAT","DOUBLE","BIG_DECIMAL"]},"intValue":{"type":"integer","format":"int32"},"longValue":{"type":"integer","format":"int64"},"bigIntegerValue":{"type":"integer"},"doubleValue":{"type":"number","format":"double"},"decimalValue":{"type":"number"},"booleanValue":{"type":"boolean"},"binaryValue":{"type":"array","items":{"type":"string","format":"byte"}},"array":{"type":"boolean"},"fields":{"type":"object"},"null":{"type":"boolean"}},"additionalProperties":false},"JqlQueriesToParse":{"required":["queries"],"type":"object","properties":{"queries":{"minLength":1,"type":"array","description":"A list of queries to parse.","items":{"minLength":1,"type":"string"}}},"additionalProperties":false,"description":"A list of JQL queries to parse.","writeOnly":true},"CompoundClause":{"required":["clauses","operator"],"type":"object","properties":{"clauses":{"type":"array","description":"The list of nested clauses.","items":{"$ref":"#/components/schemas/JqlQueryClause"}},"operator":{"type":"string","description":"The operator between the clauses.","enum":["and","or","not"]}},"description":"A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A OR B) AND C\". See Setting the precedence of operators for more information about precedence in JQL queries.`"},"FieldChangedClause":{"required":["field","operator","predicates"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator applied to the field.","enum":["changed"]},"predicates":{"type":"array","description":"The list of time predicates.","items":{"$ref":"#/components/schemas/JqlQueryClauseTimePredicate"}}},"description":"A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator."},"FieldValueClause":{"required":["field","operand","operator"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator between the field and operand.","enum":["=","!=",">","<",">=","<=","in","not in","~","~=","is","is not"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"}},"description":"A clause that asserts the current value of a field. For example, `summary ~ test`."},"FieldWasClause":{"required":["field","operand","operator","predicates"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator between the field and operand.","enum":["was","was in","was not in","was not"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"},"predicates":{"type":"array","description":"The list of time predicates.","items":{"$ref":"#/components/schemas/JqlQueryClauseTimePredicate"}}},"description":"A clause that asserts a previous value of a field. For example, `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator."},"FunctionOperand":{"required":["function"],"type":"object","properties":{"function":{"type":"string","description":"The name of the function."},"arguments":{"type":"array","description":"The list of function arguments.","items":{"type":"string"}}},"description":"An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions."},"JqlQuery":{"type":"object","properties":{"where":{"$ref":"#/components/schemas/JqlQueryClause"},"orderBy":{"$ref":"#/components/schemas/JqlQueryOrderByClause"}},"additionalProperties":false,"description":"A parsed JQL query."},"JqlQueryClause":{"type":"object","additionalProperties":false,"description":"A JQL query clause.","anyOf":[{"$ref":"#/components/schemas/CompoundClause"},{"$ref":"#/components/schemas/FieldValueClause"},{"$ref":"#/components/schemas/FieldWasClause"},{"$ref":"#/components/schemas/FieldChangedClause"}]},"JqlQueryClauseOperand":{"type":"object","description":"Details of an operand in a JQL clause.","anyOf":[{"$ref":"#/components/schemas/ListOperand"},{"$ref":"#/components/schemas/ValueOperand"},{"$ref":"#/components/schemas/FunctionOperand"},{"$ref":"#/components/schemas/KeywordOperand"}]},"JqlQueryClauseTimePredicate":{"required":["operand","operator"],"type":"object","properties":{"operator":{"type":"string","description":"The operator between the field and the operand.","enum":["before","after","from","to","on","during","by"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"}},"description":"A time predicate for a temporal JQL clause."},"JqlQueryField":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field."},"property":{"type":"array","description":"When the field refers to a value in an entity property, details of the entity property value.","items":{"$ref":"#/components/schemas/JqlQueryFieldEntityProperty"}}},"additionalProperties":false,"description":"A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries."},"JqlQueryFieldEntityProperty":{"required":["entity","key","path"],"type":"object","properties":{"entity":{"type":"string","description":"The object on which the property is set.","example":"issue"},"key":{"type":"string","description":"The key of the property.","example":"stats"},"path":{"type":"string","description":"The path in the property value to query.","example":"comments.count"},"type":{"type":"string","description":"The type of the property value extraction. Not available if the extraction for the property is not registered on the instance with the [Entity property](https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/) module.","example":"number","enum":["number","string","text","date","user"]}},"description":"Details of an entity property."},"JqlQueryOrderByClause":{"required":["fields"],"type":"object","properties":{"fields":{"type":"array","description":"The list of order-by clause fields and their ordering directives.","items":{"$ref":"#/components/schemas/JqlQueryOrderByClauseElement"}}},"additionalProperties":false,"description":"Details of the order-by JQL clause."},"JqlQueryOrderByClauseElement":{"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"direction":{"type":"string","description":"The direction in which to order the results.","enum":["asc","desc"]}},"additionalProperties":false,"description":"An element of the order-by JQL clause."},"JqlQueryUnitaryOperand":{"type":"object","description":"An operand that can be part of a list operand.","anyOf":[{"$ref":"#/components/schemas/ValueOperand"},{"$ref":"#/components/schemas/FunctionOperand"},{"$ref":"#/components/schemas/KeywordOperand"}]},"KeywordOperand":{"required":["keyword"],"type":"object","properties":{"keyword":{"type":"string","description":"The keyword that is the operand value.","enum":["empty"]}},"description":"An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords."},"ListOperand":{"type":"object","properties":{"values":{"minLength":1,"type":"array","description":"The list of operand values.","items":{"$ref":"#/components/schemas/JqlQueryUnitaryOperand"}}},"description":"An operand that is a list of values."},"ParsedJqlQueries":{"required":["queries"],"type":"object","properties":{"queries":{"minLength":1,"type":"array","description":"A list of parsed JQL queries.","items":{"$ref":"#/components/schemas/ParsedJqlQuery"}}},"additionalProperties":false,"description":"A list of parsed JQL queries."},"ParsedJqlQuery":{"minLength":1,"required":["query"],"type":"object","properties":{"query":{"type":"string","description":"The JQL query that was parsed and validated."},"structure":{"description":"The syntax tree of the query. Empty if the query was invalid.","allOf":[{"$ref":"#/components/schemas/JqlQuery"}]},"errors":{"uniqueItems":true,"type":"array","description":"The list of syntax or validation errors.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of a parsed JQL query."},"ValueOperand":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The operand value."}},"description":"An operand that is a user-provided value."},"IssueTypeInfo":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue type.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"avatarId":{"type":"integer","description":"The avatar of the issue type.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details of an issue type."},"ProjectIssueTypeHierarchy":{"type":"object","properties":{"projectId":{"type":"integer","description":"The ID of the project.","format":"int64","readOnly":true},"hierarchy":{"type":"array","description":"Details of an issue type hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueTypesHierarchyLevel"}}},"additionalProperties":false,"description":"The hierarchy of issue types within a project."},"ProjectIssueTypesHierarchyLevel":{"type":"object","properties":{"entityId":{"type":"string","description":"The ID of the issue type hierarchy level.","format":"uuid","readOnly":true},"level":{"type":"integer","description":"The level of the issue type hierarchy level.","format":"int32","readOnly":true},"name":{"type":"string","description":"The name of the issue type hierarchy level.","readOnly":true},"issueTypes":{"type":"array","description":"The list of issue types in the hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeInfo"}}},"additionalProperties":false,"description":"Details of an issue type hierarchy level."},"OperationMessage":{"required":["message","statusCode"],"type":"object","properties":{"message":{"type":"string","description":"The human-readable message that describes the result."},"statusCode":{"type":"integer","description":"The status code of the response."}},"additionalProperties":false,"example":{"message":"An example message.","statusCode":200}},"ErrorMessage":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"The error message."}},"additionalProperties":false,"example":{"message":"The request is not from a Connect app."}},"ConnectModules":{"required":["modules"],"type":"object","properties":{"modules":{"type":"array","description":"A list of app modules in the same format as the `modules` property in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).","items":{"$ref":"#/components/schemas/ConnectModule"}}},"example":{"jiraEntityProperties":[{"keyConfigurations":[{"extractions":[{"objectName":"extension","type":"text","alias":"attachmentExtension"}],"propertyKey":"attachment"}],"entityType":"issue","name":{"value":"Attachment Index Document"},"key":"dynamic-attachment-entity-property"}],"jiraIssueFields":[{"description":{"value":"A dynamically added single-select field"},"type":"single_select","extractions":[{"path":"category","type":"text","name":"categoryName"}],"name":{"value":"Dynamic single select"},"key":"dynamic-select-field"}]}},"ConnectModule":{"type":"object","description":"A [Connect module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/) in the same format as in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).","example":{"description":{"value":"field with team"},"type":"single_select","extractions":[{"path":"category","type":"text","name":"categoryName"}],"name":{"value":"Team"},"key":"team-field"}}},"securitySchemes":{"basicAuth":{"type":"http","description":"You can access this resource via basic auth.","scheme":"basic"},"OAuth2":{"type":"oauth2","description":"OAuth2 scopes for Jira","flows":{"authorizationCode":{"authorizationUrl":"https://auth.atlassian.com/authorize","tokenUrl":"https://auth.atlassian.com/oauth/token","scopes":{"read:jira-user":"View user information in Jira that you have access to, including usernames, email addresses, and avatars.","read:jira-work":"Read project and issue data. Search for issues and objects associated with issues (such as attachments and worklogs).","write:jira-work":"Create and edit issues in Jira, post comments, create worklogs, and delete issues.","manage:jira-project":"Create and edit project settings and create new project-level objects, for example, versions, components.","manage:jira-configuration":"Configure Jira settings that require the Jira administrators permission, for example, create projects and custom fields, view workflows, manage issue link types."}}}}}},"x-atlassian-narrative":{"documents":[{"title":"About","anchor":"about","body":"The Jira REST API enables you to interact with Jira programmatically. Use this API to \n[build apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/), script interactions with \nJira, or develop any other type of integration. This page documents the REST resources available in Jira Cloud, including \nthe HTTP response codes and example requests and responses."},{"title":"Version and URI","anchor":"version","body":"This documentation is for **version 2** of the Jira Cloud platform REST API, which is the current stable version. The URIs \nfor resources have the following structure:\n\n`https:///rest/api/2/`\n\nFor example,\n`https://your-domain.atlassian.net/rest/api/2/issue/DEMO-1`\n\nNote that the latest version of the Jira Cloud platform REST API is [version 3](https://developer.atlassian.com/cloud/jira/platform/rest/v3/), \nwhich is in beta. While all endpoints from the version 2 API are available in version 3, they are under development and may change. "},{"title":"Authentication and authorization","anchor":"authentication","body":"### Connect apps\n\nFor Connect apps, authentication (JWT-based) is built into the Connect libraries. Authorization is implemented using either \nscopes (shown as _App scope required_ for operations on this page) or user impersonation. See \n[Security for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/) \nfor details.\n\n### Other integrations\n\nFor integrations that are not Connect apps, use OAuth 2.0 authorization code grants (3LO) for security \n(3LO scopes are shown as _OAuth scopes required_ for operations on this page). Basic authentication is also available, \nbut you should only use it for tools such as personal scripts or bots. See \n[Security for other integrations](https://developer.atlassian.com/cloud/jira/platform/security-for-other-integrations/) \nfor details."},{"title":"Permissions","anchor":"permissions","body":"### Operation permissions\n\nMost operations in this API require permissions. The calling user must have the required permissions for an operation to \nuse it. Note that for Connect apps, the app user must have the required permissions for the operation and the app must \nhave scopes that permit the operation.\n\nA permission can be granted to a group, project role, or issue role that the user is a member of, or granted directly to a user. \nSee [Permissions overview](https://confluence.atlassian.com/x/FQiiLQ) for details. The most common permissions are:\n\n- **Administer the Cloud site**: Users in the _site-admins_ group have this \npermission. See [Manage groups](https://confluence.atlassian.com/x/24xjL) for details.\n- **Administer Jira**: Granted by the _Jira Administrators_ global permission. Users in the _administrators_ group have this \npermission. See [Manage groups](https://confluence.atlassian.com/x/24xjL) and \n[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg) for details.\n- **Administer a project in Jira**: Granted by the _Administer projects_ project permission for a project. This can be \ngranted to a user, a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for details.\n- **Access a project in Jira**: Granted by the _Browse projects_ project permission for a project. This can be \ngranted to a user, a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for details.\n- **Access Jira**: Granted by the _Jira Users_ global permission. Users in the _\\[product]-users_ (for example, \n_jira-software-users_) group have this permission. \nSee [Manage groups](https://confluence.atlassian.com/x/24xjL) and \n[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg) for details.\n\n### Anonymous access\n\nSome operations provide support for anonymous access. However, anonymous access is only available if \nthe Jira permission needed to access the object or records returned by the operation is granted to \nthe _Public_ group. See [Allowing anonymous access to your project](https://confluence.atlassian.com/x/GDxxLg) \nfor details.\n\nIf an operation is called anonymously and anonymous access is not available, the operation will return \nan error. Note that not all operations that correspond to objects that can be given public access \nprovide for anonymous access."},{"title":"Expansion, pagination, and ordering","anchor":"expansion","body":"### Expansion\n\nThe Jira REST API uses resource expansion, which means that some parts of a resource are not returned unless specified \nin the request. This simplifies responses and minimizes network traffic.\n\nTo expand part of a resource in a request, use the expand query parameter and specify the object(s) to be expanded. \nIf you need to expand nested objects, use the `.` dot notation. If you need to expand multiple objects, use a \ncomma-separated list. \n\nFor example, the following request expands the `names` and `renderedFields` properties for the _JRACLOUD-34423_ issue:\n\n`GET issue/JRACLOUD-34423?expand=names,renderedFields`\n\nTo discover which object can be expanded, refer to the `expand` property in the object. \nIn the JSON example below, the resource declares `widgets` as expandable.\n\n```json\n{\n \"expand\": \"widgets\", \n \"self\": \"https://your-domain.atlassian.net/rest/api/3/resource/KEY-1\", \n \"widgets\": {\n \"widgets\": [],\n \"size\": 5\n }\n}\n```\n\n### Pagination\n\nThe Jira REST API uses pagination to improve performance. Pagination is enforced for operations that could return a large \ncollection of items. When you make a request to a paginated resource, the response wraps the returned array of values in \na JSON object with paging metadata. For example:\n\n```json\n{\n \"startAt\" : 0,\n \"maxResults\" : 10,\n \"total\": 200,\n \"isLast\": false,\n \"values\": [\n { /* result 0 */ },\n { /* result 1 */ },\n { /* result 2 */ }\n ]\n}\n```\n\n* `startAt` is the index of the first item returned in the page.\n* `maxResults` is the maximum number of items that a page can return. Each operation can have a different limit for\n the number of items returned, and these limits may change without notice. To find the maximum number of items \n that an operation could return, set `maxResults` to a large number—for example, over 1000—and if the returned value of `maxResults` is less than the requested value, the returned value is the maximum.\n* `total` is the total number of items contained in all pages. This number **_may change_** as the client \nrequests the subsequent pages, therefore the client should always assume that the requested page can be empty. Note \nthat this property is not returned for all operations.\n* `isLast` indicates whether the page returned is the last one. Note that this property is not returned for all operations.\n\n### Ordering\n\nSome operations support ordering the elements of a response by a field. Check the documentation for the operation to \nconfirm whether ordering of a response is supported and which fields can be used. Responses are listed in ascending order \nby default. You can change the order using the `orderby` query parameter with a `-` or `+` symbol. For example:\n\n* `?orderBy=name` to order by `name` field ascending.\n* `?orderBy=+name` to order by `name` field ascending.\n* `?orderBy=-name` to order by `name` field descending.\n\n\n"},{"title":"Special headers","anchor":"special-request-headers","body":"The following request and response headers define important metadata for the Jira Cloud REST API resources.\n\n- `X-Atlassian-Token` (request): Operations that accept multipart/form-data must include the `X-Atlassian-Token: no-check`\nheader in requests. Otherwise the request will be blocked by cross-site request forgery (CSRF/XSRF) protection.\n- `X-Force-Accept-Language` (request): controls how the standard HTTP `Accept-Language` header is processed.\nBy default `Accept-Language` is ignored and the response is in the language configured in the user's profile or,\nwhen no language is configured for the user, the default Jira instance language. For the response to recognize\n`Accept-Language` send `X-Force-Accept-Language = true` as well. If `Accept-Language` requests a language that Jira\ncan return the response is in that language, otherwise Jira returns the response in the default language. If\n`Accept-Language` is not specified the response is in the default language.\n- `X-AccountId` (response): This response header contains the Atlassian account ID of the authenticated user."},{"title":"Anonymous operations","anchor":"anonymous-operations","body":" Jira provides for all permissions, except the [global permission](https://confluence.atlassian.com/x/x4dKLg) Administer Jira, to be assigned to *Anyone*. Once a permission is assigned to *Anyone*, anyone knowing a project's URL is able to use the features in Jira enabled by the permission. However, the Jira REST API does not enable anonymous access for operations by default. This means that an anonymous user who may be able to perform an action through Jira, may not be able to perform the same action where it's enabled by the REST API. \n\n The operations that provide anonymous access are annotated \"This operation can be accessed anonymously.\""},{"title":"Asynchronous operations","anchor":"async-operations","body":"Some Jira REST API operations may trigger long-running or computationally expensive tasks. In these cases, the operation \nwill schedule an asynchronous task and return a `303 (See Other)` response, indicating the location of the queued task \nin the `Location` header. You can query this task to get progress updates.\n\nWhen the task finishes, the response object will contain the `result` field. The content of the field is specific to the \noperation that created the task. Refer to the operation’s documentation for more information.\n\nNote that asynchronous tasks are not guaranteed to be run in order. In other words, if you need your tasks to execute \nin a certain order, you should start a task only after the prerequisite task(s) have finished."},{"title":"Experimental features","anchor":"experimental","body":"Features and methods marked as experimental may change without notice. Feedback on experimental functionality is welcome. \nReport your suggestions and bugs in the [ACJIRA project](https://ecosystem.atlassian.net/projects/ACJIRA) (preferred) or use the \n**Give docs feedback** link at the top of this page. \n"},{"title":"Status codes","anchor":"status-codes","body":"The Jira Cloud platform REST API uses the [standard HTTP status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).\n\nOperations that return an error status code may also return a response body containing details of the error or errors. \nThe schema for the response body is shown below:\n\n\n```json\n{\n \"id\": \"https://docs.atlassian.com/jira/REST/schema/error-collection#\",\n \"title\": \"Error Collection\",\n \"type\": \"object\",\n \"properties\": {\n \"errorMessages\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"errors\": {\n \"type\": \"object\",\n \"patternProperties\": {\n \".+\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"status\": { \n \"type\": \"integer\"\n }\n },\n \"additionalProperties\": false\n}\n```"}]}} \ No newline at end of file +{"openapi":"3.0.1","info":{"title":"The Jira Cloud platform REST API","description":"Jira Cloud platform REST API documentation","termsOfService":"http://atlassian.com/terms/","contact":{"email":"ecosystem@atlassian.com"},"license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"version":"1001.0.0-SNAPSHOT"},"externalDocs":{"description":"Find out more about Atlassian products and services.","url":"http://www.atlassian.com"},"servers":[{"url":"https://your-domain.atlassian.net"}],"tags":[{"name":"Application roles","description":"This resource represents application roles. Use it to get details of an application role or all application roles."},{"name":"Audit records","description":"This resource represents audits that record activities undertaken in Jira. Use it to get a list of audit records."},{"name":"Avatars","description":"This resource represents system and custom avatars. Use it to obtain the details of system or custom avatars as well as add and remove avatars from a project or issue type."},{"name":"Dashboards","description":"This resource represents dashboards. Use it to obtain the details of dashboards as well as add and remove item properties from dashboards."},{"name":"Filters","description":"This resource represents [filters](https://confluence.atlassian.com/x/eQiiLQ). Use it to get, create, update, or delete filters. Also use it to configure the columns for a filter and set favorite filters."},{"name":"Filter sharing","description":"This resource represents options for sharing [filters](#api-group-Filters). Use it to get share scopes as well as add and remove share scopes from filters."},{"name":"Group and user picker","description":"This resource represents a list of users and a list of groups. Use it to obtain the details to populate user and group picker suggestions list."},{"name":"Groups","description":"This resource represents groups of users. Use it to get, create, find, and delete groups as well as add and remove users from groups."},{"name":"Instance information","description":"This resource represents information about the Jira instance. Use it to get license details."},{"name":"Issues","description":"This resource represents Jira issues. Use it to:\n\n * create or edit issues, individually or in bulk.\n * retrieve metadata about the options for creating or editing issues.\n * delete an issue.\n * assign a user to an issue.\n * get issue changelogs.\n * send notifications about an issue.\n * get details of the transitions available for an issue.\n * transition an issue."},{"name":"Issue attachments","description":"This resource represents issue attachments and the attachment settings for Jira. Use it to get the metadata for an attachment, delete an attachment, and view the metadata for the contents of an attachment. Also, use it to get the attachment settings for Jira."},{"name":"Issue comments","description":"This resource represents issue comments. Use it to:\n\n * get, create, update, and delete a comment from an issue.\n * get all comments from issue.\n * get a list of comments by comment ID."},{"name":"Issue comment properties","description":"This resource represents [issue comment](#api-group-Issue-comments) properties, which provides for storing custom data against an issue comment. Use is to get, set, and delete issue comment properties as well as obtain the keys of all properties on a comment. Comment properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue fields","description":"This resource represents issue fields, both system and custom fields. Use it to get fields, field configurations, and create custom fields."},{"name":"Issue field configurations","description":"This resource represents issue field configurations. Use it to get, set, and delete field configurations and field configuration schemes."},{"name":"Issue custom field contexts","description":"This resource represents issue custom field contexts. Use it to:\n\n * get, create, update, and delete custom field contexts.\n * get context to issue types and projects mappings.\n * get custom field contexts for projects and issue types.\n * assign custom field contexts to projects.\n * remove custom field contexts from projects.\n * add issue types to custom field contexts."},{"name":"Issue custom field options","description":"This resource represents custom issue field select list options created in Jira or using the REST API. This resource supports the following field types:\n\n * Checkboxes.\n * Radio Buttons.\n * Select List (single choice).\n * Select List (multiple choices).\n * Select List (cascading).\n\nSee [Issue custom field options (apps)](#api-group-Issue-custom-field-options--apps-) to manipulate custom issue field select list options created by a Connect app.\n\nUse it to retrieve, create, update, order, and delete custom field options."},{"name":"Issue custom field options (apps)","description":"This resource represents custom issue field select list options created by a Connect app. See [Issue custom field options](#api-group-Issue-custom-field-options) to manipulate options created in Jira or using the REST API.\n\nA select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select an option from a list. Use it to add, remove, and update the options of a select list issue field."},{"name":"Issue custom field values (apps)","description":"This resource represents the values of custom fields added by [Forge apps](https://developer.atlassian.com/platform/forge/). Use it to update the value of a custom field on issues."},{"name":"Issue custom field configuration (apps)","description":"This resource represents configurations stored against a custom field context by a [Forge app](https://developer.atlassian.com/platform/forge/). Configurations are information used by the Forge app at runtime to determine how to handle or process the data in a custom field in a given context. Use this resource to set and read configurations."},{"name":"Issue links","description":"This resource represents links between issues. Use it to get, create, and delete links between issues.\n\nTo use it, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled."},{"name":"Issue link types","description":"This resource represents [issue link](#api-group-Issue-links) types. Use it to get, create, update, and delete link issue types as well as get lists of all link issue types.\n\nTo use it, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled."},{"name":"Issue navigator settings","description":"This resource represents issue navigator settings. Use it to get and set issue navigator default columns."},{"name":"Issue notification schemes","description":"This resource represents notification schemes, lists of events and the recipients who will receive notifications for those events. Use it to get details of a notification scheme and a list of notification schemes."},{"name":"Issue priorities","description":"This resource represents issue priorities. Use it to obtain a list of issue priorities and details for individual issue priorities."},{"name":"Issue properties","description":"This resource represents [issue](#api-group-Issues) properties, which provides for storing custom data against an issue. Use it to get, set, and delete issue properties as well as obtain details of all properties on an issue. Operations to bulk update and delete issue properties are also provided. Issue properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue remote links","description":"This resource represents remote issue links, a way of linking Jira to information in other systems. Use it to get, create, update, and delete remote issue links either by ID or global ID. The global ID provides a way of accessing remote issue links using information about the item's remote system host and remote system identifier."},{"name":"Issue resolutions","description":"This resource represents issue resolution values. Use it to obtain a list of all issue resolution values and the details of individual resolution values."},{"name":"Issue search","description":"This resource represents various ways to search for issues. Use it to search for issues with a JQL query and find issues to populate an issue picker."},{"name":"Issue security level","description":"This resource represents issue security levels. Use it to obtain the details of any issue security level. For more information about issue security levels, see [Configuring issue-level security](https://confluence.atlassian.com/x/J4lKLg)."},{"name":"Issue security schemes","description":"This resource represents issue security schemes. Use it to get an issue security scheme or list of issues security schemes.\n\nIssue security schemes control which users or groups of users can view an issue. When an issue security scheme is associated with a project, its security levels can be applied to issues in that project. Sub-tasks also inherit the security level of their parent issue."},{"name":"Issue types","description":"This resource represents issues types. Use it to:\n\n * get, create, update, and delete issue types.\n * get all issue types for a user.\n * get alternative issue types.\n * set an avatar for an issue type."},{"name":"Issue type schemes","description":"This resource represents issue type schemes in classic projects. Use it to:\n\n * get issue type schemes and a list of the projects that use them.\n * associate issue type schemes with projects.\n * add issue types to issue type schemes.\n * delete issue types from issue type schemes.\n * create, update, and delete issue type schemes.\n * change the order of issue types in issue type schemes."},{"name":"Issue type screen schemes","description":"This resource represents issue type screen schemes. Use it to:\n\n * get issue type screen schemes and a list of the projects that use them.\n * create issue type screen schemes.\n * update issue type screen schemes.\n * delete issue type screen schemes.\n * associate issue type screen schemes with projects.\n * append issue type to screen scheme mappings to issue type screen schemes.\n * remove issue type to screen scheme mappings from issue type screen schemes.\n * update default screen scheme of issue type screen scheme."},{"name":"Issue type properties","description":"This resource represents [issue type](#api-group-Issue-types) properties, which provides for storing custom data against an issue type. Use it to get, create, and delete issue type properties as well as obtain the keys of all properties on a issues type. Issue type properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue votes","description":"This resource represents votes cast by users on an issue. Use it to get details of votes on an issue as well as cast and withdrawal votes."},{"name":"Issue watchers","description":"This resource represents users watching an issue. Use it to get details of users watching an issue as well as start and stop a user watching an issue."},{"name":"Issue worklogs","description":"This resource represents issue worklogs. Use it to:\n\n * get, create, update, and delete worklogs.\n * obtain lists of updated or deleted worklogs."},{"name":"Issue worklog properties","description":"This resource represents [issue worklog](#api-group-Issue-worklogs) properties, which provides for storing custom data against an issue worklog. Use it to get, create, and delete issue worklog properties as well as obtain the keys of all properties on a issue worklog. Issue worklog properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Jira expressions","description":"This resource is a collection of operations for [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/)."},{"name":"Jira settings","description":"This resource represents various settings in Jira. Use it to get and update Jira settings and properties."},{"name":"JQL","description":"This resource represents JQL search auto-complete details. Use it to obtain JQL search auto-complete data and suggestions for use in programmatic construction of queries or custom query builders. It also provides an operation to convert one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs."},{"name":"Labels","description":"This resource represents available labels. Use it to get available labels for the global label field."},{"name":"Myself","description":"This resource represents information about the current user, such as basic details, group membership, application roles, preferences, and locale. Use it to get, create, update, and delete (restore default) values of the user's preferences and locale."},{"name":"Permissions","description":"This resource represents permissions. Use it to obtain details of all permissions and determine whether the user has certain permissions."},{"name":"Permission schemes","description":"This resource represents permission schemes. Use it to get, create, update, and delete permission schemes as well as get, create, update, and delete details of the permissions granted in those schemes."},{"name":"Projects","description":"This resource represents projects. Use it to get, create, update, and delete projects. Also get statuses available to a project, a project's notification schemes, and update a project's type."},{"name":"Project avatars","description":"This resource represents avatars associated with a project. Use it to get, load, set, and remove project avatars."},{"name":"Project categories","description":"This resource represents project categories. Use it to create, update, and delete project categories as well as obtain a list of all project categories and details of individual categories. For more information on managing project categories, see [Adding, assigning, and deleting project categories](https://confluence.atlassian.com/x/-A5WMg)."},{"name":"Project components","description":"This resource represents project components. Use it to get, create, update, and delete project components. Also get components for project and get a count of issues by component."},{"name":"Project email","description":"This resource represents the email address used to send a project's notifications. Use it to get and set the [project's sender email address](https://confluence.atlassian.com/x/dolKLg)."},{"name":"Project features","description":"This resource represents project features. Use it to get the list of features for a project and modify the state of a feature."},{"name":"Project key and name validation","description":"This resource provides validation for project keys and names."},{"name":"Project permission schemes","description":"This resource represents permission schemes for a project. Use this resource to:\n\n * get details of a project's issue security levels available to the calling user.\n * get the permission scheme associated with the project or assign different permission scheme to the project.\n * get details of a project's issue security scheme.\n\nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes."},{"name":"Project properties","description":"This resource represents [project](#api-group-Projects) properties, which provides for storing custom data against a project. Use it to get, create, and delete project properties as well as get a list of property keys for a project. Project properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Project roles","description":"This resource represents the roles that users can play in projects. Use this resource to get, create, update, and delete project roles."},{"name":"Project role actors","description":"This resource represents the users assigned to [project roles](#api-group-Issue-comments). Use it to get, add, and remove default users from project roles. Also use it to add and remove users from a project role associated with a project."},{"name":"Project types","description":"This resource represents project types. Use it to obtain a list of all project types, a list of project types accessible to the calling user, and details of a project type."},{"name":"Project versions","description":"This resource represents project versions. Use it to get, get lists of, create, update, move, merge, and delete project versions. This resource also provides counts of issues by version."},{"name":"Screens","description":"This resource represents the screens used to record issue details. Use it to:\n\n * get details of all screens.\n * get details of all the fields available for use on screens.\n * create screens.\n * delete screens.\n * update screens.\n * add a field to the default screen."},{"name":"Screen tabs","description":"This resource represents the screen tabs used to record issue details. Use it to get, create, update, move, and delete screen tabs."},{"name":"Screen tab fields","description":"This resource represents the screen tab fields used to record issue details. Use it to get, add, move, and remove fields from screen tabs."},{"name":"Screen schemes","description":"This resource represents screen schemes in classic projects. Use it to get, create, update, and delete screen schemes."},{"name":"Server info","description":"This resource provides information about the Jira instance."},{"name":"Tasks","description":"This resource represents a [long-running asynchronous tasks](#async-operations). Use it to obtain details about the progress of a long-running task or cancel a long-running task."},{"name":"Time tracking","description":"This resource represents time tracking and time tracking providers. Use it to get and set the time tracking provider, get and set the time tracking options, and disable time tracking."},{"name":"Users","description":"This resource represent users. Use it to:\n\n * get, get a list of, create, and delete users.\n * get, set, and reset a user's default issue table columns.\n * get a list of the groups the user belongs to.\n * get a list of user account IDs for a list of usernames or user keys."},{"name":"User properties","description":"This resource represents [user](#api-group-Users) properties and provides for storing custom data against a user. Use it to get, create, and delete user properties as well as get a list of property keys for a user. This resourse is designed for integrations and apps to store per-user data and settings. This enables data used to customized the user experience to be kept in the Jira Cloud instance's database. User properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).\n\nThis resource does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira."},{"name":"User search","description":"This resource represents various ways to search for and find users. Use it to obtain list of users including users assignable to projects and issues, users with permissions, user lists for pickup fields, and user lists generated using structured queries. Note that the operations in this resource only return users found within the first 1000 users."},{"name":"Webhooks","description":"This resource represents webhooks. Webhooks are calls sent to a URL when an event occurs in Jira for issues specified by a JQL query. Only Connect and OAuth 2.0 apps can register and manage webhooks. For more information, see [Webhooks](https://developer.atlassian.com/cloud/jira/platform/webhooks/#registering-a-webhook-via-the-jira-rest-api-for-connect-apps)."},{"name":"Workflows","description":"This resource represents workflows. Use it to:\n\n * get workflows.\n * create workflows.\n * delete inactive workflows."},{"name":"Workflow transition rules","description":"This resource represents workflow transition rules. Workflow transition rules define a Connect app routine, such as a [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) that is executed in association with the workflow. Use it to read and modify configuration of workflow transition rules."},{"name":"Workflow schemes","description":"This resource represents workflow schemes. Use it to manage workflow schemes and the workflow scheme's workflows and issue types.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. When an active workflow scheme is edited, a draft copy of the scheme is created. The draft workflow scheme is then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information."},{"name":"Workflow scheme project associations","description":"This resource represents the associations between workflow schemes and projects.\n\nFor more information, see [Managing your workflows](https://confluence.atlassian.com/x/q4hKLg)."},{"name":"Workflow scheme drafts","description":"This resource represents draft workflow schemes. Use it to manage drafts of workflow schemes.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. Editing an active workflow scheme creates a draft copy of the scheme. The draft workflow scheme can then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information."},{"name":"Workflow statuses","description":"This resource represents issue workflow statuses. Use it to obtain a list of all statuses associated with workflows and the details of a status."},{"name":"Workflow status categories","description":"This resource represents status categories. Use it to obtain a list of all status categories and the details of a category. Status categories provided a mechanism for categorizing [statuses](#api-group-Workflow-statuses)."},{"name":"Workflow transition properties","description":"This resource represents workflow transition properties, which provides for storing custom data against a workflow transition. Use it to get, create, and delete workflow transition properties as well as get a list of property keys for a workflow transition. Workflow transition properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"App properties","description":"This resource represents app properties. Use it to store arbitrary data for your\n[Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps)."},{"name":"Dynamic modules","description":"This resource represents [modules registered dynamically](https://developer.atlassian.com/cloud/jira/platform/dynamic-modules/)\nby [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps)."},{"name":"App migration","description":"This resource supports [app migrations](https://developer.atlassian.com/platform/app-migration/). Use it to:\n- [to request migrated workflow rules details](https://developer.atlassian.com/platform/app-migration/migration-app-workflow-rules/).\n- perform bulk updates of entity properties.\n- [perform bulk updates of issue custom field values](https://developer.atlassian.com/platform/app-migration/migrating-app-custom-fields/)."}],"paths":{"/rest/api/2/app/field/{fieldIdOrKey}/context/configuration":{"get":{"tags":["Issue custom field configuration (apps)"],"summary":"Get custom field configurations","description":"Returns a [paginated](#pagination) list of configurations for a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/).\n\nThe result can be filtered by one of these criteria:\n\n * `contextId`.\n * `issueId`.\n * `projectKeyOrId` and `issueTypeId`.\n\nOtherwise, all configurations are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field.","operationId":"getCustomFieldConfiguration","parameters":[{"name":"fieldIdOrKey","in":"path","description":"The ID or key of the custom field, for example `customfield_10000`.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"query","description":"The list of context IDs. To include multiple contexts, separate IDs with an ampersand: `contextId=10000&contextId=10001`. Can't be provided with `issueId`, `projectKeyOrId`, or `issueTypeId`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"issueId","in":"query","description":"The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided with `contextIds`, `projectKeyOrId`, or `issueTypeId`.","schema":{"type":"integer","format":"int64"}},{"name":"projectKeyOrId","in":"query","description":"The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with `contextIds` or `issueId`.","schema":{"type":"string"}},{"name":"issueTypeId","in":"query","description":"The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with `contextIds` or `issueId`.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanContextualConfiguration"},"example":"{\"maxResults\":1000,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"contextId\":1000},{\"contextId\":1000,\"configuration\":{\"minValue\":0,\"maxValue\":10000},\"schema\":{\"properties\":{\"amount\":{\"type\":\"number\"},\"currency\":{\"type\":\"string\"}},\"required\":[\"amount\",\"currency\"]}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not a Jira admin or the request is not authenticated as from the app that provided the field."},"404":{"description":"Returned if the custom field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue custom field configuration (apps)"],"summary":"Update custom field configurations","description":"Update the configuration for contexts of a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field.","operationId":"updateCustomFieldConfiguration","parameters":[{"name":"fieldIdOrKey","in":"path","description":"The ID or key of the custom field, for example `customfield_10000`.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldConfigurations"},"example":{"configurations":[{"contextId":1000},{"schema":{"properties":{"amount":{"type":"number"},"currency":{"type":"string"}},"required":["amount","currency"]},"configuration":{"minValue":0,"maxValue":10000},"contextId":1000}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not a Jira admin or the request is not authenticated as from the app that provided the field."},"404":{"description":"Returned if the custom field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/app/field/{fieldIdOrKey}/value":{"put":{"tags":["Issue custom field values (apps)"],"summary":"Update custom field value","description":"Updates the value of a custom field on one or more issues. Custom fields can only be updated by the Forge app that created them.\n\n**[Permissions](#permissions) required:** Only the app that created the custom field can update its values with this operation.","operationId":"updateCustomFieldValue","parameters":[{"name":"fieldIdOrKey","in":"path","description":"The ID or key of the custom field. For example, `customfield_10010`.","required":true,"schema":{"type":"string"}},{"name":"generateChangelog","in":"query","description":"Whether to generate a changelog for this update. Default: true.","schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldValueUpdateRequest"},"example":{"updates":[{"issueIds":[10010],"value":"new value"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the request is not authenticated as the app that provided the field."},"404":{"description":"Returned if the field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/application-properties":{"get":{"tags":["Jira settings"],"summary":"Get application property","description":"Returns all application properties or an application property.\n\nIf you specify a value for the `key` parameter, then an application property is returned as an object (not in an array). Otherwise, an array of all editable application properties is returned. See [Set application property](#api-rest-api-2-application-properties-id-put) for descriptions of editable properties.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getApplicationProperty","parameters":[{"name":"key","in":"query","description":"The key of the application property.","schema":{"type":"string"}},{"name":"permissionLevel","in":"query","description":"The permission level of all items being returned in the list.","schema":{"type":"string"}},{"name":"keyFilter","in":"query","description":"When a `key` isn't provided, this filters the list of results by the application property `key` using a regular expression. For example, using `jira.lf.*` will return all application properties with keys that start with *jira.lf.*.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationProperty"}},"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 -\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the application property is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/application-properties/advanced-settings":{"get":{"tags":["Jira settings"],"summary":"Get advanced settings","description":"Returns the application properties that are accessible on the *Advanced Settings* page. To navigate to the *Advanced Settings* page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration** and then click **Advanced Settings** (in the upper right).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAdvancedSettings","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationProperty"}},"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 -\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/application-properties/{id}":{"put":{"tags":["Jira settings"],"summary":"Set application property","description":"Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values.\n\n#### Advanced settings ####\n\nThe advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | \n| `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | \n| `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | \n| `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | \n| `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | \n| `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | \n| `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` | \n| `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | \n| `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | \n| `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | \n\n\n#### Look and feel ####\n\nThe settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | \n| `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | \n| `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | \n| `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | \n| `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | \n| `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | \n| `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | \n| `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | \n| `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | \n| `jira.lf.navigation.bgcolour` | The background color of the sidebar. | `#0747A6` | \n| `jira.lf.navigation.highlightcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | \n| `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | \n| `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | \n| `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | \n| `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | \n\n\n#### Other settings ####\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | \n\n\n*Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).*\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setApplicationProperty","parameters":[{"name":"id","in":"path","description":"The key of the application property to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleApplicationPropertyBean"},"example":{"id":"jira.home","value":"/var/jira/jira-home"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationProperty"}}}},"400":{"description":"Returned if the data type of the `value` does not match the application property's data type. For example, a string is provided instead of an integer."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the property."},"404":{"description":"Returned if the property is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/applicationrole":{"get":{"tags":["Application roles"],"summary":"Get all application roles","description":"Returns all application roles. In Jira, application roles are managed using the [Application access configuration](https://confluence.atlassian.com/x/3YxjL) page.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllApplicationRoles","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRole"}},"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}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/applicationrole/{key}":{"get":{"tags":["Application roles"],"summary":"Get application role","description":"Returns an application role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getApplicationRole","parameters":[{"name":"key","in":"path","description":"The key of the application role. Use the [Get all application roles](#api-rest-api-2-applicationrole-get) operation to get the key for each application role.","required":true,"schema":{"type":"string","example":"jira-software"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationRole"},"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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."},"404":{"description":"Returned if the role is not found."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/attachment/meta":{"get":{"tags":["Issue attachments"],"summary":"Get Jira attachment settings","description":"Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.\n\nNote that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether users can create and delete attachments.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAttachmentMeta","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentSettings"},"example":"{\"enabled\":true,\"uploadLimit\":1000000}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/attachment/{id}":{"get":{"tags":["Issue attachments"],"summary":"Get attachment metadata","description":"Returns the metadata for an attachment. Note that the attachment itself is not returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getAttachment","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentMetadata"},"example":"{\"id\":10001,\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"debuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:24.538+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10001/debuglog.txt\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Issue attachments"],"summary":"Delete attachment","description":"Deletes an attachment from an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the project holding the issue containing the attachment:\n\n * *Delete own attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by the calling user.\n * *Delete all attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by any user.","operationId":"removeAttachment","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/attachment/{id}/expand/human":{"get":{"tags":["Issue attachments"],"summary":"Get all metadata for an expanded attachment","description":"Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.\n\nUse this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded attachment](#api-rest-api-2-attachment-id-expand-raw-get), which only returns the metadata for the attachment's contents.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"expandAttachmentForHumans","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentArchiveMetadataReadable"},"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\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"The user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."},"409":{"description":"Returned if the attachment is an archive, but not a supported archive format."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/attachment/{id}/expand/raw":{"get":{"tags":["Issue attachments"],"summary":"Get contents metadata for an expanded attachment","description":"Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported.\n\nUse this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all metadata for an expanded attachment](#api-rest-api-2-attachment-id-expand-human-get) which also returns the metadata for the attachment itself, such as the attachment's ID and name.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"expandAttachmentForMachines","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentArchiveImpl"},"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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"The user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."},"409":{"description":"Returned if the attachment is an archive, but not a supported archive format."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/auditing/record":{"get":{"tags":["Audit records"],"summary":"Get audit records","description":"Returns a list of audit records. The list can be filtered to include items:\n\n * where each item in `filter` has at least one match in any of these fields:\n \n * `summary`\n * `category`\n * `eventSource`\n * `objectItem.name` If the object is a user, account ID is available to filter.\n * `objectItem.parentName`\n * `objectItem.typeName`\n * `changedValues.changedFrom`\n * `changedValues.changedTo`\n * `remoteAddress`\n \n For example, if `filter` contains *man ed*, an audit record containing `summary\": \"User added to group\"` and `\"category\": \"group management\"` is returned.\n * created on or after a date and time.\n * created or or before a date and time.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAuditRecords","parameters":[{"name":"offset","in":"query","description":"The number of records to skip before returning the first result.","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to return.","schema":{"type":"integer","format":"int32","default":1000}},{"name":"filter","in":"query","description":"The strings to match with audit field content, space separated.","schema":{"type":"string"}},{"name":"from","in":"query","description":"The date and time on or after which returned audit records must have been created. If `to` is provided `from` must be before `to` or no audit records are returned.","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"The date and time on or before which returned audit results must have been created. If `from` is provided `to` must be after `from` or no audit records are returned.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditRecords"},"example":"{\"offset\":0,\"limit\":1000,\"total\":1,\"records\":[{\"id\":1,\"summary\":\"User created\",\"remoteAddress\":\"192.168.1.1\",\"authorKey\":\"administrator\",\"authorAccountId\":\"5ab8f18d741e9c2c7e9d4538\",\"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\"}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the required permissions.\n * all Jira products are on free plans. Audit logs are available when at least one Jira product is on a paid plan."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/avatar/{type}/system":{"get":{"tags":["Avatars"],"summary":"Get system avatars by type","description":"Returns a list of system avatar details by owner type, where the owner types are issue type, project, or user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllSystemAvatars","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","example":"project","enum":["issuetype","project","user"]},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemAvatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"500":{"description":"Returned if an error occurs while retrieving the list of avatars."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/comment/list":{"post":{"tags":["Issue comments"],"summary":"Get comments by IDs","description":"Returns a [paginated](#pagination) list of comments specified by a list of comment IDs.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are returned where the user:\n\n * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentsByIds","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedBody` Returns the comment body rendered in HTML.\n * `properties` Returns the comment's properties.","schema":{"type":"string"}}],"requestBody":{"description":"The list of comment IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCommentListRequestBean"},"example":{"ids":[1,2,5,10]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanComment"},"example":"{\"maxResults\":1048576,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:23.506+0000\",\"updated\":\"2021-09-03T02:19:23.507+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}]}"}}},"400":{"description":"Returned if the request contains more than 1000 IDs or is empty."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/comment/{commentId}/properties":{"get":{"tags":["Issue comment properties"],"summary":"Get comment property keys","description":"Returns the keys of all the properties of a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentPropertyKeys","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the comment ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/comment/{commentId}/properties/{propertyKey}":{"get":{"tags":["Issue comment properties"],"summary":"Get comment property","description":"Returns the value of a comment property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment or the property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue comment properties"],"summary":"Set comment property","description":"Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.","operationId":"setCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the comment property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the comment property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue comment properties"],"summary":"Delete comment property","description":"Deletes a comment property.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.","operationId":"deleteCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment or the property is not found or the user has the necessary project permissions but isn't a member of the role or group visibility of the comment is restricted to."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/component":{"post":{"tags":["Project components"],"summary":"Create component","description":"Creates a component. Use components to provide containers for issues within a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the component is created or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createComponent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":{"isAssigneeTypeValid":false,"name":"Component 1","description":"This is a Jira component","project":"HSP","assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a2844c20165700ede21g"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `name` is not provided.\n * `name` is over 255 characters in length.\n * `projectId` is not provided.\n * `assigneeType` is an invalid value."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if the project is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/component/{id}":{"get":{"tags":["Project components"],"summary":"Get component","description":"Returns a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.","operationId":"getComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the component is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project components"],"summary":"Update component","description":"Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string (\"\") the component lead is removed.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":{"isAssigneeTypeValid":false,"name":"Component 1","description":"This is a Jira component","assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a2844c20165700ede21g"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `assigneeType` is an invalid value.\n * `name` is over 255 characters in length."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if the component is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project components"],"summary":"Delete component","description":"Deletes a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}},{"name":"moveIssuesTo","in":"query","description":"The ID of the component to replace the deleted component. If this value is null no replacement is made.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if:\n\n * the component is not found.\n * the replacement component is not found.\n * the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/component/{id}/relatedIssueCounts":{"get":{"tags":["Project components"],"summary":"Get component issues count","description":"Returns the counts of issues assigned to the component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getComponentRelatedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentIssuesCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"issueCount\":23}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the component is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/configuration":{"get":{"tags":["Jira settings"],"summary":"Get global settings","description":"Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this operation also returns the time tracking configuration.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getConfiguration","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"},"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\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/configuration/timetracking":{"get":{"tags":["Time tracking"],"summary":"Get selected time tracking provider","description":"Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a successful but empty response is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getSelectedTimeTrackingImplementation","parameters":[],"responses":{"200":{"description":"Returned if the request is successful and time tracking is enabled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingProvider"},"example":"{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\",\"url\":\"/example/config/url\"}"}}},"204":{"description":"Returned if the request is successful but time tracking is disabled.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Time tracking"],"summary":"Select time tracking provider","description":"Selects a time tracking provider.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"selectTimeTrackingImplementation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingProvider"},"example":{"key":"Jira"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the time tracking provider is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/configuration/timetracking/list":{"get":{"tags":["Time tracking"],"summary":"Get all time tracking providers","description":"Returns all time tracking providers. By default, Jira only has one time tracking provider: *JIRA provided time tracking*. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more information on time tracking providers, see the documentation for the [ Time Tracking Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAvailableTimeTrackingImplementations","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TimeTrackingProvider"}},"example":"[{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\",\"url\":\"/example/config/url\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/configuration/timetracking/options":{"get":{"tags":["Time tracking"],"summary":"Get time tracking settings","description":"Returns the time tracking settings. This includes settings such as the time format, default time unit, and others. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getSharedTimeTrackingConfiguration","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":"{\"workingHoursPerDay\":7.6,\"workingDaysPerWeek\":5.5,\"timeFormat\":\"pretty\",\"defaultUnit\":\"hour\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Time tracking"],"summary":"Set time tracking settings","description":"Sets the time tracking settings.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setSharedTimeTrackingConfiguration","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":{"defaultUnit":"hour","workingHoursPerDay":7.6,"workingDaysPerWeek":5.5,"timeFormat":"pretty"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":"{\"workingHoursPerDay\":7.6,\"workingDaysPerWeek\":5.5,\"timeFormat\":\"pretty\",\"defaultUnit\":\"hour\"}"}}},"400":{"description":"Returned if the request object is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/customFieldOption/{id}":{"get":{"tags":["Issue custom field options"],"summary":"Get custom field option","description":"Returns a custom field option. For example, an option in a select list.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The custom field option is returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the custom field is used in, and the field is visible in at least one layout the user has permission to view.","operationId":"getCustomFieldOption","parameters":[{"name":"id","in":"path","description":"The ID of the custom field option.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/customFieldOption/10000\",\"value\":\"To Do\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the custom field option is not found.\n * the user does not have permission to view the custom field."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/dashboard":{"get":{"tags":["Dashboards"],"summary":"Get all dashboards","description":"Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllDashboards","parameters":[{"name":"filter","in":"query","description":"The filter applied to the list of dashboards. Valid values are:\n\n * `favourite` Returns dashboards the user has marked as favorite.\n * `my` Returns dashboards owned by the user.","schema":{"type":"string","enum":["my","favourite"]}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfDashboards"},"example":"{\"startAt\":10,\"maxResults\":10,\"total\":143,\"prev\":\"https://your-domain.atlassian.net/rest/api/2/dashboard?startAt=0\",\"next\":\"https://your-domain.atlassian.net/rest/api/2/dashboard?startAt=10\",\"dashboards\":[{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"},{\"id\":\"20000\",\"isFavourite\":true,\"name\":\"Build Engineering\",\"owner\":{\"key\":\"Mia\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"name\":\"mia\",\"displayName\":\"Mia Krystof\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"}},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/20000\",\"sharePermissions\":[{\"id\":10105,\"type\":\"group\",\"group\":{\"name\":\"administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=administrators\"}}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=20000\"}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Dashboards"],"summary":"Create dashboard","description":"Creates a dashboard.\n\n**[Permissions](#permissions) required:** None.","operationId":"createDashboard","parameters":[],"requestBody":{"description":"Dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"editPermissions":[],"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/dashboard/search":{"get":{"tags":["Dashboards"],"summary":"Search for dashboards","description":"Returns a [paginated](#pagination) list of dashboards. This operation is similar to [Get dashboards](#api-rest-api-2-dashboard-get) except that the results can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The following dashboards that match the query parameters are returned:\n\n * Dashboards owned by the user. Not returned for anonymous users.\n * Dashboards shared with a group that the user is a member of. Not returned for anonymous users.\n * Dashboards shared with a private project that the user can browse. Not returned for anonymous users.\n * Dashboards shared with a public project.\n * Dashboards shared with the public.","operationId":"getDashboardsPaginated","parameters":[{"name":"dashboardName","in":"query","description":"String used to perform a case-insensitive partial match with `name`.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with the `owner` parameter.","schema":{"maxLength":128,"type":"string"}},{"name":"owner","in":"query","description":"This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return dashboards with the matching `owner.name`. This parameter cannot be used with the `accountId` parameter.","schema":{"type":"string"}},{"name":"groupname","in":"query","description":"Group name used to returns dashboards that are shared with a group that matches `sharePermissions.group.name`.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`.","schema":{"type":"integer","format":"int64"}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by dashboard popularity.\n * `id` Sorts by dashboard ID.\n * `is_favourite` Sorts by whether the dashboard is marked as a favorite.\n * `name` Sorts by dashboard name.\n * `owner` Sorts by dashboard owner name.","schema":{"type":"string","enum":["description","-description","+description","favorite_count","-favorite_count","+favorite_count","id","-id","+id","is_favorite","-is_favorite","+is_favorite","name","-name","+name","owner","-owner","+owner"],"default":"name"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the dashboard.\n * `owner` Returns the owner of the dashboard.\n * `viewUrl` Returns the URL that is used to view the dashboard.\n * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.\n * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.\n * `sharePermissions` Returns details of the share permissions defined for the dashboard.\n * `editPermissions` Returns details of the edit permissions defined for the dashboard.\n * `isWritable` Returns whether the current user has permission to edit the dashboard.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanDashboard"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/search?expand=owner&maxResults=50&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"description\":\"Testing program\",\"id\":\"1\",\"isFavourite\":true,\"name\":\"Testing\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\",\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"}},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/1\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=1\"},{\"description\":\"Quantum initiative\",\"id\":\"2\",\"isFavourite\":false,\"name\":\"Quantum \",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\",\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\"}},\"popularity\":0,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/2\",\"sharePermissions\":[{\"type\":\"loggedin\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=2\"}]}"}}},"400":{"description":"Returned if:\n\n * `orderBy` is invalid.\n * `expand` includes an invalid value.\n * `accountId` and `owner` are provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"401 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties":{"get":{"tags":["Dashboards"],"summary":"Get dashboard item property keys","description":"Returns the keys of all properties for a dashboard item.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or be shared the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboardItemPropertyKeys","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the dashboard or dashboard item is not found, or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}":{"get":{"tags":["Dashboards"],"summary":"Get dashboard item property","description":"Returns the key and value of a dashboard item property.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or be shared the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the dashboard, the dashboard item, or dashboard item property is not found, or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Dashboards"],"summary":"Set dashboard item property","description":"Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard item.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.","operationId":"setDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the dashboard item property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the dashboard item property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not the owner of the dashboard."},"404":{"description":"Returned if the dashboard item is not found or the dashboard is not shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Dashboards"],"summary":"Delete dashboard item property","description":"Deletes a dashboard item property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.","operationId":"deleteDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the dashboard item property is deleted."},"400":{"description":"Returned if the dashboard or dashboard item ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not the owner of the dashboard."},"404":{"description":"Returned if the dashboard item is not found or the dashboard is not shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/dashboard/{id}":{"get":{"tags":["Dashboards"],"summary":"Get dashboard","description":"Returns a dashboard.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.\n\nHowever, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Dashboards"],"summary":"Update dashboard","description":"Updates a dashboard, replacing all the dashboard details with those provided.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be updated must be owned by the user.","operationId":"updateDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Replacement dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"editPermissions":[],"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Dashboards"],"summary":"Delete dashboard","description":"Deletes a dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be deleted must be owned by the user.","operationId":"deleteDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the dashboard is deleted."},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/dashboard/{id}/copy":{"post":{"tags":["Dashboards"],"summary":"Copy dashboard","description":"Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be copied must be owned by or shared with the user.","operationId":"copyDashboard","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"editPermissions":[],"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/2/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by or shared with the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/expression/analyse":{"post":{"tags":["Jira expressions"],"summary":"Analyse Jira expression","description":"Analyses and validates Jira expressions.\n\nAs an experimental feature, this operation can also attempt to type-check the expressions.\n\nLearn more about Jira expressions in the [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).\n\n**[Permissions](#permissions) required**: None.","operationId":"analyseExpression","parameters":[{"name":"check","in":"query","description":"The check to perform:\n\n * `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are validated. For example, the expression's length.\n * `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors that would result in the expression failure at runtime are reported. For example, accessing properties that don't exist or passing the wrong number of arguments to functions. Also performs the syntax check.\n * `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each expression may execute.","schema":{"type":"string","enum":["syntax","type","complexity"],"default":"syntax"}}],"requestBody":{"description":"The Jira expressions to analyse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionForAnalysis"},"example":{"contextVariables":{"listOfStrings":"List","record":"{ a: Number, b: String }","value":"User"},"expressions":["issues.map(issue => issue.properties['property_key'])"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionsAnalysis"},"example":"{\"results\":[{\"expression\":\"analysed expression\",\"errors\":[{\"line\":1,\"column\":4,\"message\":\"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.\",\"type\":\"syntax\"},{\"message\":\"Jira expression is too long (1040), limit: 1000 characters\",\"type\":\"other\"},{\"message\":\"Jira expression has too many nodes (150), limit: 100 leaves\",\"type\":\"other\"}],\"valid\":false},{\"expression\":\"issues.map(i => {idAndKey: [i.id, i.key], summary: i.summary, comments: i.comments})\",\"valid\":true,\"type\":\"List<{idAndKey: [Number, String], summary: String, comments: List}>\",\"complexity\":{\"expensiveOperations\":\"N\",\"variables\":{\"N\":\"issues\"}}},{\"expression\":\"issues.map(i => i.id > '0')\",\"errors\":[{\"expression\":\"i.id > 0\",\"message\":\"Can't compare Number to String.\",\"type\":\"type\"}],\"valid\":false,\"type\":\"TypeError\"}]}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"404 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/expression/eval":{"post":{"tags":["Jira expressions"],"summary":"Evaluate Jira expression","description":"Evaluates a Jira expression and returns its value.\n\nThis resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.\n\n#### Context variables ####\n\nThe following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions.\n\n * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous.\n * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).\n * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object.\n * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object.\n * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object.\n * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object.\n * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object.\n * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object.\n * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. \nPermission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`).","operationId":"evaluateJiraExpression","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions.","schema":{"type":"string"}}],"requestBody":{"description":"The Jira expression and the evaluation context.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionEvalRequestBean"},"example":{"expression":"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }","context":{"issue":{"key":"ACJIRA-1470"},"sprint":10001,"project":{"key":"ACJIRA"},"serviceDesk":10023,"issues":{"jql":{"maxResults":100,"query":"project = HSP","startAt":0,"validation":"strict"}},"board":10100,"customerRequest":1450}}}},"required":true},"responses":{"200":{"description":"Returned if the evaluation results in a value. The result is a JSON primitive value, list, or object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionResult"},"example":"{\"value\":\"The expression's result. This value can be any JSON, not necessarily a String\",\"meta\":{\"complexity\":{\"steps\":{\"value\":1,\"limit\":10000},\"expensiveOperations\":{\"value\":3,\"limit\":10},\"beans\":{\"value\":0,\"limit\":1000},\"primitiveValues\":{\"value\":1,\"limit\":10000}},\"issues\":{\"jql\":{\"startAt\":0,\"maxResults\":1000,\"count\":140,\"totalCount\":140,\"validationWarnings\":[\"There is a problem with the JQL query.\"]}}}}"}}},"400":{"description":"Returned if:\n\n * the request is invalid, that is:\n \n * invalid data is provided, such as a request including issue ID and key.\n * the expression is invalid and can not be parsed.\n * evaluation fails at runtime. This may happen for various reasons. For example, accessing a property on a null object (such as the expression `issue.id` where `issue` is `null`). In this case an error message is provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Evaluation failed: \\\"issue['a' + 'b']\\\" - Unrecognized property of `issue`: \\\"ab\\\" ('a' + 'b'). Available properties of type 'Issue' are: 'assignee', 'comments', 'description', 'id', 'issueType', 'key', 'priority', 'project', 'properties', 'reporter', 'status', 'summary'\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if any object provided in the request context is not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Issue does not exist or you do not have permission to see it.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/field":{"get":{"tags":["Issue fields"],"summary":"Get fields","description":"Returns system and custom issue fields according to the following rules:\n\n * Fields that cannot be added to the issue navigator are always returned.\n * Fields that cannot be placed on an issue screen are always returned.\n * Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking fields, subtasks, votes, and watches.\n * For all other fields, this operation only returns the fields that the user has permission to view (that is, the field is used in at least one project that the user has *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.)\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getFields","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FieldDetails"}},"example":"[{\"id\":\"description\",\"name\":\"Description\",\"custom\":false,\"orderable\":true,\"navigable\":true,\"searchable\":true,\"clauseNames\":[\"description\"],\"schema\":{\"type\":\"string\",\"system\":\"description\"}},{\"id\":\"summary\",\"key\":\"summary\",\"name\":\"Summary\",\"custom\":false,\"orderable\":true,\"navigable\":true,\"searchable\":true,\"clauseNames\":[\"summary\"],\"schema\":{\"type\":\"string\",\"system\":\"summary\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue fields"],"summary":"Create custom field","description":"Creates a custom field.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomField","parameters":[],"requestBody":{"description":"Definition of the custom field to be created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldDefinitionJsonBean"},"example":{"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","name":"New custom field","description":"Custom field for picking groups","type":"com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"}}},"required":true},"responses":{"201":{"description":"Returned if the custom field is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldDetails"},"example":"{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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}}"}}},"400":{"description":"Returned if:\n\n * the user does not have permission to create custom fields.\n * any of the request object properties have invalid or missing values."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/search":{"get":{"tags":["Issue fields"],"summary":"Get fields paginated","description":"Returns a [paginated](#pagination) list of fields for Classic Jira projects. The list can include:\n\n * all fields.\n * specific fields, by defining `id`.\n * fields that contain a string in the field name or description, by defining `query`.\n * specific fields that contain a string in the field name or description, by defining `id` and `query`.\n\nOnly custom fields can be queried, `type` must be set to `custom`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldsPaginated","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"type","in":"query","description":"The type of fields to search.","schema":{"type":"array","items":{"type":"string","enum":["custom","system"]}}},{"name":"id","in":"query","description":"The IDs of the custom fields to return or, where `query` is specified, filter.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"query","in":"query","description":"String used to perform a case-insensitive partial match with field names or descriptions.","schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `contextsCount` Sorts by the number of contexts related to a field.\n * `lastUsed` Sorts by the date when the value of the field last changed.\n * `name` Sorts by the field name.\n * `screensCount` Sorts by the number of screens related to a field.","schema":{"type":"string","enum":["contextsCount","-contextsCount","+contextsCount","lastUsed","-lastUsed","+lastUsed","name","-name","+name","screensCount","-screensCount","+screensCount"]}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `key` Returns the key for each field.\n * `lastUsed` Returns the date when the value of the field last changed.\n * `screensCount` Returns the number of screens related to a field.\n * `contextsCount` Returns the number of contexts related to a field.\n * `isLocked` Returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og).\n * `searcherKey` Returns the searcher key for each custom field.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanField"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":false,\"values\":[{\"id\":\"customfield_10000\",\"name\":\"Approvers\",\"schema\":{\"type\":\"array\",\"items\":\"user\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker\",\"customId\":10000},\"description\":\"Contains users needed for approval. This custom field was created by Jira Service Desk.\",\"key\":\"customfield_10000\",\"isLocked\":true,\"searcherKey\":\"com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher\",\"screensCount\":2,\"contextsCount\":2,\"lastUsed\":{\"type\":\"TRACKED\",\"value\":\"2019-09-12T10:10:00.046+0000\"}},{\"id\":\"customfield_10001\",\"name\":\"Change reason\",\"schema\":{\"type\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:select\",\"customId\":10001},\"description\":\"Choose the reason for the change request\",\"key\":\"customfield_10001\",\"isLocked\":false,\"searcherKey\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher\",\"screensCount\":2,\"contextsCount\":2,\"lastUsed\":{\"type\":\"NOT_TRACKED\"}}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only custom fields can be queried.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can access fields.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldId}":{"put":{"tags":["Issue fields"],"summary":"Update custom field","description":"Updates a custom field.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateCustomField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The custom field update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomFieldDetails"},"example":{"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher","name":"Managers and employees list","description":"Select the manager and the corresponding employee."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"searcherKey is invalid for the field type.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can edit custom fields.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context":{"get":{"tags":["Issue custom field contexts"],"summary":"Get custom field contexts","description":"Returns a [paginated](#pagination) list of [ contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a custom field. Contexts can be returned as follows:\n\n * With no other parameters set, all contexts.\n * By defining `id` only, all contexts from the list of IDs.\n * By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types (true) or those that apply to only a subset of issue types (false)\n * By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global contexts) (true) or those that apply to only a subset of projects (false).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getContextsForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"isAnyIssueType","in":"query","description":"Whether to return contexts that apply to all issue types.","schema":{"type":"boolean"}},{"name":"isGlobalContext","in":"query","description":"Whether to return contexts that apply to all projects.","schema":{"type":"boolean"}},{"name":"contextId","in":"query","description":"The list of context IDs. To include multiple contexts, separate IDs with ampersand: `contextId=10000&contextId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContext"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"10025\",\"name\":\"Bug fields context\",\"description\":\"A context used to define the custom field options for bugs.\",\"isGlobalContext\":true,\"isAnyIssueType\":false},{\"id\":\"10026\",\"name\":\"Task fields context\",\"description\":\"A context used to define the custom field options for tasks.\",\"isGlobalContext\":false,\"isAnyIssueType\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field was not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue custom field contexts"],"summary":"Create custom field context","description":"Creates a custom field context.\n\nIf `projectIds` is empty, a global context is created. A global context is one that applies to all project. If `issueTypeIds` is empty, the context applies to all issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomFieldContext"},"example":{"issueTypeIds":["10010"],"name":"Bug fields context","description":"A context used to define the custom field options for bugs.","projectIds":[]}}},"required":true},"responses":{"201":{"description":"Returned if the custom field context is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomFieldContext"},"example":"{\"id\":\"10025\",\"name\":\"Bug fields context\",\"description\":\"A context used to define the custom field options for bugs.\",\"projectIds\":[],\"issueTypeIds\":[\"10010\"]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field, project, or issue type is not found."},"409":{"description":"Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/defaultValue":{"get":{"tags":["Issue custom field contexts"],"summary":"Get custom field contexts default values","description":"Returns a [paginated](#pagination) list of defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no defaults are set for a context, nothing is returned. \nThe returned object depends on type of the custom field:\n\n * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons.\n * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes.\n * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDefaultValues","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field, for example `customfield\\_10000`.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"query","description":"The IDs of the contexts.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContextDefaultValue"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"type\":\"option.single\",\"contextId\":\"10100\",\"optionId\":\"10001\"},{\"type\":\"option.single\",\"contextId\":\"10101\",\"optionId\":\"10003\"},{\"type\":\"option.single\",\"contextId\":\"10103\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue custom field contexts"],"summary":"Set custom field contexts default values","description":"Sets default for contexts of a custom field. Default are defined using these objects:\n\n * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons.\n * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes.\n * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.\n\nOnly one type of default object can be included in a request. To remove a default for a context, set the default parameter to `null`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setDefaultValues","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldContextDefaultValueUpdate"},"example":{"defaultValues":[{"contextId":"10100","optionId":"10001","type":"option.single"},{"contextId":"10101","optionId":"10003","type":"option.single"},{"contextId":"10103","optionId":"10005","type":"option.single"}]}}},"required":true},"responses":{"204":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"All default values in the request must have the same type.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, a context, an option, or a cascading option is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/issuetypemapping":{"get":{"tags":["Issue custom field contexts"],"summary":"Get issue types for custom field context","description":"Returns a [paginated](#pagination) list of context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts. Mappings are ordered first by context ID and then by issue type ID.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeMappingsForContexts","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"query","description":"The ID of the context. To include multiple contexts, provide an ampersand-separated list. For example, `contextId=10001&contextId=10002`.","schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeToContextMapping"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"contextId\":\"10001\",\"issueTypeId\":\"10010\"},{\"contextId\":\"10001\",\"issueTypeId\":\"10011\"},{\"contextId\":\"10002\",\"isAnyIssueType\":true}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/field/{fieldId}/context/mapping":{"post":{"tags":["Issue custom field contexts"],"summary":"Get custom field contexts for projects and issue types","description":"Returns a [paginated](#pagination) list of project and issue type mappings and, for each mapping, the ID of a [custom field context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type.\n\nIf there is no custom field context assigned to the project then, if present, the custom field context that applies to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is not found, the returned custom field context ID is `null`.\n\nDuplicate project and issue type mappings cannot be provided in the request.\n\nThe order of the returned values is the same as provided in the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getCustomFieldContextsForProjectsAndIssueTypes","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"requestBody":{"description":"The list of project and issue type mappings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueTypeMappings"},"example":{"mappings":[{"issueTypeId":"10000","projectId":"10000"},{"issueTypeId":"10001","projectId":"10000"},{"issueTypeId":"10002","projectId":"10001"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanContextForProjectAndIssueType"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"projectId\":\"10000\",\"issueTypeId\":\"10000\",\"contextId\":\"10000\"},{\"projectId\":\"10000\",\"issueTypeId\":\"10001\",\"contextId\":null},{\"projectId\":\"10001\",\"issueTypeId\":\"10002\",\"contextId\":\"10003\"}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Duplicate project and issue type mappings cannot be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, project, or issue type is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"These projects were not found: 10005.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/projectmapping":{"get":{"tags":["Issue custom field contexts"],"summary":"Get project mappings for custom field context","description":"Returns a [paginated](#pagination) list of context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings are returned. Invalid IDs are ignored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectContextMapping","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field, for example `customfield\\_10000`.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"query","description":"The list of context IDs. To include multiple context, separate IDs with ampersand: `contextId=10000&contextId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContextProjectMapping"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"contextId\":\"10025\",\"projectId\":\"10001\"},{\"contextId\":\"10026\",\"isGlobalContext\":true}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/field/{fieldId}/context/{contextId}":{"put":{"tags":["Issue custom field contexts"],"summary":"Update custom field context","description":"Updates a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldContextUpdateDetails"},"example":{"name":"Bug fields context","description":"A context used to define the custom field options for bugs."}}},"required":true},"responses":{"204":{"description":"Returned if the context is updated.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The contextId has to be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field or the context is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue custom field contexts"],"summary":"Delete custom field context","description":"Deletes a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the context is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The contextId has to be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field or the context is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/{contextId}/issuetype":{"put":{"tags":["Issue custom field contexts"],"summary":"Add issue types to context","description":"Adds issue types to a custom field context, appending the issue types to the issue types list.\n\nA custom field context without any issue types applies to all issue types. Adding issue types to such a custom field context would result in it applying to only the listed issue types.\n\nIf any of the issue types exists in the custom field context, the operation fails and no issue types are added.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addIssueTypesToContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIds"},"example":{"issueTypeIds":["10001","10005","10006"]}}},"required":true},"responses":{"204":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types are already associated with the context: 10001.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, context, or one or more issue types are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/{contextId}/issuetype/remove":{"post":{"tags":["Issue custom field contexts"],"summary":"Remove issue types from context","description":"Removes issue types from a custom field context.\n\nA custom field context without any issue types applies to all issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeIssueTypesFromContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIds"},"example":{"issueTypeIds":["10001","10005","10006"]}}},"required":true},"responses":{"204":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types are not associated with the context: 10002.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, context, or one or more issue types are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/{contextId}/option":{"get":{"tags":["Issue custom field options"],"summary":"Get custom field options (context)","description":"Returns a [paginated](#pagination) list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getOptionsForContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"optionId","in":"query","description":"The ID of the option.","schema":{"type":"integer","format":"int64"}},{"name":"onlyOptions","in":"query","description":"Whether only options are returned.","schema":{"type":"boolean","default":false}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContextOption"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"id\":\"10001\",\"value\":\"New York\"},{\"id\":\"10002\",\"value\":\"Boston\",\"disabled\":true},{\"id\":\"10004\",\"value\":\"Denver\"},{\"id\":\"10003\",\"value\":\"Brooklyn\",\"optionId\":\"10001\"}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found or the context doesn't match the custom field.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue custom field options"],"summary":"Update custom field options (context)","description":"Updates the options of a custom field.\n\nIf any of the options are not found, no options are updated. Options where the values in the request match the current values aren't updated and aren't reported in the response.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateCustomFieldOption","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCustomFieldOptionUpdateRequest"},"example":{"options":[{"disabled":false,"id":"10001","value":"Scranton"},{"disabled":true,"id":"10002","value":"Manhattan"},{"disabled":false,"id":"10003","value":"The Electric City"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldUpdatedContextOptionsList"},"example":"{\"options\":[{\"id\":\"10001\",\"value\":\"Scranton\",\"disabled\":false},{\"id\":\"10002\",\"value\":\"Manhattan\",\"disabled\":true},{\"id\":\"10003\",\"value\":\"The Electric City\",\"disabled\":false}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, context, or one or more options is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue custom field options"],"summary":"Create custom field options (context)","description":"Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a custom select field. The options are added to a context of the field.\n\nThe maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000 options.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomFieldOption","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCustomFieldOptionCreateRequest"},"example":{"options":[{"disabled":false,"value":"Scranton"},{"optionId":"10000","disabled":true,"value":"Manhattan"},{"disabled":false,"value":"The Electric City"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldCreatedContextOptionsList"},"example":"{\"options\":[{\"id\":\"10001\",\"value\":\"Scranton\",\"disabled\":false},{\"id\":\"10002\",\"value\":\"Manhattan\",\"optionId\":\"10000\",\"disabled\":true},{\"id\":\"10003\",\"value\":\"The Electric City\",\"disabled\":false}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found or the context doesn't match the custom field.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/{contextId}/option/move":{"put":{"tags":["Issue custom field options"],"summary":"Reorder custom field options (context)","description":"Changes the order of custom field options or cascading options in a context.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"reorderCustomFieldOptions","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderOfCustomFieldOptions"},"example":{"position":"First","customFieldOptionIds":["10001","10002"]}}},"required":true},"responses":{"204":{"description":"Returned if options are reordered.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"'after' and 'position' were provided. Only 'after' or 'position' can be specified.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, the context, or one or more of the options is not found..","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/{contextId}/option/{optionId}":{"delete":{"tags":["Issue custom field options"],"summary":"Delete custom field options (context)","description":"Deletes a custom field option.\n\nOptions with cascading options cannot be deleted without deleting the cascading options first.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteCustomFieldOption","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context from which an option should be deleted.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"optionId","in":"path","description":"The ID of the option to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the option is deleted."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, the context, or the option is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/{contextId}/project":{"put":{"tags":["Issue custom field contexts"],"summary":"Assign custom field context to projects","description":"Assigns a custom field context to projects.\n\nIf any project in the request is assigned to any context of the custom field, the operation fails.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignProjectsToCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIds"},"example":{"projectIds":["10001","10005","10006"]}}},"required":true},"responses":{"204":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The projectIds must not contain duplicates.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, context, or project is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/context/{contextId}/project/remove":{"post":{"tags":["Issue custom field contexts"],"summary":"Remove custom field context from projects","description":"Removes a custom field context from projects.\n\nA custom field context without any projects applies to all projects. Removing all projects from a custom field context would result in it applying to all projects.\n\nIf any project in the request is not assigned to the context, or the operation would result in two global contexts for the field, the operation fails.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeCustomFieldContextFromProjects","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIds"},"example":{"projectIds":["10001","10005","10006"]}}},"required":true},"responses":{"204":{"description":"Returned if the custom field context is removed from the projects.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The projectIds must not contain duplicates.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, context, or one or more projects are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/field/{fieldId}/contexts":{"get":{"tags":["Issue fields"],"summary":"Get contexts for a field","description":"Returns a [paginated](#pagination) list of the contexts a field is used in. Deprecated, use [ Get custom field contexts](#api-rest-api-2-field-fieldId-context-get).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getContextsForFieldDeprecated","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field to return contexts for.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanContext"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":10001,\"name\":\"Default Context\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldId}/screens":{"get":{"tags":["Screens"],"summary":"Get screens for a field","description":"Returns a [paginated](#pagination) list of the screens a field is used in.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreensForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field to return screens for.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about screens in the response. This parameter accepts `tab` which returns details about the screen tabs the field is used in.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreenWithTab"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":10001,\"name\":\"Default Screen\",\"description\":\"Provides for the update of all system fields.\",\"tab\":{\"id\":10000,\"name\":\"Fields Tab\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get all issue field options","description":"Returns a [paginated](#pagination) list of all the options of a select list issue field. A select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a value from a list of options.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"getAllIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}]}"}}},"400":{"description":"Returned if the field is not found or does not support options."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"post":{"tags":["Issue custom field options (apps)"],"summary":"Create issue field option","description":"Creates an option for a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"createIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOptionCreateBean"},"example":{"value":"Team 1","config":{"scope":{"projects2":[{"attributes":["notSelectable"],"id":1001},{"attributes":["notSelectable"],"id":1002}],"projects":[],"global":{}},"attributes":[]},"properties":{"leader":{"name":"Leader Name","email":"lname@example.com"},"members":42,"founded":"2016-06-06","description":"The team's description"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the option is invalid."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option/suggestions/edit":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get selectable issue field options","description":"Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed and selected by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getSelectableIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"Filters the results to options that are only available in the specified project.","schema":{"type":"integer","format":"int64"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option/suggestions/search":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get visible issue field options","description":"Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getVisibleIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32"}},{"name":"projectId","in":"query","description":"Filters the results to options that are only available in the specified project.","schema":{"type":"integer","format":"int64"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option/{optionId}":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get issue field option","description":"Returns an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"getIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be returned.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the requested option is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the field is not found or does not support options."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the option is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"put":{"tags":["Issue custom field options (apps)"],"summary":"Update issue field option","description":"Updates or creates an option for a select list issue field. This operation requires that the option ID is provided when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID provided in the path and body must be identical.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"updateIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be updated.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":{"id":1,"value":"Team 1","config":{"scope":{"projects2":[{"attributes":["notSelectable"],"id":1001},{"attributes":["notSelectable"],"id":1002}],"projects":[],"global":{}},"attributes":[]},"properties":{"leader":{"name":"Leader Name","email":"lname@example.com"},"members":42,"founded":"2016-06-06","description":"The team's description"}}}},"required":true},"responses":{"200":{"description":"Returned if the option is updated or created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1001,\"attributes\":[\"notSelectable\"]},{\"id\":1002,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the option is invalid, or the *ID* in the request object does not match the *optionId* parameter."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["Issue custom field options (apps)"],"summary":"Delete issue field option","description":"Deletes an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"deleteIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be deleted.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the field option is deleted.","content":{"application/json":{"schema":{}}}},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the field or option is not found."},"409":{"description":"Returned if the option is selected for the field in any issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/field/{fieldKey}/option/{optionId}/issue":{"delete":{"tags":["Issue custom field options (apps)"],"summary":"Replace issue field option","description":"Deselects an issue-field select-list option from all issues where it is selected. A different option can be selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL query.\n\nThis is an [asynchronous operation](#async). The response object contains a link to the long-running task.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"replaceIssueFieldOption","parameters":[{"name":"replaceWith","in":"query","description":"The ID of the option that will replace the currently selected option.","schema":{"type":"integer","format":"int64"}},{"name":"jql","in":"query","description":"A JQL query that specifies the issues to be updated. For example, *project=10000*.","schema":{"type":"string"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-2-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be deselected.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"303":{"description":"Returned if the long-running task to deselect the option is started.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanRemoveOptionFromIssuesResult"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/task/1\",\"id\":\"1\",\"description\":\"Remove option 1 from issues matched by '*', and replace with option 3\",\"status\":\"COMPLETE\",\"result\":{\"modifiedIssues\":[10001,10010],\"unmodifiedIssues\":[10005],\"errors\":{\"errors\":{},\"errorMessages\":[\"Option 2 cannot be set on issue MKY-5 as it is not in the correct scope\"],\"httpStatusCode\":{\"present\":true}}},\"elapsedRuntime\":42}"}}},"400":{"description":"Returned if the JQL query is invalid."},"404":{"description":"Returned if the field is not found or does not support options, or the options to be replaced are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/fieldconfiguration":{"get":{"tags":["Issue field configurations"],"summary":"Get all field configurations","description":"Returns a [paginated](#pagination) list of field configurations. The list can be for all field configurations or a subset determined by any combination of these criteria:\n\n * a list of field configuration item IDs.\n * whether the field configuration is a default.\n * whether the field configuration name or description contains a query string.\n\nOnly field configurations used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllFieldConfigurations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"isDefault","in":"query","description":"If *true* returns default field configurations only.","schema":{"type":"boolean","default":false}},{"name":"query","in":"query","description":"The query string used to match against field configuration names and descriptions.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfiguration"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":10000,\"name\":\"Default Field Configuration\",\"description\":\"The default field configuration description\",\"isDefault\":true},{\"id\":10001,\"name\":\"My Field Configuration\",\"description\":\"My field configuration description\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/fieldconfiguration/{id}/fields":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration items","description":"Returns a [paginated](#pagination) list of all fields for a configuration.\n\nOnly the fields from configurations used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationItems","parameters":[{"name":"id","in":"path","description":"The ID of the field configuration.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationItem"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"environment\",\"description\":\"For example operating system, software platform and/or hardware specifications (include as appropriate for the issue).\",\"isHidden\":false,\"isRequired\":false},{\"id\":\"description\",\"isHidden\":false,\"isRequired\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the field configuration is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/fieldconfigurationscheme":{"get":{"tags":["Issue field configurations"],"summary":"Get all field configuration schemes","description":"Returns a [paginated](#pagination) list of field configuration schemes.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllFieldConfigurationSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationScheme"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Field Configuration Scheme for Bugs\",\"description\":\"This field configuration scheme is for bugs only.\"},{\"id\":\"10001\",\"name\":\"Field Configuration Scheme for software related projects\",\"description\":\"We can use this one for software projects.\"},{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for Epics\",\"description\":\"Use this one for Epic issue type.\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/fieldconfigurationscheme/mapping":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration issue type items","description":"Returns a [paginated](#pagination) list of field configuration issue type items.\n\nOnly items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationSchemeMappings","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"fieldConfigurationSchemeId","in":"query","description":"The list of field configuration scheme IDs. To include multiple field configuration schemes separate IDs with ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`.","schema":{"maxItems":50,"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64","example":10020}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationIssueTypeItem"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":5,\"isLast\":true,\"values\":[{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\":\"10000\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\":\"10001\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\":\"10021\",\"issueTypeId\":\"10002\",\"fieldConfigurationId\":\"10000\"},{\"fieldConfigurationSchemeId\":\"10022\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"10011\"},{\"fieldConfigurationSchemeId\":\"10023\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"10000\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if no field configuration schemes are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/fieldconfigurationscheme/project":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration schemes for projects","description":"Returns a [paginated](#pagination) list of field configuration schemes and, for each scheme, a list of the projects that use it.\n\nThe list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to the default field configuration scheme.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationSchemeProjectMapping","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationSchemeProjects"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":5,\"isLast\":true,\"values\":[{\"projectIds\":[\"10\",\"11\"]},{\"fieldConfigurationScheme\":{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for software related projects\",\"description\":\"We can use this one for software projects.\"},\"projectIds\":[\"12\",\"13\",\"14\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue field configurations"],"summary":"Assign field configuration scheme to project","description":"Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.\n\nField configuration schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignFieldConfigurationSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldConfigurationSchemeProjectAssociation"},"example":{"fieldConfigurationSchemeId":"10000","projectId":"10000"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the project is not a classic project.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have field configuration schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access field configurations.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the project is missing.","content":{"application/json":{"example":"{\"errorMessages\":[\"The project was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/filter":{"get":{"tags":["Filters"],"summary":"Get filters","description":"Returns all filters. Deprecated, use [ Search for filters](#api-rest-api-2-filter-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-changes":[{"type":"removed","announced":"2018-10-19","effective":"2019-04-19","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/"}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Filters"],"summary":"Create filter","description":"Creates a filter. The filter is shared according to the [default share scope](#api-rest-api-2-filter-post). The filter is not selected as a favorite.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"createFilter","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"requestBody":{"description":"The filter to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":{"jql":"type = Bug and resolution is empty","name":"All Open Bugs","description":"Lists all open bugs"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/filter/defaultShareScope":{"get":{"tags":["Filter sharing"],"summary":"Get default share scope","description":"Returns the default sharing settings for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getDefaultShareScope","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":"{\"scope\":\"GLOBAL\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filter sharing"],"summary":"Set default share scope","description":"Sets the default sharing for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setDefaultShareScope","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":{"scope":"GLOBAL"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":"{\"scope\":\"GLOBAL\"}"}}},"400":{"description":"Returned if an invalid scope is set."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/filter/favourite":{"get":{"tags":["Filters"],"summary":"Get favorite filters","description":"Returns the visible favorite filters of the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** A favorite filter is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.","operationId":"getFavouriteFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}}],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/filter/my":{"get":{"tags":["Filters"],"summary":"Get my filters","description":"Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are also returned.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.","operationId":"getMyFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}},{"name":"includeFavourites","in":"query","description":"Include the user's favorite filters in the response.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}}],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/filter/search":{"get":{"tags":["Filters"],"summary":"Search for filters","description":"Returns a [paginated](#pagination) list of filters. Use this operation to get:\n\n * specific filters, by defining `id` only.\n * filters that match all of the specified attributes. For example, all filters for a user with a particular word in their name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters that match the query parameters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getFiltersPaginated","parameters":[{"name":"filterName","in":"query","description":"String used to perform a case-insensitive partial match with `name`.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"User account ID used to return filters with the matching `owner.accountId`. This parameter cannot be used with `owner`.","schema":{"maxLength":128,"type":"string"}},{"name":"owner","in":"query","description":"This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return filters with the matching `owner.name`. This parameter cannot be used with `accountId`.","schema":{"type":"string"}},{"name":"groupname","in":"query","description":"Group name used to returns filters that are shared with a group that matches `sharePermissions.group.groupname`.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"Project ID used to returns filters that are shared with a project that matches `sharePermissions.project.id`.","schema":{"type":"integer","format":"int64"}},{"name":"id","in":"query","description":"The list of filter IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by filter description. Note that this sorting works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by the count of how many users have this filter as a favorite.\n * `is_favourite` Sorts by whether the filter is marked as a favorite.\n * `id` Sorts by filter ID.\n * `name` Sorts by filter name.\n * `owner` Sorts by the ID of the filter owner.","schema":{"type":"string","enum":["description","-description","+description","favorite_count","-favorite_count","+favorite_count","id","-id","+id","is_favorite","-is_favorite","+is_favorite","name","-name","+name","owner","-owner","+owner"],"default":"name"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the filter.\n * `favourite` Returns an indicator of whether the user has set the filter as a favorite.\n * `favouritedCount` Returns a count of how many users have set this filter as a favorite.\n * `jql` Returns the JQL query that the filter uses.\n * `owner` Returns the owner of the filter.\n * `searchUrl` Returns a URL to perform the filter's JQL query.\n * `sharePermissions` Returns the share permissions defined for the filter.\n * `subscriptions` Returns the users that are subscribed to the filter.\n * `viewUrl` Returns a URL to view the filter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFilterDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/search?accountId=&maxResults=50&filterName=&orderBy=name&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":[]},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}}],\"subscriptions\":[{\"id\":1,\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}}]}]}"}}},"400":{"description":"Returned if:\n\n * `owner` and `accountId` are provided.\n * `expand` includes an invalid value.\n * `orderBy` is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/filter/{id}":{"get":{"tags":["Filters"],"summary":"Get filter","description":"Returns a filter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, the filter is only returned where it is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.","operationId":"getFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to return.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the filter is not found or the user does not have permission to view it."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filters"],"summary":"Update filter","description":"Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must own the filter.","operationId":"updateFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to update.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"requestBody":{"description":"The filter to update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":{"jql":"type = Bug and resolution is empty","name":"All Open Bugs","description":"Lists all open bugs"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Delete filter","description":"Delete a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the filter is not found."},"401":{"description":"Returned if the user does not have permission to delete the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/filter/{id}/columns":{"get":{"tags":["Filters"],"summary":"Get columns","description":"Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed in *List View* with the *Columns* set to *Filter*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, column details are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}},"example":"[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"Summary\",\"value\":\"summary\"}]"}}},"400":{"description":"Returned if the user does not have permission to view the filter."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if a column configuration is not set for the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filters"],"summary":"Set columns","description":"Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get fields](#api-rest-api-2-field-get) to get the list fields in Jira. A navigable field has `navigable` set to `true`.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/filter/10000/columns`\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only set for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"setColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The IDs of the fields to set as columns. In the form data, specify each field as `columns=id`, where `id` is the *id* of a field (as seen in the response for [Get fields](#api-rest-api--field-get)). For example, `columns=summary`.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * a non-navigable field is set as a column.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Reset columns","description":"Reset the user's column configuration for the filter to the default.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only reset for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"resetColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/filter/{id}/favourite":{"put":{"tags":["Filters"],"summary":"Add filter as favorite","description":"Add a filter as a favorite for the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, the user can only favorite:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"setFavouriteForFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to favorite the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Remove filter as favorite","description":"Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from the user's favorites list. For example, if the user favorites a public filter that is subsequently made private (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"deleteFavouriteForFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/2/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/filter/{id}/permission":{"get":{"tags":["Filter sharing"],"summary":"Get share permissions","description":"Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, share permissions are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getSharePermissions","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharePermission"}},"example":"[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY\",\"id\":\"10002\",\"key\":\"MKY\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"},\"deleted\":true,\"retentionTillDate\":\"2021-11-02T02:19:21.152+0000\",\"deletedDate\":\"2021-09-03T02:19:21.152+0000\",\"deletedBy\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}},\"role\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}},{\"id\":10010,\"type\":\"group\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Filter sharing"],"summary":"Add share permission","description":"Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the public) it will overwrite all share permissions for the filter.\n\nBe aware that this operation uses different objects for updating share permissions compared to [Update filter](#api-rest-api-2-filter-id-put).\n\n**[Permissions](#permissions) required:** *Share dashboards and filters* [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the filter.","operationId":"addSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePermissionInputBean"},"example":{"type":"group","groupname":"jira-administrators"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharePermission"}},"example":"[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY\",\"id\":\"10002\",\"key\":\"MKY\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"},\"deleted\":true,\"retentionTillDate\":\"2021-11-02T02:19:21.152+0000\",\"deletedDate\":\"2021-09-03T02:19:21.152+0000\",\"deletedBy\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}},\"role\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}},{\"id\":10010,\"type\":\"group\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"}}]"}}},"400":{"description":"Returned if:\n\n * the request object is invalid. For example, it contains an invalid type, the ID does not match the type, or the project or group is not found.\n * the user does not own the filter.\n * the user does not have the required permissions."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/filter/{id}/permission/{permissionId}":{"get":{"tags":["Filter sharing"],"summary":"Get share permission","description":"Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, a share permission is only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the share permission.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePermission"},"example":"{\"id\":10000,\"type\":\"global\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the permission is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Filter sharing"],"summary":"Delete share permission","description":"Deletes a share permission from a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira and the user must own the filter.","operationId":"deleteSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the share permission.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not own the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/group":{"get":{"tags":["Groups"],"summary":"Get group","description":"This operation is deprecated, use [`group/member`](#api-rest-api-2-group-member-get).\n\nReturns all users in a group.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"List of fields to expand.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the Administer Jira global permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Groups"],"summary":"Create group","description":"Creates a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"createGroup","parameters":[],"requestBody":{"description":"The name of the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddGroupBean"},"example":{"name":"power-users"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"},"example":"{\"name\":\"power-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=power-users\",\"users\":{\"size\":1,\"items\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}],\"max-results\":50,\"start-index\":0,\"end-index\":0},\"expand\":\"users\"}"}}},"400":{"description":"Returned if group name is not specified or the group name is in use."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Groups"],"summary":"Remove group","description":"Deletes a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* strategic [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"swapGroup","in":"query","description":"The group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/group/bulk":{"get":{"tags":["Groups"],"summary":"Bulk get groups","description":"Returns a [paginated](#pagination) list of groups.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"bulkGetGroups","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"groupId","in":"query","description":"The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`.","schema":{"uniqueItems":true,"type":"array","example":"3571b9a7-348f-414a-9087-8e1ea03a7df8","items":{"type":"string","example":"3571b9a7-348f-414a-9087-8e1ea03a7df8"}},"x-showInExample":"true"},{"name":"groupName","in":"query","description":"The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example, `groupName=administrators&groupName=jira-software-users`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanGroupDetails"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"name\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Browse users and groups permission is required to view groups.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/group/member":{"get":{"tags":["Groups"],"summary":"Get users from group","description":"Returns a [paginated](#pagination) list of all users in a group.\n\nNote that users are ordered by username, however the username is not returned in the results due to privacy reasons.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUsersFromGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"includeInactiveUsers","in":"query","description":"Include inactive users.","schema":{"type":"boolean","default":false}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUserDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=2&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=4&maxResults=2\",\"maxResults\":2,\"startAt\":3,\"total\":5,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"name\":\"\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{},\"displayName\":\"Mia\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"accountType\":\"atlassian\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a0effa615349cb016cd8\",\"name\":\"\",\"key\":\"\",\"accountId\":\"5b10a0effa615349cb016cd8\",\"emailAddress\":\"will@example.com\",\"avatarUrls\":{},\"displayName\":\"Will\",\"active\":false,\"timeZone\":\"Australia/Sydney\",\"accountType\":\"atlassian\"}]}"}}},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the Administer Jira global permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/group/user":{"post":{"tags":["Groups"],"summary":"Add user to group","description":"Adds a user to a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"addUserToGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group (case sensitive).","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The user to add to the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserToGroupBean"},"example":{"accountId":"5b10ac8d82e05b22cc7d4ef5"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Returned if:\n\n * `groupname` is not provided.\n * `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the calling user does not have the necessary permission."},"404":{"description":"Returned if the group or user are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Groups"],"summary":"Remove user from group","description":"Removes a user from a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeUserFromGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * `groupName` is missing.\n * `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the group or user are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/groups/picker":{"get":{"tags":["Groups"],"summary":"Find groups","description":"Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude groups from the results.\n\nThe primary use case for this resource is to populate a group picker suggestions list. To this end, the returned object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker, specifically *Showing X of Y matching groups*.\n\nThe list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users without the required permission return an empty list.","operationId":"findGroups","parameters":[{"name":"accountId","in":"query","description":"This parameter is deprecated, setting it does not affect the results. To find groups containing a particular user, use [Get user groups](#api-rest-api-2-user-groups-get).","schema":{"type":"string"}},{"name":"query","in":"query","description":"The string to find in group names.","schema":{"type":"string","example":"query"}},{"name":"exclude","in":"query","description":"A group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"maxResults","in":"query","description":"The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`.","schema":{"type":"integer","format":"int32"}},{"name":"userName","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundGroups"},"example":"{\"header\":\"Showing 20 of 25 matching groups\",\"total\":25,\"groups\":[{\"name\":\"jdog-developers\",\"html\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"html\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/groupuserpicker":{"get":{"tags":["Group and user picker"],"summary":"Find users and groups","description":"Returns a list of users and groups matching a string. The string is used:\n\n * for users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.\n * for groups, to find a case-sensitive match with group name.\n\nFor example, if the string *tin* is used, records with the display name *Tina*, email address *sarah@tinplatetraining.com*, and the group *accounting* would be returned.\n\nOptionally, the search can be refined to:\n\n * the projects and issue types associated with a custom field, such as a user picker. The search can then be further refined to return only users and groups that have permission to view specific:\n \n * projects.\n * issue types.\n \n If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.\n * not return Connect app users and groups.\n * return groups that have a case-insensitive match with the query.\n\nThe primary use case for this resource is to populate a picker field suggestion list with users or groups. To this end, the returned object includes an `html` field for each list. This field highlights the matched query term in the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for use in a picker, specifically *Showing X of Y matching groups*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"findUsersAndGroups","parameters":[{"name":"query","in":"query","description":"The search string.","required":true,"schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"The maximum number of items to return in each list.","schema":{"type":"integer","format":"int32","default":50}},{"name":"showAvatar","in":"query","description":"Whether the user avatar should be returned. If an invalid value is provided, the default value is used.","schema":{"type":"boolean","default":false}},{"name":"fieldId","in":"query","description":"The custom field ID of the field this request is for.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"The ID of a project that returned users and groups must have permission to view. To include multiple projects, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`. This parameter is only used when `fieldId` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issueTypeId","in":"query","description":"The ID of an issue type that returned users and groups must have permission to view. To include multiple issue types, provide an ampersand-separated list. For example, `issueTypeId=10000&issueTypeId=10001`. Special values, such as `-1` (all standard issue types) and `-2` (all subtask issue types), are supported. This parameter is only used when `fieldId` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"avatarSize","in":"query","description":"The size of the avatar to return. If an invalid value is provided, the default value is used.","schema":{"type":"string","enum":["xsmall","xsmall@2x","xsmall@3x","small","small@2x","small@3x","medium","medium@2x","medium@3x","large","large@2x","large@3x","xlarge","xlarge@2x","xlarge@3x","xxlarge","xxlarge@2x","xxlarge@3x","xxxlarge","xxxlarge@2x","xxxlarge@3x"],"default":"xsmall"}},{"name":"caseInsensitive","in":"query","description":"Whether the search for groups should be case insensitive.","schema":{"type":"boolean","default":false}},{"name":"excludeConnectAddons","in":"query","description":"Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided, the default value is used.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundUsersAndGroups"},"example":"{\"users\":{\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"mia\",\"key\":\"mia\",\"html\":\"Mia Krystof - mia@example.com (mia)\",\"displayName\":\"Mia Krystof\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}],\"total\":25,\"header\":\"Showing 20 of 25 matching groups\"},\"groups\":{\"header\":\"Showing 20 of 25 matching groups\",\"total\":25,\"groups\":[{\"name\":\"jdog-developers\",\"html\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"html\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}}"}}},"400":{"description":"Returned if the query parameter is not provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/instance/license":{"get":{"tags":["Instance information"],"summary":"Get license","description":"Returns licensing information about the Jira instance.\n\n**[Permissions](#permissions) required:** None.","operationId":"getLicense","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/License"},"example":"{\"applications\":[{\"id\":\"jira-core\",\"plan\":\"PAID\"},{\"id\":\"jira-servicedesk\",\"plan\":\"FREE\"},{\"id\":\"jira-software\",\"plan\":\"PAID\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue":{"post":{"tags":["Issues"],"summary":"Create issue","description":"Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.\n\nThe content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are the same fields that appear on the issue's create screen.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).\n * `parent` must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created.","operationId":"createIssue","parameters":[{"name":"updateHistory","in":"query","description":"Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. When provided, the issue type and request type are added to the user's history for a project. These values are then used to provide defaults on the issue create screen.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2019-07-05T11:05:00.000+0000"}}]},"fields":{"summary":"Main order flow broken","parent":{"key":"PROJ-123"},"issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":"Occurs on all orders","customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"10000"},"description":"Order entry fails when selecting supplier.","reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"remainingEstimate":"5","originalEstimate":"10"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":"UAT","versions":[{"id":"10000"}],"duedate":"2019-03-11","customfield_60000":"jira-software-users","customfield_50000":"Could impact day-to-day work.","assignee":{"id":"5b109f2e9729b51b54dc274d"}}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssue"},"example":"{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10000\",\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\":{}}}}"}}},"400":{"description":"Returned if the request:\n\n * is missing required fields.\n * contains invalid field values.\n * contains fields that cannot be set for the issue type.\n * is by a user who does not have the necessary permission.\n * is to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * is invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Field 'priority' is required\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/bulk":{"post":{"tags":["Issues"],"summary":"Bulk create issue","description":"Creates issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue properties set.\n\nThe content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get). These are the same fields that appear on the issues' create screens.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-2-issue-createmeta-get) to find subtask issue types).\n * `parent` the must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which each issue or subtask is created.","operationId":"createIssues","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesUpdateBean"},"example":{"issueUpdates":[{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2019-07-05T11:05:00.000+0000"}}]},"fields":{"summary":"Main order flow broken","parent":{"key":"PROJ-123"},"issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":"Occurs on all orders","customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"10000"},"description":"Order entry fails when selecting supplier.","reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"remainingEstimate":"5","originalEstimate":"10"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":"UAT","versions":[{"id":"10000"}],"duedate":"2019-03-11","customfield_60000":"jira-software-users","customfield_50000":"Could impact day-to-day work.","assignee":{"id":"5b109f2e9729b51b54dc274d"}}},{"update":{},"fields":{"summary":"Order stuck in pending","parent":{"id":"10034"},"issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":"Occurs on all orders","customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"1000"},"description":"Order remains pending after approved.","reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["new_release"],"timetracking":{"remainingEstimate":"5","originalEstimate":"15"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":"UAT","versions":[{"id":"10000"}],"duedate":"2019-04-16","customfield_60000":"jira-software-users","customfield_50000":"Could impact day-to-day work.","assignee":{"id":"5b109f2e9729b51b54dc274d"}}}]}}},"required":true},"responses":{"201":{"description":"Returned if any of the issue or subtask creation requests were successful. A request may be unsuccessful when it:\n\n * is missing required fields.\n * contains invalid field values.\n * contains fields that cannot be set for the issue type.\n * is by a user who does not have the necessary permission.\n * is to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * is invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssues"},"example":"{\"issues\":[{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10000\",\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\":{}}}},{\"id\":\"10001\",\"key\":\"ED-25\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10001\"}],\"errors\":[]}"}}},"400":{"description":"Returned if all requests are invalid. Requests may be unsuccessful when they:\n\n * are missing required fields.\n * contain invalid field values.\n * contain fields that cannot be set for the issue type.\n * are by a user who does not have the necessary permission.\n * are to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * are invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssues"},"example":"{\"issues\":[],\"errors\":[{\"status\":400,\"elementErrors\":{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\",\"project\":\"Sub-tasks must be created in the same project as the parent.\"}},\"failedElementNumber\":0},{\"status\":400,\"elementErrors\":{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\",\"project\":\"Sub-tasks must be created in the same project as the parent.\"}},\"failedElementNumber\":1}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/createmeta":{"get":{"tags":["Issues"],"summary":"Get create issue metadata","description":"Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in [ Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).\n\nThe request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.","operationId":"getCreateIssueMeta","parameters":[{"name":"projectIds","in":"query","description":"List of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using an ampersand-separated list. For example, `projectIds=10000,10001&projectIds=10020,10021`. This parameter may be provided with `projectKeys`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"projectKeys","in":"query","description":"List of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided using an ampersand-separated list. For example, `projectKeys=proj1,proj2&projectKeys=proj3`. This parameter may be provided with `projectIds`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issuetypeIds","in":"query","description":"List of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided using an ampersand-separated list. For example, `issuetypeIds=10000,10001&issuetypeIds=10020,10021`. This parameter may be provided with `issuetypeNames`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issuetypeNames","in":"query","description":"List of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be provided using an ampersand-separated list. For example, `issuetypeNames=name1,name2&issuetypeNames=name3`. This parameter may be provided with `issuetypeIds`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about issue metadata in the response. This parameter accepts `projects.issuetypes.fields`, which returns information about the fields in the issue creation screen for each issue type. Fields hidden from the screen are not returned. Use the information to populate the `fields` and `update` fields in [Create issue](#api-rest-api-2-issue-post) and [Create issues](#api-rest-api-2-issue-bulk-post).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCreateMetadata"},"example":"{\"projects\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ED\",\"id\":\"10000\",\"key\":\"ED\",\"name\":\"Edison Project\",\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000&avatarId=10011\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000&avatarId=10011\",\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?pid=10000&avatarId=10011\"},\"issuetypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"An error in the code\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png\",\"name\":\"Bug\",\"subtask\":false,\"fields\":{\"issuetype\":{\"required\":true,\"name\":\"Issue Type\",\"key\":\"issuetype\",\"hasDefaultValue\":false,\"operations\":[\"set\"]}}}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/picker":{"get":{"tags":["Issue search"],"summary":"Get issue picker suggestions","description":"Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the user is looking for an issue using a word or string.\n\nThis operation returns two lists:\n\n * `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain the string in the `query` parameter.\n * `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the `query` parameter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getIssuePickerResource","parameters":[{"name":"query","in":"query","description":"A string to match against text fields in the issue such as title, description, or comments.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"currentJQL","in":"query","description":"A JQL query defining a list of issues to search for the query term. Note that `username` and `userkey` cannot be used as search terms for this parameter, due to privacy reasons. Use `accountId` instead.","schema":{"type":"string"}},{"name":"currentIssueKey","in":"query","description":"The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform this query.","schema":{"type":"string"}},{"name":"currentProjectId","in":"query","description":"The ID of a project that suggested issues must belong to.","schema":{"type":"string"}},{"name":"showSubTasks","in":"query","description":"Indicate whether to include subtasks in the suggestions list.","schema":{"type":"boolean"}},{"name":"showSubTaskParent","in":"query","description":"When `currentIssueKey` is a subtask, whether to include the parent issue in the suggestions if it matches the query.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuePickerSuggestions"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/properties":{"post":{"tags":["Issue properties"],"summary":"Bulk set issues properties","description":"Sets the values of entity properties on issues. It can set up to 10 entity properties on up to 10,000 issues.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum length of single issue property value is 32768 characters. This operation can be accessed anonymously.\n\nThis operation is:\n\n * transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"bulkSetIssuesProperties","parameters":[],"requestBody":{"description":"Issue properties to be set or updated with values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueEntityProperties"}}},"required":true},"responses":{"303":{"description":"Returned if the operation is successful."},"400":{"description":"Return if the request is invalid or the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/properties/{propertyKey}":{"put":{"tags":["Issue properties"],"summary":"Bulk set issue property","description":"Sets a property value on multiple issues.\n\nThe value set can be a constant or determined by a [Jira expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable with constant complexity when applied to a set of issues. Expressions must also comply with the [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to all Jira expressions.\n\nThe issues to be updated can be specified by a filter.\n\nThe filter identifies issues eligible for update using these criteria:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n * `hasProperty`:\n \n * If *true*, only issues with the property are eligible.\n * If *false*, only issues without the property are eligible.\n\nIf more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible.\n\nIf an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value).\n\nThe filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either all eligible issues are updated or, when errors occur, none are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.","operationId":"bulkSetIssueProperty","parameters":[{"name":"propertyKey","in":"path","description":"The key of the property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkIssuePropertyUpdateRequest"},"example":{"filter":{"hasProperty":true,"entityIds":[10100,100010],"currentValue":{"owner":"admin","weight":50}},"value":{"owner":"admin","weight":100}}}},"required":true},"responses":{"303":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue properties"],"summary":"Bulk delete issue property","description":"Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.\n\nThe criteria the filter used to identify eligible issues are:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n\nIf both criteria is specified, they are joined with the logical *AND*: only issues that satisfy both criteria are considered eligible.\n\nIf no filter criteria are specified, all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.","operationId":"bulkDeleteIssueProperty","parameters":[{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFilterForBulkPropertyDelete"},"example":{"entityIds":[10100,100010],"currentValue":"deprecated value"}}},"required":true},"responses":{"303":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}":{"get":{"tags":["Issues"],"summary":"Get issue","description":"Returns the details for an issue.\n\nThe issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is **not** returned. The issue key returned in the response is the key of the issue found.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all (default) fields except description.\n * `*navigable,-comment` Returns all navigable fields except comment.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2& fields=field3`.\n\nNote: All fields are returned by default. This differs from [Search for issues using JQL (GET)](#api-rest-api-2-search-get) and [Search for issues using JQL (POST)](#api-rest-api-2-search-post) where the default is all navigable fields.","schema":{"type":"array","items":{"type":"string","default":"*all"}}},{"name":"fieldsByKeys","in":"query","description":"Whether fields in `fields` are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID.","schema":{"type":"boolean","default":false}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the `fields` parameter is ignored.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:\n\n * `*all` Returns all issue properties.\n * Any issue property key, prefixed with a minus to exclude.\n\nExamples:\n\n * `*all` Returns all properties.\n * `*all,-prop1` Returns all properties except `prop1`.\n * `prop1,prop2` Returns `prop1` and `prop2` properties.\n\nThis parameter may be specified multiple times. For example, `properties=prop1,prop2& properties=prop3`.","schema":{"type":"array","items":{"type":"string","default":"null"}}},{"name":"updateHistory","in":"query","description":"Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. This also populates the [JQL issues search](#api-rest-api-2-search-get) `lastViewed` field.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueBean"},"example":"{\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10001,\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"debuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:24.538+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10001/debuglog.txt\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":\"Main order flow broken\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:23.506+0000\",\"updated\":\"2021-09-03T02:19:23.507+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2021-09-03T02:19:23.675+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:23.675+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}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issues"],"summary":"Edit issue","description":"Edits an issue. A transition may be applied and issue properties updated as part of the edit.\n\nThe edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are determined using [ Get edit issue metadata](#api-rest-api-2-issue-issueIdOrKey-editmeta-get).\n\nThe parent field may be set by key or ID. For standard issue types, the parent may be removed by setting `update.parent.set.none` to *true*.\n\nConnect app users with admin permissions (from user permissions and app scopes) can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"editIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether a notification email about the issue update is sent to all watchers. To disable the notification, administer Jira or administer project permissions are required. If the user doesn't have the necessary permission the request is ignored.","schema":{"type":"boolean","default":true}},{"name":"overrideScreenSecurity","in":"query","description":"Whether screen security should be overridden to enable hidden fields to be edited. Available to Connect app users with admin permissions.","schema":{"type":"boolean","default":false}},{"name":"overrideEditableFlag","in":"query","description":"Whether screen security should be overridden to enable uneditable fields to be edited. Available to Connect app users with admin permissions.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"historyMetadata":{"actor":{"avatarUrl":"http://mysystem/avatar/tony.jpg","displayName":"Tony","id":"tony","type":"mysystem-user","url":"http://mysystem/users/tony"},"extraData":{"Iteration":"10a","Step":"4"},"description":"From the order testing process","generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"activityDescription":"Complete order processing","type":"myplugin:type"},"update":{"summary":[{"set":"Bug in business logic"}],"components":[{"set":""}],"timetracking":[{"edit":{"remainingEstimate":"4d","originalEstimate":"1w 1d"}}],"labels":[{"add":"triaged"},{"remove":"blocker"}]},"fields":{"summary":"Completed orders still displaying in pending","customfield_10010":1,"customfield_10000":"Investigation underway"},"properties":[{"value":"Order number 10784","key":"key1"},{"value":"Order number 10923","key":"key2"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the request body is missing.\n * the user does not have the necessary permission to edit one or more fields.\n * the request includes one or more fields that are not found or are not associated with the issue's edit screen.\n * the request includes an invalid transition."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user uses `overrideScreenSecurity` or `overrideEditableFlag` but doesn't have the necessary permission."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issues"],"summary":"Delete issue","description":"Deletes an issue.\n\nAn issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`. This causes the issue's subtasks to be deleted with the issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Delete issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"deleteSubtasks","in":"query","description":"Whether the issue's subtasks are deleted when the issue is deleted.","schema":{"type":"string","enum":["true","false"],"default":"false"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue has subtasks and `deleteSubtasks` is not set to *true*."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to delete the issue."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/assignee":{"put":{"tags":["Issues"],"summary":"Assign issue","description":"Assigns an issue to a user. Use this operation when the calling user does not have the *Edit Issues* permission but has the *Assign issue* permission for the project that the issue is in.\n\nIf `name` or `accountId` is set to:\n\n * `\"-1\"`, the issue is assigned to the default assignee for the project.\n * `null`, the issue is set to unassigned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* and *Assign Issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"assignIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue to be assigned.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The request object with the user that the issue is assigned to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":{"accountId":"5b10ac8d82e05b22cc7d4ef5"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `name`, `key`, or `accountId` is missing.\n * more than one of `name`, `key`, and `accountId` are provided."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/attachments":{"post":{"tags":["Issue attachments"],"summary":"Add attachment","description":"Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)).\n\nNote that:\n\n * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information.\n * The name of the multipart/form-data parameter that contains the attachments must be `file`.\n\nThe following examples upload a file called *myfile.txt* to the issue *TEST-123*:\n\n#### curl ####\n\n curl --location --request POST 'https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments'\n -u 'email@example.com:'\n -H 'X-Atlassian-Token: no-check'\n --form 'file=@\"myfile.txt\"'\n\n#### Node.js ####\n\n // This code sample uses the 'node-fetch' and 'form-data' libraries:\n // https://www.npmjs.com/package/node-fetch\n // https://www.npmjs.com/package/form-data\n const fetch = require('node-fetch');\n const FormData = require('form-data');\n const fs = require('fs');\n \n const filePath = 'myfile.txt';\n const form = new FormData();\n const stats = fs.statSync(filePath);\n const fileSizeInBytes = stats.size;\n const fileStream = fs.createReadStream(filePath);\n \n form.append('file', fileStream, {knownLength: fileSizeInBytes});\n \n fetch('https://your-domain.atlassian.net/rest/api/2/issue/TEST-123/attachments', {\n method: 'POST',\n body: form,\n headers: {\n 'Authorization': `Basic ${Buffer.from(\n 'email@example.com:'\n ).toString('base64')}`,\n 'Accept': 'application/json',\n 'X-Atlassian-Token': 'no-check'\n }\n })\n .then(response => {\n console.log(\n `Response: ${response.status} ${response.statusText}`\n );\n return response.text();\n })\n .then(text => console.log(text))\n .catch(err => console.error(err));\n\n#### Java ####\n\n // This code sample uses the 'Unirest' library:\n // http://unirest.io/java.html\n HttpResponse response = Unirest.post(\"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\")\n .basicAuth(\"email@example.com\", \"\")\n .header(\"Accept\", \"application/json\")\n .header(\"X-Atlassian-Token\", \"no-check\")\n .field(\"file\", new File(\"myfile.txt\"))\n .asJson();\n \n System.out.println(response.getBody());\n\n#### Python ####\n\n # This code sample uses the 'requests' library:\n # http://docs.python-requests.org\n import requests\n from requests.auth import HTTPBasicAuth\n import json\n \n url = \"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\"\n \n auth = HTTPBasicAuth(\"email@example.com\", \"\")\n \n headers = {\n \"Accept\": \"application/json\",\n \"X-Atlassian-Token\": \"no-check\"\n }\n \n response = requests.request(\n \"POST\",\n url,\n headers = headers,\n auth = auth,\n files = {\n \"file\": (\"myfile.txt\", open(\"myfile.txt\",\"rb\"), \"application-type\")\n }\n )\n \n print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(\",\", \": \")))\n\n#### PHP ####\n\n // This code sample uses the 'Unirest' library:\n // http://unirest.io/php.html\n Unirest\\Request::auth('email@example.com', '');\n \n $headers = array(\n 'Accept' => 'application/json',\n 'X-Atlassian-Token' => 'no-check'\n );\n \n $parameters = array(\n 'file' => File::add('myfile.txt')\n );\n \n $response = Unirest\\Request::post(\n 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments',\n $headers,\n $parameters\n );\n \n var_dump($response)\n\n#### Forge ####\n\n // This sample uses Atlassian Forge and the `form-data` library.\n // https://developer.atlassian.com/platform/forge/\n // https://www.npmjs.com/package/form-data\n import api from \"@forge/api\";\n import FormData from \"form-data\";\n \n const form = new FormData();\n form.append('file', fileStream, {knownLength: fileSizeInBytes});\n \n const response = await api.asApp().requestJira('/rest/api/2/issue/{issueIdOrKey}/attachments', {\n method: 'POST',\n body: form,\n headers: {\n 'Accept': 'application/json',\n 'X-Atlassian-Token': 'no-check'\n }\n });\n \n console.log(`Response: ${response.status} ${response.statusText}`);\n console.log(await response.json());\n\nTip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** \n\n * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addAttachment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue that attachments are added to.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10000\",\"id\":\"10001\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"2021-09-03T02:19:25.947+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/secure/thumbnail/10000/picture.jpg\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"dbeuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"2021-09-03T02:19:25.947+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/secure/attachments/10001/dbeuglog.txt\"}]"}}},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * the issue is not found.\n * the user does not have permission to view the issue."},"413":{"description":"The attachments exceed the maximum attachment size for issues. See [Configuring file attachments](https://confluence.atlassian.com/x/wIXKM) for details."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/changelog":{"get":{"tags":["Issues"],"summary":"Get changelogs","description":"Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getChangeLogs","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanChangelog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/TT-1/changelog?startAt=2&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/issue/TT-1/changelog?&startAt=4&maxResults=2\",\"maxResults\":2,\"startAt\":2,\"total\":5,\"isLast\":false,\"values\":[{\"id\":\"10001\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:50.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"\",\"to\":null,\"toString\":\"label-1\"}]},{\"id\":\"10002\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:51.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"label-1\",\"to\":null,\"toString\":\"label-1 label-2\"}]}]}"}}},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/{issueIdOrKey}/changelog/list":{"post":{"tags":["Issues"],"summary":"Get changelogs by IDs","description":"Returns changelogs for an issue specified by a list of changelog IDs.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getChangeLogsByIds","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueChangelogIds"},"example":{"changelogIds":[10001,10002]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfChangelogs"},"example":"{\"startAt\":0,\"maxResults\":2,\"total\":2,\"histories\":[{\"id\":\"10001\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:50.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"\",\"to\":null,\"toString\":\"label-1\"}]},{\"id\":\"10002\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:51.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"label-1\",\"to\":null,\"toString\":\"label-1 label-2\"}]}]}"}}},"400":{"description":"Returned if the request is not valid."},"404":{"description":"Returned if the issue is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/comment":{"get":{"tags":["Issue comments"],"summary":"Get comments","description":"Returns all comments for an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is restricted to.","operationId":"getComments","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field. Accepts *created* to sort comments by their created date.","schema":{"type":"string","enum":["created","-created","+created"]}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfComments"},"example":"{\"startAt\":0,\"maxResults\":1,\"total\":1,\"comments\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:23.506+0000\",\"updated\":\"2021-09-03T02:19:23.507+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}]}"}}},"400":{"description":"Returned if `orderBy` is set to a value other than *created*."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue comments"],"summary":"Add comment","description":"Adds a comment to an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":{"visibility":{"type":"role","value":"Administrators"},"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."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:23.506+0000\",\"updated\":\"2021-09-03T02:19:23.507+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/comment/{id}":{"get":{"tags":["Issue comments"],"summary":"Get comment","description":"Returns a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"getComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:23.506+0000\",\"updated\":\"2021-09-03T02:19:23.507+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue comments"],"summary":"Update comment","description":"Updates a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or *Edit own comments* to update comment created by the user.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"updateComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":{"visibility":{"type":"role","value":"Administrators"},"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."}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:23.506+0000\",\"updated\":\"2021-09-03T02:19:23.507+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"400":{"description":"Returned if the user does not have permission to edit the comment or the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue comments"],"summary":"Delete comment","description":"Deletes a comment.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or *Delete own comments* to delete comment created by the user,\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"deleteComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the user does not have permission to delete the comment."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."},"405":{"description":"Returned if an anonymous call is made to the operation."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/editmeta":{"get":{"tags":["Issues"],"summary":"Get edit issue metadata","description":"Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to populate the requests in [Edit issue](#api-rest-api-2-issue-issueIdOrKey-put).\n\nConnect app users with admin permissions (from user permissions and app scopes) can return additional details using:\n\n * `overrideScreenSecurity` Returns hidden fields.\n * `overrideEditableFlag` Returns uneditable fields. For example, where an issue has a workflow status of closed none of its fields are editable.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote: For any fields to be editable the user must have the *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the issue.","operationId":"getEditIssueMeta","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"overrideScreenSecurity","in":"query","description":"Whether hidden fields should be returned. Available to connect app users with admin permissions.","schema":{"type":"boolean","default":false}},{"name":"overrideEditableFlag","in":"query","description":"Whether non-editable fields should be returned. Available to connect app users with admin permissions.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateMetadata"},"example":"{\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user uses an override parameter but doesn't have permission to do so."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/{issueIdOrKey}/notify":{"post":{"tags":["Issues"],"summary":"Send notification for issue","description":"Creates an email notification for an issue and adds it to the mail queue.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"notify","parameters":[{"name":"issueIdOrKey","in":"path","description":"ID or key of the issue that the notification is sent for.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The request object for the notification and recipients.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Notification"},"example":{"htmlBody":"The latest test results for this ticket are now available.","subject":"Latest test results","textBody":"The latest test results for this ticket are now available.","to":{"voters":true,"watchers":true,"groups":[{"name":"notification-group"}],"reporter":false,"assignee":false,"users":[{"accountId":"5b10a2844c20165700ede21g","active":false}]},"restrict":{"permissions":[{"key":"BROWSE"}],"groups":[{"name":"notification-group"}]}}}},"required":true},"responses":{"204":{"description":"Returned if the email is queued for sending.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the recipient is the same as the calling user.\n * the recipient is invalid. For example, the recipient is set to the assignee, but the issue is unassigned.\n * the request is invalid. For example, required fields are missing or have invalid values."},"403":{"description":"Returned if:\n\n * outgoing emails are disabled.\n * no SMTP server is configured."},"404":{"description":"Returned if the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/properties":{"get":{"tags":["Issue properties"],"summary":"Get issue property keys","description":"Returns the URLs and keys of an issue's properties.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Property details are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssuePropertyKeys","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"404":{"description":"Returned if the issue is not found or the user does not have permissions to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/{issueIdOrKey}/properties/{propertyKey}":{"get":{"tags":["Issue properties"],"summary":"Get issue property","description":"Returns the key and value of an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or property is not found or the user does not have permission to see the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue properties"],"summary":"Set issue property","description":"Sets the value of an issue's property. Use this resource to store custom data against an issue.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"setIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the issue property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the issue property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the issue."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue properties"],"summary":"Delete issue property","description":"Deletes an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or property is not found, or the user does not have permission to edit the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/remotelink":{"get":{"tags":["Issue remote links"],"summary":"Get remote issue links","description":"Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getRemoteIssueLinks","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"globalId","in":"query","description":"The global ID of the remote issue link.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLink"},"example":"[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/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\":\"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\":\"https://your-domain.atlassian.net/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 item\",\"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/mia.gif\",\"title\":\"Tested by Mia Krystof\",\"link\":\"http://www.anothercompany.com/tester/person?accountId=5b10a2844c20165700ede21g\"}}}}]"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if issue linking is disabled."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue remote links"],"summary":"Create or update remote issue link","description":"Creates or updates a remote issue link for an issue.\n\nIf a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without values in the request are set to null. Otherwise, the remote issue link is created.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"createOrUpdateRemoteIssueLink","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkRequest"},"example":{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","relationship":"causes","object":{"summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1","status":{"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed"},"resolved":true}}}}},"required":true},"responses":{"200":{"description":"Returned if the remote issue link is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkIdentifies"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"}"}}},"201":{"description":"Returned if the remote issue link is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkIdentifies"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue remote links"],"summary":"Delete remote issue link by global ID","description":"Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security permission to view the issue.","operationId":"deleteRemoteIssueLinkByGlobalId","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"globalId","in":"query","description":"The global ID of a remote issue link.","required":true,"schema":{"type":"string","example":"system=http://www.mycompany.com/support&id=1"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if a global ID isn't provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/remotelink/{linkId}":{"get":{"tags":["Issue remote links"],"summary":"Get remote issue link by ID","description":"Returns a remote issue link for an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getRemoteIssueLinkById","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","description":"The ID of the remote issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLink"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/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\":\"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\"}}}}"}}},"400":{"description":"Returned if the link ID is invalid or the remote issue link does not belong to the issue."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if issue linking is disabled."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue remote links"],"summary":"Update remote issue link by ID","description":"Updates a remote issue link for an issue.\n\nNote: Fields without values in the request are set to null.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"updateRemoteIssueLink","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"linkId","in":"path","description":"The ID of the remote issue link.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkRequest"},"example":{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","relationship":"causes","object":{"summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1","status":{"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed"},"resolved":true}}}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the link ID is invalid.\n * the remote issue link does not belong to the issue.\n * the request body is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue remote links"],"summary":"Delete remote issue link by ID","description":"Deletes a remote issue link from an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects*, *Edit issues*, and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteRemoteIssueLinkById","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"linkId","in":"path","description":"The ID of a remote issue link.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the link ID is invalid or the remote issue link does not belong to the issue."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/transitions":{"get":{"tags":["Issues"],"summary":"Get transitions","description":"Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's status.\n\nNote, if a request is made for a transition that does not exist or cannot be performed on the issue, given its status, the response will return any empty transitions list.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required: A list or transition is returned only when the user has:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nHowever, if the user does not have the *Transition issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.","operationId":"getTransitions","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about transitions in the response. This parameter accepts `transitions.fields`, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the `fields` and `update` fields in [Transition issue](#api-rest-api-2-issue-issueIdOrKey-transitions-post).","schema":{"type":"string"}},{"name":"transitionId","in":"query","description":"The ID of the transition.","schema":{"type":"string"}},{"name":"skipRemoteOnlyCondition","in":"query","description":"Whether transitions with the condition *Hide From User Condition* are included in the response.","schema":{"type":"boolean","default":false}},{"name":"includeUnavailableTransitions","in":"query","description":"Whether details of transitions that fail a condition are included in the response","schema":{"type":"boolean","default":false}},{"name":"sortByOpsBarAndStatus","in":"query","description":"Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transitions"},"example":"{\"transitions\":[{\"id\":\"2\",\"name\":\"Close Issue\",\"to\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},\"hasScreen\":false,\"isGlobal\":false,\"isInitial\":false,\"isAvailable\":true,\"isConditional\":false,\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}},{\"id\":\"711\",\"name\":\"QA Review\",\"to\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}},\"hasScreen\":true,\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"},\"colour\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issues"],"summary":"Transition issue","description":"Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.\n\nsortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update` parameters in the request body. Get details about the fields using [ Get transitions](#api-rest-api-2-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Transition issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"doTransition","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"historyMetadata":{"actor":{"avatarUrl":"http://mysystem/avatar/tony.jpg","displayName":"Tony","id":"tony","type":"mysystem-user","url":"http://mysystem/users/tony"},"extraData":{"Iteration":"10a","Step":"4"},"description":"From the order testing process","generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"activityDescription":"Complete order processing","type":"myplugin:type"},"update":{"comment":[{"add":{"body":"Bug has been fixed."}}]},"fields":{"assignee":{"name":"Will"},"resolution":{"name":"Fixed"}},"transition":{"id":"5"}}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * no transition is specified.\n * the user does not have permission to transition the issue.\n * a field that isn't included on the transition screen is defined in `fields` or `update`.\n * a field is specified in both `fields` and `update`.\n * the request is invalid for any other reason."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/votes":{"get":{"tags":["Issue votes"],"summary":"Get votes","description":"Returns details about the votes on an issue.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote that users with the necessary permissions for this operation but without the *View voters and watchers* project permissions are not returned details in the `voters` field.","operationId":"getVotes","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Votes"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/votes\",\"votes\":24,\"hasVoted\":true,\"voters\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the user does not have permission to view the issue.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue votes"],"summary":"Add vote","description":"Adds the user's vote to an issue. This is the equivalent of the user clicking *Vote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addVote","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue votes"],"summary":"Delete vote","description":"Deletes a user's vote from an issue. This is the equivalent of the user clicking *Unvote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"removeVote","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the user has not voted on the issue.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/watchers":{"get":{"tags":["Issue watchers"],"summary":"Get issue watchers","description":"Returns the watchers for an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To see details of users on the watchlist other than themselves, *View voters and watchers* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"getIssueWatchers","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Watchers"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue watchers"],"summary":"Add watcher","description":"Adds a user as a watcher of an issue by passing the account ID of the user. For example, `\"5b10ac8d82e05b22cc7d4ef5\"`. If no user is specified the calling user is added.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To add users other than themselves to the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"addWatcher","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The account ID of the user. Note that username cannot be used due to privacy changes.","content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the permission to manage the watcher list."},"404":{"description":"Returned if the issue or the user is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue watchers"],"summary":"Delete watcher","description":"Deletes a user as a watcher of an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To remove users other than themselves from the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"removeWatcher","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if `accountId` is not supplied."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the permission to manage the watcher list."},"404":{"description":"Returned if the issue or the user is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/worklog":{"get":{"tags":["Issue worklogs"],"summary":"Get issue worklogs","description":"Returns worklogs for an issue, starting from the oldest worklog or from the worklog started on or after a date and time.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Workloads are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getIssueWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1048576}},{"name":"startedAfter","in":"query","description":"The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned.","schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts`properties`, which returns worklog properties.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfWorklogs"},"example":"{\"startAt\":0,\"maxResults\":1,\"total\":1,\"worklogs\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2021-09-03T02:19:23.675+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:23.675+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue is not found or the user does not have permission to view the issue.\n * `startAt` or `maxResults` has non-numeric values.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue worklogs"],"summary":"Add worklog","description":"Adds a worklog to an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Work on issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key the issue.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Reduces the estimate by amount specified in `reduceBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"reduceBy","in":"query","description":"The amount to reduce the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m). For example, *2d*. Required when `adjustEstimate` is `manual`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts `properties`, which returns worklog properties.","schema":{"type":"string","default":""}},{"name":"overrideEditableFlag","in":"query","description":"Whether the worklog entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Only connect app users with admin scope permission can use this flag.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":{"timeSpentSeconds":12000,"visibility":{"type":"group","value":"jira-developers"},"comment":"I did some work here.","started":"2021-09-03T02:19:23.675+0000"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"}}}},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid.\n * the user does not have permission to add the worklog.\n * the request JSON is malformed."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issue/{issueIdOrKey}/worklog/{id}":{"get":{"tags":["Issue worklogs"],"summary":"Get worklog","description":"Returns a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts\n\n`properties`, which returns worklog properties.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2021-09-03T02:19:23.675+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:23.675+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or the user does not have permission to view it.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled.\n\n."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue worklogs"],"summary":"Update worklog","description":"Updates a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"updateWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `auto` Updates the estimate by the difference between the original and updated value of `timeSpent` or `timeSpentSeconds`.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties`, which returns worklog properties.","schema":{"type":"string","default":""}},{"name":"overrideEditableFlag","in":"query","description":"Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue is closed. Only connect app users with admin permissions can use this flag.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":{"timeSpentSeconds":12000,"visibility":{"type":"group","value":"jira-developers"},"comment":"I did some work here.","started":"2021-09-03T02:19:23.675+0000"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2021-09-03T02:19:23.675+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:23.675+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}"}}},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * the user does not have permission to update the worklog.\n * the request JSON is malformed."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or user does not have permission to view the issue.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue worklogs"],"summary":"Delete worklog","description":"Deletes a worklog from an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or *Delete own worklogs* to delete worklogs created by the user,\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"deleteWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Increases the estimate by amount specified in `increaseBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"increaseBy","in":"query","description":"The amount to increase the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `manual`.","schema":{"type":"string"}},{"name":"overrideEditableFlag","in":"query","description":"Whether the work log entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Only connect app users with admin permissions can use this flag.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid.\n * the user does not have permission to delete the worklog."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or user does not have permission to view the issue.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issue/{issueIdOrKey}/worklog/{worklogId}/properties":{"get":{"tags":["Issue worklog properties"],"summary":"Get worklog property keys","description":"Returns the keys of all properties for a worklog.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklogPropertyKeys","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue or worklog is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}":{"get":{"tags":["Issue worklog properties"],"summary":"Get worklog property","description":"Returns the value of a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue, worklog, or property is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue worklog properties"],"summary":"Set worklog property","description":"Sets the value of a worklog property. Use this operation to store custom data against the worklog.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"setWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the worklog property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the worklog property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the worklog."},"404":{"description":"Returned if:\n\n * the issue or worklog is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue worklog properties"],"summary":"Delete worklog property","description":"Deletes a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"deleteWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the worklog property is removed."},"400":{"description":"Returned if the worklog key or id is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the worklog."},"404":{"description":"Returned if:\n\n * the issue, worklog, or property is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issueLink":{"post":{"tags":["Issue links"],"summary":"Create issue link","description":"Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally add a comment to the from (outward) issue. To use this resource the site must have [Issue Linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use `https://your-domain.atlassian.net/rest/api/2/issue/[linked issue key]?fields=issuelinks`.\n\nIf the link request duplicates a link, the response indicates that the issue link was created. If the request included a comment, the comment is added.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues to be linked,\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from (outward) issue,\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"linkIssues","parameters":[],"requestBody":{"description":"The issue link request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkIssueRequestJsonBean"},"example":{"outwardIssue":{"key":"MKY-1"},"comment":{"visibility":{"type":"group","value":"jira-software-users"},"body":"Linked related issue!"},"inwardIssue":{"key":"HSP-1"},"type":{"name":"Duplicate"}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the comment is not created. The response contains an error message indicating why the comment wasn't created. The issue link is also not created."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the user cannot view one or both of the issues. For example, the user doesn't have *Browse project* project permission for a project containing one of the issues.\n * the user does not have *link issues* project permission.\n * either of the link issues are not found.\n * the issue link type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/2/issueLink/{linkId}":{"get":{"tags":["Issue links"],"summary":"Get issue link","description":"Returns an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the linked issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.","operationId":"getIssueLink","parameters":[{"name":"linkId","in":"path","description":"The ID of the issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLink"},"example":"{\"id\":\"10001\",\"type\":{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"},\"inwardIssue\":{\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\",\"fields\":{\"status\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}},\"priority\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/5\",\"statusColor\":\"#cfcfcf\",\"description\":\"Very little impact.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\",\"name\":\"Trivial\",\"id\":\"2\"},\"issuetype\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}}},\"outwardIssue\":{\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\",\"fields\":{\"status\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},\"priority\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"},\"issuetype\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0}}}}"}}},"400":{"description":"Returned if the issue link ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link is not found.\n * the user doesn't have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Issue links"],"summary":"Delete issue link","description":"Deletes an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues in the link.\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects containing issues in the link.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.","operationId":"deleteIssueLink","parameters":[{"name":"linkId","in":"path","description":"The ID of the issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"200 response"},"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue link ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link is not found.\n * the user doesn't have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/issueLinkType":{"get":{"tags":["Issue link types"],"summary":"Get issue link types","description":"Returns a list of all issue link types.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.","operationId":"getIssueLinkTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkTypes"},"example":"{\"issueLinkTypes\":[{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"},{\"id\":\"1010\",\"name\":\"Blocks\",\"inward\":\"Blocked by\",\"outward\":\"Blocks\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1010\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if issue linking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue link types"],"summary":"Create issue link type","description":"Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The issue link type consists of a name and descriptions for a link's inward and outward relationships.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueLinkType","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":{"inward":"Duplicated by","name":"Duplicate","outward":"Duplicates"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type name is in use.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issueLinkType/{issueLinkTypeId}":{"get":{"tags":["Issue link types"],"summary":"Get issue link type","description":"Returns an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.","operationId":"getIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the issue link type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue link types"],"summary":"Update issue link type","description":"Updates an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":{"inward":"Duplicated by","name":"Duplicate","outward":"Duplicates"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the issue link type ID or the request body are invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue link types"],"summary":"Delete issue link type","description":"Deletes an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue link type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuesecurityschemes":{"get":{"tags":["Issue security schemes"],"summary":"Get issue security schemes","description":"Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueSecuritySchemes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySchemes"},"example":"{\"issueSecuritySchemes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer issue security schemes."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/issuesecurityschemes/{id}":{"get":{"tags":["Issue security schemes"],"summary":"Get issue security scheme","description":"Returns an issue security scheme along with its security levels.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the requested issue security scheme.","operationId":"getIssueSecurityScheme","parameters":[{"name":"id","in":"path","description":"The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021,\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the administrator permission and the scheme is not used in any project where the user has administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/issuesecurityschemes/{issueSecuritySchemeId}/members":{"get":{"tags":["Issue security level"],"summary":"Get issue security level members","description":"Returns issue security level members.\n\nOnly issue security level members in context of classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueSecurityLevelMembers","parameters":[{"name":"issueSecuritySchemeId","in":"path","description":"The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueSecurityLevelId","in":"query","description":"The list of issue security level IDs. To include multiple issue security levels separate IDs with ampersand: `issueSecurityLevelId=10000&issueSecurityLevelId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueSecurityLevelMember"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":10000,\"issueSecurityLevelId\":10020,\"holder\":{\"type\":\"user\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"expand\":\"user\"}},{\"id\":10001,\"issueSecurityLevelId\":10020,\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"}},{\"id\":10002,\"issueSecurityLevelId\":10021,\"holder\":{\"type\":\"assignee\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if no issue security level members are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/issuetype":{"get":{"tags":["Issue types"],"summary":"Get all issue types for user","description":"Returns all issue types.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issue types are only returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue types are returned.\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, the issue types associated with the projects the user has permission to browse are returned.","operationId":"getIssueAllTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue types"],"summary":"Create issue type","description":"Creates an issue type and adds it to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueType","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeCreateBean"},"example":{"name":"name","description":"description","type":"standard"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"}}}},"400":{"description":"Returned if the request is invalid because:\n\n * no content is sent.\n * the issue type name exceeds 60 characters.\n * a subtask issue type is requested on an instance where subtasks are disabled."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"409":{"description":"Returned if the issue type name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetype/project":{"get":{"tags":["Issue types"],"summary":"Get issue types for project","description":"Returns issue types for a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypesForProject","parameters":[{"name":"projectId","in":"query","description":"The ID of the project.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"level","in":"query","description":"The level of the issue type to filter by. Use:\n\n * `-1` for Subtask.\n * `0` for Base.\n * `1` for Epic.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issuetype/{id}":{"get":{"tags":["Issue types"],"summary":"Get issue type","description":"Returns an issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated with or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue types"],"summary":"Update issue type","description":"Updates the issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeUpdateBean"},"example":{"avatarId":1,"name":"name","description":"description"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"}}}},"400":{"description":"Returned if the request is invalid because:\n\n * no content is sent.\n * the issue type name exceeds 60 characters.\n * the avatar is not associated with this issue type."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type is not found."},"409":{"description":"Returned if the issue type name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue types"],"summary":"Delete issue type","description":"Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue types](#api-rest-api-2-issuetype-id-alternatives-get) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"alternativeIssueTypeId","in":"query","description":"The ID of the replacement issue type.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if any issues cannot be updated with the alternative issue type."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the issue type is in use and an alternative issue type is not specified.\n * the issue type or alternative issue type is not found."},"409":{"description":"Returned if the issue type is in use and:\n\n * also specified as the alternative issue type.\n * is a *standard* issue type and the alternative issue type is a *subtask*."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetype/{id}/alternatives":{"get":{"tags":["Issue types"],"summary":"Get alternative issue types","description":"Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAlternativeIssueTypes","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issuetype/{id}/avatar2":{"post":{"tags":["Issue types"],"summary":"Load issue type avatar","description":"Loads an avatar for the issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST \\ --user email@example.com: \\ --header 'X-Atlassian-Token: no-check' \\ --header 'Content-Type: image/< image_type>' \\ --data-binary \"<@/path/to/file/with/your/avatar>\" \\ --url 'https://your-domain.atlassian.net/rest/api/2/issuetype/{issueTypeId}'This`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar, use [ Update issue type](#api-rest-api-2-issuetype-id-put) to set it as the issue type's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeAvatar","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image.\n * `cropSize` is missing.\n * the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetype/{issueTypeId}/properties":{"get":{"tags":["Issue type properties"],"summary":"Get issue type property keys","description":"Returns all the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys of the issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any issue types associated with the projects the user has permission to browse.","operationId":"getIssueTypePropertyKeys","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/issuetype/{issueTypeId}/properties/{propertyKey}":{"get":{"tags":["Issue type properties"],"summary":"Get issue type property","description":"Returns the key and value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue types associated with the projects the user has permission to browse.","operationId":"getIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. Use [Get issue type property keys](#api-rest-api-2-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue type or property is not found or the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue type properties"],"summary":"Set issue type property","description":"Creates or updates the value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). Use this resource to store and update data against an issue type.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue type property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{},"example":{"number":5,"string":"string-value"}}},"required":true},"responses":{"200":{"description":"Returned if the issue type property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the issue type property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the issue type ID is invalid.\n * a property value is not provided.\n * the property value JSON content is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to modify the issue type."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the permission view the issue type."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type properties"],"summary":"Delete issue type property","description":"Deletes the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. Use [Get issue type property keys](#api-rest-api-2-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the issue type property is deleted."},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme":{"get":{"tags":["Issue type schemes"],"summary":"Get all issue type schemes","description":"Returns a [paginated](#pagination) list of issue type schemes.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllIssueTypeSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScheme"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\"},{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue type schemes"],"summary":"Create issue type scheme","description":"Creates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeDetails"},"example":{"defaultIssueTypeId":"10002","issueTypeIds":["10001","10002","10003"],"name":"Kanban Issue Type Scheme","description":"A collection of issue types suited to use in a kanban style project."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeID"},"example":"{\"issueTypeSchemeId\":\"10010\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type ID has to be present in issue type IDs list.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the scheme name is used by another scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/mapping":{"get":{"tags":["Issue type schemes"],"summary":"Get issue type scheme items","description":"Returns a [paginated](#pagination) list of issue type scheme items.\n\nOnly issue type scheme items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeSchemesMapping","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueTypeSchemeId","in":"query","description":"The list of issue type scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `issueTypeSchemeId=10000&issueTypeSchemeId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeSchemeMapping"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10000\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10001\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10002\"},{\"issueTypeSchemeId\":\"10001\",\"issueTypeId\":\"10000\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/project":{"get":{"tags":["Issue type schemes"],"summary":"Get issue type schemes for projects","description":"Returns a [paginated](#pagination) list of issue type schemes and, for each issue type scheme, a list of the projects that use it.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeSchemeForProjects","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple project IDs, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeSchemeProjects"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"issueTypeScheme\":{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},\"projectIds\":[\"10000\",\"10001\"]},{\"issueTypeScheme\":{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\"},\"projectIds\":[\"10002\"]},{\"issueTypeScheme\":{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\"},\"projectIds\":[\"10003\",\"10004\",\"10005\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue type schemes"],"summary":"Assign issue type scheme to project","description":"Assigns an issue type scheme to a project.\n\nIf any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To complete the assignment those issues must be updated to use issue types in the new scheme.\n\nIssue type schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignIssueTypeSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeProjectAssociation"},"example":{"issueTypeSchemeId":"10000","projectId":"10000"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"This issue type scheme can't be assigned to the project. This is because some issues in this project use issue types not present in the scheme. Before assigning the scheme to the project, update the issue types on these issues: 7\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme or the project is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/{issueTypeSchemeId}":{"put":{"tags":["Issue type schemes"],"summary":"Update issue type scheme","description":"Updates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeUpdateDetails"},"example":{"defaultIssueTypeId":"10002","name":"Kanban Issue Type Scheme","description":"A collection of issue types suited to use in a kanban style project."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type has to be one of the issue types of the scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type schemes"],"summary":"Delete issue type scheme","description":"Deletes an issue type scheme.\n\nOnly issue type schemes used in classic projects can be deleted.\n\nAny projects assigned to the scheme are reassigned to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the issue type scheme is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is to delete the default issue type scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type scheme can't be removed.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype":{"put":{"tags":["Issue type schemes"],"summary":"Add issue types to issue type scheme","description":"Adds issue types to an issue type scheme.\n\nThe added issue types are appended to the issue types list.\n\nIf any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addIssueTypesToIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIds"},"example":{"issueTypeIds":["10000","10002","10003"]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types were not added because they are already present in the issue type scheme: 10002, 10003\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type or the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types were not found: 10000, 10002\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/move":{"put":{"tags":["Issue type schemes"],"summary":"Change order of issue types","description":"Changes the order of issue types in an issue type scheme.\n\nThe request body parameters must meet the following requirements:\n\n * all of the issue types must belong to the issue type scheme.\n * either `after` or `position` must be provided.\n * the issue type in `after` must not be in the issue type list.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"reorderIssueTypesInIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderOfIssueTypes"},"example":{"issueTypeIds":["10001","10004","10002"],"after":"10008"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme does not include some of the specified issue types. Issue type IDs missing from the scheme are: 10007, 10008\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescheme/{issueTypeSchemeId}/issuetype/{issueTypeId}":{"delete":{"tags":["Issue type schemes"],"summary":"Remove issue type from issue type scheme","description":"Removes an issue type from an issue type scheme.\n\nThis operation cannot remove:\n\n * any issue type used by issues.\n * any issue types from the default issue type scheme.\n * the last standard issue type from an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeIssueTypeFromIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Can't remove the last standard issue type from the issue type scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is missing or the issue type is not found in the issue type scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type was not found in the issue type scheme.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen schemes","description":"Returns a [paginated](#pagination) list of issue type screen schemes.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of issue type screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenScheme"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},{\"id\":\"10000\",\"name\":\"Office issue type screen scheme\",\"description\":\"Managing office projects\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue type screen schemes"],"summary":"Create issue type screen scheme","description":"Creates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeScreenScheme","parameters":[],"requestBody":{"description":"An issue type screen scheme bean.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeDetails"},"example":{"name":"Scrum issue type screen scheme","issueTypeMappings":[{"issueTypeId":"default","screenSchemeId":"10001"},{"issueTypeId":"10001","screenSchemeId":"10002"},{"issueTypeId":"10002","screenSchemeId":"10002"}]}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeId"},"example":"{\"id\":\"10001\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more issue type IDs are repeated, an issue type ID can only be specified once.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type or screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more issue type IDs were not found.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/mapping":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen scheme items","description":"Returns a [paginated](#pagination) list of issue type screen scheme items.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemeMappings","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueTypeScreenSchemeId","in":"query","description":"The list of issue type screen scheme IDs. To include multiple issue type screen schemes, separate IDs with ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenSchemeItem"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"issueTypeScreenSchemeId\":\"10020\",\"issueTypeId\":\"10000\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10021\",\"issueTypeId\":\"10001\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10022\",\"issueTypeId\":\"10002\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10023\",\"issueTypeId\":\"default\",\"screenSchemeId\":\"10011\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/project":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen schemes for projects","description":"Returns a [paginated](#pagination) list of issue type screen schemes and, for each issue type screen scheme, a list of the projects that use it.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemeProjectAssociations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenSchemesProjects"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"issueTypeScreenScheme\":{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},\"projectIds\":[\"10000\",\"10001\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue type screen schemes"],"summary":"Assign issue type screen scheme to project","description":"Assigns an issue type screen scheme to a project.\n\nIssue type screen schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignIssueTypeScreenSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeProjectAssociation"},"example":{"issueTypeScreenSchemeId":"10001","projectId":"10002"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * project is not found.\n * issue type screen scheme is not found.\n * the project is not a classic project.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have issue type screen schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme or the project are missing.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}":{"put":{"tags":["Issue type screen schemes"],"summary":"Update issue type screen scheme","description":"Updates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type screen scheme update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeUpdateDetails"},"example":{"name":"Scrum scheme","description":"Screens for scrum issue types."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme name is in use.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type screen schemes"],"summary":"Delete issue type screen scheme","description":"Deletes an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the issue type screen scheme is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme cannot be deleted because it is assigned to one or more projects.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."},"404":{"description":"Returned if the issue type screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping":{"put":{"tags":["Issue type screen schemes"],"summary":"Append mappings to issue type screen scheme","description":"Appends issue type to screen scheme mappings to an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"appendMappingsForIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeMappingDetails"},"example":{"issueTypeMappings":[{"issueTypeId":"10000","screenSchemeId":"10001"},{"issueTypeId":"10001","screenSchemeId":"10002"},{"issueTypeId":"10002","screenSchemeId":"10002"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"A default mapping cannot be added.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."},"404":{"description":"Returned if the issue type screen scheme, issue type, or screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/default":{"put":{"tags":["Issue type screen schemes"],"summary":"Update issue type screen scheme default screen scheme","description":"Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all unmapped issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDefaultScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDefaultScreenScheme"},"example":{"screenSchemeId":"10010"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screenSchemeId has to be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme or the screen screen is not found, or the screen scheme isn't used in classic projects.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/remove":{"post":{"tags":["Issue type screen schemes"],"summary":"Remove mappings from issue type screen scheme","description":"Removes issue type to screen scheme mappings from an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeMappingsFromIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIds"},"example":{"issueTypeIds":["10000","10001","10004"]}}},"required":true},"responses":{"204":{"description":"Returned if the screen scheme mappings are removed from the issue type screen scheme.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issueTypeIds must not contain duplicates.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme or one or more issue type mappings are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/issuetypescreenscheme/{issueTypeScreenSchemeId}/project":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen scheme projects","description":"Returns a [paginated](#pagination) list of projects associated with an issue type screen scheme.\n\nOnly company-managed projects associated with an issue type screen scheme are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectsForIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanProjectDetails"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectTypeKey\":\"ProjectTypeKey{key='software'}\",\"simplified\":false,\"avatarUrls\":{\"48x48\":\"secure/projectavatar?size=large&pid=10000\",\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"id\":\"10000\",\"description\":\"Project category description\",\"name\":\"A project category\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/jql/autocompletedata":{"get":{"tags":["JQL"],"summary":"Get field reference data (GET)","description":"Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.\n\nTo filter visible field details by project or collapse non-unique fields by field type then [Get field reference data (POST)](#api-rest-api-2-jql-autocompletedata-post) can be used.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAutoComplete","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLReferenceData"},"example":"{\"visibleFieldNames\":[{\"value\":\"summary\",\"displayName\":\"summary\",\"orderable\":\"true\",\"searchable\":\"true\",\"operators\":[\"~\",\"!~\",\"is\",\"is not\"],\"types\":[\"java.lang.String\"]},{\"value\":\"Sprint\",\"displayName\":\"Sprint - cf[10880]\",\"orderable\":\"true\",\"searchable\":\"true\",\"auto\":\"true\",\"cfid\":\"cf[10880]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.greenhopper.service.sprint.Sprint\"]}],\"visibleFunctionNames\":[{\"value\":\"standardIssueTypes()\",\"displayName\":\"standardIssueTypes()\",\"isList\":\"true\",\"types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"]}],\"jqlReservedWords\":[\"empty\",\"and\",\"or\",\"in\",\"distinct\"]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["JQL"],"summary":"Get field reference data (POST)","description":"Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.\n\nThis operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored. System fields are always returned.\n\nIt can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across all fields with the same name and of the same field type. For example, the collapsed field `Component - Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched simultaneously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAutoCompletePost","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchAutoCompleteFilter"},"example":{"projectIds":[10000,10001,10002],"includeCollapsedFields":true}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLReferenceData"},"example":"{\"visibleFieldNames\":[{\"value\":\"summary\",\"displayName\":\"summary\",\"orderable\":\"true\",\"searchable\":\"true\",\"operators\":[\"~\",\"!~\",\"is\",\"is not\"],\"types\":[\"java.lang.String\"]},{\"value\":\"cf[10061]\",\"displayName\":\"Component - cf[10061]\",\"orderable\":\"true\",\"auto\":\"true\",\"cfid\":\"cf[10061]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.jira.issue.customfields.option.Option\"]},{\"value\":\"cf[10062]\",\"displayName\":\"Component - cf[10062]\",\"orderable\":\"true\",\"auto\":\"true\",\"cfid\":\"cf[10062]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.jira.issue.customfields.option.Option\"]},{\"value\":\"\\\"Component[Dropdown]\\\"\",\"displayName\":\"Component - Component[Dropdown]\",\"searchable\":\"true\",\"auto\":\"true\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.jira.issue.customfields.option.Option\"]}],\"visibleFunctionNames\":[{\"value\":\"standardIssueTypes()\",\"displayName\":\"standardIssueTypes()\",\"isList\":\"true\",\"types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"]}],\"jqlReservedWords\":[\"empty\",\"and\",\"or\",\"in\",\"distinct\"]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/jql/autocompletedata/suggestions":{"get":{"tags":["JQL"],"summary":"Get field auto complete suggestions","description":"Returns the JQL search auto complete suggestions for a field.\n\nSuggestions can be obtained by providing:\n\n * `fieldName` to get a list of all values for the field.\n * `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.\n * `fieldName` and `predicateName` to get a list of all predicate values for the field.\n * `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in `predicateValue`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getFieldAutoCompleteForQueryString","parameters":[{"name":"fieldName","in":"query","description":"The name of the field.","schema":{"type":"string","example":"reporter"},"x-showInExample":"true"},{"name":"fieldValue","in":"query","description":"The partial field item name entered by the user.","schema":{"type":"string"}},{"name":"predicateName","in":"query","description":"The name of the [ CHANGED operator predicate](https://confluence.atlassian.com/x/hQORLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for which the suggestions are generated. The valid predicate operators are *by*, *from*, and *to*.","schema":{"type":"string"}},{"name":"predicateValue","in":"query","description":"The partial predicate item name entered by the user.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCompleteSuggestions"},"example":"{\"results\":[{\"value\":\"ActiveObjects\",\"displayName\":\"ActiveObjects (AO)\"},{\"value\":\"Atlassian Connect\",\"displayName\":\"Atlassian Connect (AC)\"},{\"value\":\"Atlassian Connect in Jira\",\"displayName\":\"Atlassian Connect in Jira (ACJIRA)\"}]}"}}},"400":{"description":"Returned if an invalid combination of parameters is passed."},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/jql/match":{"post":{"tags":["Issue search"],"summary":"Check issues against JQL","description":"Checks whether one or more issues would be returned by one or more JQL queries.\n\n**[Permissions](#permissions) required:** None, however, issues are only matched against JQL queries where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"matchIssues","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesAndJQLQueries"},"example":{"issueIds":[10001,1000,10042],"jqls":["project = FOO","issuetype = Bug","summary ~ \"some text\" AND project in (FOO, BAR)"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueMatches"},"example":"{\"matches\":[{\"matchedIssues\":[10000,10004],\"errors\":[]},{\"matchedIssues\":[100134,10025,10236],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[\"Invalid JQL: broken = value\"]}]}"}}},"400":{"description":"Returned if `jqls` exceeds the maximum number of JQL queries or `issueIds` exceeds the maximum number of issue IDs."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/jql/parse":{"post":{"tags":["JQL"],"summary":"Parse JQL query","description":"Parses and validates JQL queries.\n\nValidation is performed in context of the current user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"parseJqlQueries","parameters":[{"name":"validation","in":"query","description":"How to validate the JQL query and treat the validation results. Validation options include:\n\n * `strict` Returns all errors. If validation fails, the query structure is not returned.\n * `warn` Returns all errors. If validation fails but the JQL query is correctly formed, the query structure is returned.\n * `none` No validation is performed. If JQL query is correctly formed, the query structure is returned.","schema":{"type":"string","enum":["strict","warn","none"],"default":"strict"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JqlQueriesToParse"},"example":{"queries":["summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER startOfMonth(-1M) ORDER BY updated DESC","invalid query","summary = test","summary in test","project = INVALID","universe = 42"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParsedJqlQueries"},"example":"{\"queries\":[{\"query\":\"summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER -5d ORDER BY updated DESC\",\"structure\":{\"where\":{\"clauses\":[{\"field\":{\"name\":\"summary\"},\"operator\":\"~\",\"operand\":{\"value\":\"test\"}},{\"clauses\":[{\"field\":{\"name\":\"labels\"},\"operator\":\"in\",\"operand\":{\"values\":[{\"value\":\"urgent\"},{\"value\":\"blocker\"}]}},{\"field\":{\"name\":\"lastCommentedBy\",\"property\":[{\"entity\":\"issue\",\"key\":\"propertyKey\",\"path\":\"path.in.property\",\"type\":\"user\"}]},\"operator\":\"=\",\"operand\":{\"function\":\"currentUser\",\"arguments\":[]}}],\"operator\":\"or\"},{\"field\":{\"name\":\"status\"},\"operator\":\"changed\",\"predicates\":[{\"operator\":\"after\",\"operand\":{\"function\":\"startOfMonth\",\"arguments\":[\"-1M\"]}}]}],\"operator\":\"and\"},\"orderBy\":{\"fields\":[{\"field\":{\"name\":\"updated\"},\"direction\":\"desc\"}]}}},{\"query\":\"invalid query\",\"errors\":[\"Error in the JQL Query: Expecting operator but got 'query'. The valid operators are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN', 'IS' and 'IS NOT'. (line 1, character 9)\"]},{\"query\":\"summary = test\",\"errors\":[\"The operator '=' is not supported by the 'summary' field.\"]},{\"query\":\"summary in test\",\"errors\":[\"Operator 'in' does not support the non-list value '\\\"test\\\"' for field 'summary'.\"]},{\"query\":\"project = INVALID\",\"errors\":[\"The value 'INVALID' does not exist for the field 'project'.\"]},{\"query\":\"universe = 42\",\"errors\":[\"Field 'universe' does not exist or you do not have permission to view it.\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/jql/pdcleaner":{"post":{"tags":["JQL"],"summary":"Convert user identifiers to account IDs in JQL queries","description":"Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs.\n\nYou may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For more information about GDPR-related changes, see the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"migrateQueries","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLPersonalDataMigrationRequest"},"example":{"queryStrings":["assignee = mia","issuetype = Bug AND assignee in (mia) AND reporter in (alana) order by lastViewed DESC"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. Note that the JQL queries are returned in the same order that they were passed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertedJQLQueries"},"example":"{\"queryStrings\":[\"issuetype = Bug AND assignee in (abcde-12345) AND reporter in (abc551-c4e99) order by lastViewed DESC\"],\"queriesWithUnknownUsers\":[{\"originalQuery\":\"assignee = mia\",\"convertedQuery\":\"assignee = unknown\"}]}"}}},"400":{"description":"Returned if at least one of the queries cannot be converted. For example, the JQL has invalid operators or invalid keywords, or the users in the query cannot be found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/label":{"get":{"tags":["Labels"],"summary":"Get all labels","description":"Returns a [paginated](#pagination) list of labels.","operationId":"getAllLabels","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1000}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanString"},"example":"{\"maxResults\":2,\"startAt\":0,\"total\":100,\"isLast\":false,\"values\":[\"performance\",\"security\"]}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/mypermissions":{"get":{"tags":["Permissions"],"summary":"Get my permissions","description":"Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be obtained in a global, project, or issue context.\n\nThe user is reported as having a project permission:\n\n * in the global context, if the user has the project permission in any project.\n * for a project, where the project permission is determined using issue data, if the user meets the permission's criteria for any issue in the project. Otherwise, if the user has the project permission in the project.\n * for an issue, where a project permission is determined using issue data, if the user has the permission in the issue. Otherwise, if the user has the project permission in the project containing the issue.\n\nThis means that users may be shown as having an issue permission (such as EDIT\\_ISSUES) in the global context or a project context but may not have the permission for any or all issues. For example, if Reporters have the EDIT\\_ISSUES permission a user would be shown as having this permission in the global context or the context of a project, because any user can be a reporter. However, if they are not the user who reported the issue queried they would not have EDIT\\_ISSUES permission for that issue.\n\nGlobal permissions are unaffected by context.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getMyPermissions","parameters":[{"name":"projectKey","in":"query","description":"The key of project. Ignored if `projectId` is provided.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"The ID of project.","schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The key of the issue. Ignored if `issueId` is provided.","schema":{"type":"string"}},{"name":"issueId","in":"query","description":"The ID of the issue.","schema":{"type":"string"}},{"name":"permissions","in":"query","description":"A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available permissions, use [Get all permissions](#api-rest-api-2-permissions-get).","schema":{"type":"string","example":"BROWSE_PROJECTS,EDIT_ISSUES"},"x-showInExample":"true","x-changes":[{"type":"required","announced":"2018-08-01","effective":"2019-02-01","details":"https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/"}]},{"name":"projectUuid","in":"query","schema":{"type":"string"}},{"name":"projectConfigurationUuid","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"},"example":"{\"permissions\":{\"EDIT_ISSUES\":{\"id\":\"12\",\"key\":\"EDIT_ISSUES\",\"name\":\"Edit Issues\",\"type\":\"PROJECT\",\"description\":\"Ability to edit issues.\",\"havePermission\":true}}}"}}},"400":{"description":"Returned if `permissions` is empty or the permission key it contains is not found or deprecated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the project or issue is not found or the user does not have permission to view the project or issue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/mypreferences":{"get":{"tags":["Myself"],"summary":"Get preference","description":"Returns the value of a preference of the current user.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default this is not set and the user takes the locale of the instance.\n * *jira.user.timezone* The time zone of the user. By default this is not set and the user takes the timezone of the instance.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPreference","parameters":[{"name":"key","in":"query","description":"The key of the preference.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key is not provided or not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"},"put":{"tags":["Myself"],"summary":"Set preference","description":"Creates a preference for the user or updates a preference's value by sending a plain text string. For example, `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the following keys define system preferences that can be set or created:\n\n * *user.notifications.mimetype* The mime type used in notifications sent to the user. Defaults to `html`.\n * *user.notify.own.changes* Whether the user gets notified of their own changes. Defaults to `false`.\n * *user.default.share.private* Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private. Defaults to `true`.\n * *user.keyboard.shortcuts.disabled* Whether keyboard shortcuts are disabled. Defaults to `false`.\n * *user.autowatch.disabled* Whether the user automatically watches issues they create or add a comment to. By default, not set: the user takes the instance autowatch setting.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setPreference","parameters":[{"name":"key","in":"query","description":"The key of the preference. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The value of the preference as a plain text string. The maximum length is 255 characters.","content":{"application/json":{"schema":{"type":"string"}},"text/plain":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key or value is not provided or invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"},"delete":{"tags":["Myself"],"summary":"Delete preference","description":"Deletes a preference of the user, which restores the default value of system defined settings.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"removePreference","parameters":[{"name":"key","in":"query","description":"The key of the preference.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key is not provided or not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"}},"/rest/api/2/mypreferences/locale":{"get":{"tags":["Myself"],"summary":"Get locale","description":"Returns the locale for the user.\n\nIf the user has no language preference set (which is the default setting) or this resource is accessed anonymous, the browser locale detected by Jira is returned. Jira detects the browser locale using the *Accept-Language* header in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getLocale","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locale"},"example":"{\"locale\":\"en_US\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ACT_AS_USER"},"put":{"tags":["Myself"],"summary":"Set locale","description":"Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nSets the locale of the user. The locale must be one supported by the instance of Jira.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setLocale","parameters":[],"requestBody":{"description":"The locale defined in a LocaleBean.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locale"},"example":{"locale":"en_US"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Myself"],"summary":"Delete locale","description":"Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nDeletes the locale of the user, which restores the default setting.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"deleteLocale","parameters":[],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/myself":{"get":{"tags":["Myself"],"summary":"Get current user","description":"Returns details for the current user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getCurrentUser","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about user in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` Returns all groups, including nested groups, the user belongs to.\n * `applicationRoles` Returns the application roles the user is assigned to.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/notificationscheme":{"get":{"tags":["Issue notification schemes"],"summary":"Get notification schemes paginated","description":"Returns a [paginated](#pagination) list of [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by display name.\n\n### About notification schemes ###\n\nA notification scheme is a list of events and recipients who will receive notifications for those events. The list is contained within the `notificationSchemeEvents` object and contains pairs of `events` and `notifications`:\n\n * `event` Identifies the type of event. The events can be [Jira system events](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or [custom events](https://confluence.atlassian.com/x/AIlKLg).\n * `notifications` Identifies the [recipients](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-recipientsRecipients) of notifications for each event. Recipients can be any of the following types:\n \n * `CurrentAssignee`\n * `Reporter`\n * `CurrentUser`\n * `ProjectLead`\n * `ComponentLead`\n * `User` (the `parameter` is the user key)\n * `Group` (the `parameter` is the group name)\n * `ProjectRole` (the `parameter` is the project role ID)\n * `EmailAddress`\n * `AllWatchers`\n * `UserCustomField` (the `parameter` is the ID of the custom field)\n * `GroupCustomField`(the `parameter` is the ID of the custom field)\n\n*Note that you should allow for events without recipients to appear in responses.*\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must have permission to administer at least one project associated with a notification scheme for it to be returned.","operationId":"getNotificationSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. Only returns notification schemes that the user has permission to access. An empty list is returned if the user lacks permission to access all notification schemes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanNotificationScheme"},"example":"{\"maxResults\":6,\"startAt\":1,\"total\":5,\"isLast\":false,\"values\":[{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/notificationscheme/{id}":{"get":{"tags":["Issue notification schemes"],"summary":"Get notification scheme","description":"Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the recipients who will receive notifications for those events.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must have permission to administer at least one project associated with the notification scheme.","operationId":"getNotificationScheme","parameters":[{"name":"id","in":"path","description":"The ID of the notification scheme. Use [Get notification schemes paginated](#api-rest-api-2-notificationscheme-get) to get a list of notification scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationScheme"},"example":"{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the notification scheme is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissions":{"get":{"tags":["Permissions"],"summary":"Get all permissions","description":"Returns all permissions, including:\n\n * global permissions.\n * project permissions.\n * global permissions added by plugins.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllPermissions","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"},"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.\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissions/check":{"post":{"tags":["Permissions"],"summary":"Get bulk permissions","description":"Returns:\n\n * for a list of global permissions, the global permissions granted to a user.\n * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate.\n\nIf no account ID is provided, the operation returns details for the logged in user.\n\nNote that:\n\n * Invalid project and issue IDs are ignored.\n * A maximum of 1000 projects and 1000 issues can be checked.\n * Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and `projectPermissions.issues` are ignored.\n * Empty strings in `projectPermissions.permissions` are ignored.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made using AP.request() in a browser.","operationId":"getBulkPermissions","parameters":[],"requestBody":{"description":"Details of the permissions to check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPermissionsRequestBean"},"example":{"globalPermissions":["ADMINISTER"],"accountId":"5b10a2844c20165700ede21g","projectPermissions":[{"projects":[10001],"permissions":["EDIT_ISSUES"],"issues":[10010,10011,10012,10013,10014]}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPermissionGrants"},"example":"{\"projectPermissions\":[{\"permission\":\"EDIT_ISSUES\",\"issues\":[10010,10013,10014],\"projects\":[10001]}],\"globalPermissions\":[\"ADMINISTER\"]}"}}},"400":{"description":"Returned if:\n\n * `projectPermissions` is provided without at least one project permission being provided.\n * an invalid global permission is provided in the global permissions list.\n * an invalid project permission is provided in the project permissions list.\n * more than 1000 valid project IDs or more than 1000 valid issue IDs are provided.\n * an invalid account ID is provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[],\"errors\":{\"PERMISSION_123\":\"Unrecognized permission\"}}"}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can perform this operation.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/permissions/project":{"post":{"tags":["Permissions"],"summary":"Get permitted projects","description":"Returns all the projects where the user is granted a list of project permissions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getPermittedProjects","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsKeysBean"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermittedProjects"}}}},"400":{"description":"Returned if a project permission is not found.","content":{"application/json":{}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/permissionscheme":{"get":{"tags":["Permission schemes"],"summary":"Get all permission schemes","description":"Returns all permission schemes.\n\n### About permission schemes and grants ###\n\nA permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a `permission`.\n\n#### Holder object ####\n\nThe `holder` object contains information about the user or group being granted the permission. For example, the *Administer projects* permission is granted to a group named *Teams in space administrators*. In this case, the type is `\"type\": \"group\"`, and the parameter is the group name, `\"parameter\": \"Teams in space administrators\"`. The `holder` object is defined by the following properties:\n\n * `type` Identifies the user or group (see the list of types below).\n * `parameter` The value of this property depends on the `type`. For example, if the `type` is a group, then you need to specify the group name.\n\nThe following `types` are available. The expected values for the `parameter` are given in parenthesis (some `types` may not have a `parameter`):\n\n * `anyone` Grant for anonymous users.\n * `applicationRole` Grant for users with access to the specified application (application name). See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.\n * `assignee` Grant for the user currently assigned to an issue.\n * `group` Grant for the specified group (group name).\n * `groupCustomField` Grant for a user in the group selected in the specified custom field (custom field ID).\n * `projectLead` Grant for a project lead.\n * `projectRole` Grant for the specified project role (project role ID).\n * `reporter` Grant for the user who reported the issue.\n * `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more information.\n * `user` Grant for the specified user (user ID - historically this was the userkey but that is deprecated and the account ID should be used).\n * `userCustomField` Grant for a user selected in the specified custom field (custom field ID).\n\n#### Built-in permissions ####\n\nThe [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define custom permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information.\n\n**Project permissions**\n\n * `ADMINISTER_PROJECTS`\n * `BROWSE_PROJECTS`\n * `MANAGE_SPRINTS_PERMISSION` (Jira Software only)\n * `SERVICEDESK_AGENT` (Jira Service Desk only)\n * `VIEW_DEV_TOOLS` (Jira Software only)\n * `VIEW_READONLY_WORKFLOW`\n\n**Issue permissions**\n\n * `ASSIGNABLE_USER`\n * `ASSIGN_ISSUES`\n * `CLOSE_ISSUES`\n * `CREATE_ISSUES`\n * `DELETE_ISSUES`\n * `EDIT_ISSUES`\n * `LINK_ISSUES`\n * `MODIFY_REPORTER`\n * `MOVE_ISSUES`\n * `RESOLVE_ISSUES`\n * `SCHEDULE_ISSUES`\n * `SET_ISSUE_SECURITY`\n * `TRANSITION_ISSUES`\n\n**Voters and watchers permissions**\n\n * `MANAGE_WATCHERS`\n * `VIEW_VOTERS_AND_WATCHERS`\n\n**Comments permissions**\n\n * `ADD_COMMENTS`\n * `DELETE_ALL_COMMENTS`\n * `DELETE_OWN_COMMENTS`\n * `EDIT_ALL_COMMENTS`\n * `EDIT_OWN_COMMENTS`\n\n**Attachments permissions**\n\n * `CREATE_ATTACHMENTS`\n * `DELETE_ALL_ATTACHMENTS`\n * `DELETE_OWN_ATTACHMENTS`\n\n**Time tracking permissions**\n\n * `DELETE_ALL_WORKLOGS`\n * `DELETE_OWN_WORKLOGS`\n * `EDIT_ALL_WORKLOGS`\n * `EDIT_OWN_WORKLOGS`\n * `WORK_ON_ISSUES`\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAllPermissionSchemes","parameters":[{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionSchemes"},"example":"{\"permissionSchemes\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Permission schemes"],"summary":"Create permission scheme","description":"Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createPermissionScheme","parameters":[{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"description":"The permission scheme to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":{"permissions":[{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}],"name":"Example permission scheme","description":"description"}}},"required":true},"responses":{"201":{"description":"Returned if the permission scheme is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or the feature is not available in the Jira plan."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissionscheme/{schemeId}":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme","description":"Returns a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to return.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission scheme is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Permission schemes"],"summary":"Update permission scheme","description":"Updates a permission scheme. Below are some important things to note when using this resource:\n\n * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants.\n * If you want to update only the name and description, then do not send a permissions list in the request.\n * Sending an empty list will remove all permission grants from the permission scheme.\n\nIf you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-2-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-2-permissionscheme-schemeId-permission-permissionId-delete).\n\nSee [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updatePermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to update.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":{"permissions":[{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}],"name":"Example permission scheme","description":"description"}}},"required":true},"responses":{"200":{"description":"Returned if the scheme is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to update permission schemes.\n * the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be updated on free plans."},"404":{"description":"Returned if the permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Permission schemes"],"summary":"Delete permission scheme","description":"Deletes a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deletePermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme being deleted.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the permission scheme is deleted."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissionscheme/{schemeId}/permission":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme grants","description":"Returns all permission grants for a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionSchemeGrants","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrants"},"example":"{\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}],\"expand\":\"user,group,projectRole,field,all\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission schemes is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Permission schemes"],"summary":"Create permission grant","description":"Creates a permission grant in a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createPermissionGrant","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme in which to create a new permission grant.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information.","schema":{"type":"string"}}],"requestBody":{"description":"The permission grant to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}}},"required":true},"responses":{"201":{"description":"Returned if the scheme permission is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}"}}},"400":{"description":"Returned if the value for expand is invalid or the same permission grant is present."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/permissionscheme/{schemeId}/permission/{permissionId}":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme grant","description":"Returns a permission grant.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionSchemeGrant","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the permission grant.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission scheme or permission grant is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Permission schemes"],"summary":"Delete permission scheme grant","description":"Deletes a permission grant from a permission scheme. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deletePermissionSchemeEntity","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to delete the permission grant from.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the permission grant to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the permission grant is deleted."},"400":{"description":"Returned if permission grant with the provided ID is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/priority":{"get":{"tags":["Issue priorities"],"summary":"Get priorities","description":"Returns the list of all issue priorities.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPriorities","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Priority"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/5\",\"statusColor\":\"#cfcfcf\",\"description\":\"Very little impact.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\",\"name\":\"Trivial\",\"id\":\"2\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/priority/{id}":{"get":{"tags":["Issue priorities"],"summary":"Get priority","description":"Returns an issue priority.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPriority","parameters":[{"name":"id","in":"path","description":"The ID of the issue priority.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Priority"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue priority is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project":{"get":{"tags":["Projects"],"summary":"Get all projects","description":"Returns all projects visible to the user. Deprecated, use [ Get projects paginated](#api-rest-api-2-project-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has *Browse Projects* or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllProjects","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `issueTypes` Returns all issue types associated with the project.\n * `lead` Returns information about the project lead.\n * `projectKeys` Returns all project keys associated with the project.","schema":{"type":"string"}},{"name":"recent","in":"query","description":"Returns the user's most recently accessed projects. You may specify the number of results to return up to a maximum of 20. If access is anonymous, then the recently accessed projects are based on the current HTTP session.","schema":{"type":"integer","format":"int32"}},{"name":"properties","in":"query","description":"A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-changes":[{"type":"removed","announced":"2018-10-19","effective":"2019-04-19","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/"}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Projects"],"summary":"Create project","description":"Creates a project based on a project type template, as shown in the following table:\n\n| Project Type Key | Project Template Key | \n|--|--| \n| `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | \n| `service_desk` | `com.atlassian.servicedesk:simplified-it-service-desk`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk` | \n| `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | \nThe project types are available according to the installed Jira features as follows:\n\n * Jira Core, the default, enables `business` projects.\n * Jira Service Management enables `service_desk` projects.\n * Jira Software enables `software` projects.\n\nTo determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProject","parameters":[],"requestBody":{"description":"The JSON representation of the project being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectDetails"},"example":{"notificationScheme":10021,"description":"Cloud migration initiative","leadAccountId":"5b10a0effa615349cb016cd8","url":"http://atlassian.com","avatarId":10200,"issueSecurityScheme":10001,"projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","name":"Example","permissionScheme":10011,"assigneeType":"PROJECT_LEAD","projectTypeKey":"business","key":"EX","categoryId":10120}}},"required":true},"responses":{"201":{"description":"Returned if the project is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIdentifiers"},"example":"{\"self\":\"https://your-domain.atlassian.net/jira/rest/api/2/project/10042\",\"id\":10010,\"key\":\"EX\"}"}}},"400":{"description":"Returned if the request is not valid and the project could not be created."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to create projects."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/recent":{"get":{"tags":["Projects"],"summary":"Get recent projects","description":"Returns a list of up to 20 projects recently viewed by the user that are still visible to the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has one of:\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getRecent","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `projectKeys` Returns all project keys associated with a project.\n * `lead` Returns information about the project lead.\n * `issueTypes` Returns all issue types associated with the project.\n * `url` Returns the URL associated with the project.\n * `permissions` Returns the permissions associated with the project.\n * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.\n * `*` Returns the project with all available expand options.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list. Invalid property names are ignored.","schema":{"type":"array","items":{"$ref":"#/components/schemas/StringList"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}]"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/search":{"get":{"tags":["Projects"],"summary":"Get projects paginated","description":"Returns a [paginated](#pagination) list of projects visible to the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has one of:\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"searchProjects","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field.\n\n * `category` Sorts by project category. A complete list of category IDs is found using [Get all project categories](#api-rest-api-2-projectCategory-get).\n * `issueCount` Sorts by the total number of issues in each project.\n * `key` Sorts by project key.\n * `lastIssueUpdatedTime` Sorts by the last issue update time.\n * `name` Sorts by project name.\n * `owner` Sorts by project lead.\n * `archivedDate` EXPERIMENTAL. Sorts by project archived date.\n * `deletedDate` EXPERIMENTAL. Sorts by project deleted date.","schema":{"type":"string","enum":["category","-category","+category","key","-key","+key","name","-name","+name","owner","-owner","+owner","issueCount","-issueCount","+issueCount","lastIssueUpdatedDate","-lastIssueUpdatedDate","+lastIssueUpdatedDate","archivedDate","+archivedDate","-archivedDate","deletedDate","+deletedDate","-deletedDate"],"default":"key"}},{"name":"id","in":"query","description":"The project IDs to filter the results by. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. Up to 50 project IDs can be provided.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"keys","in":"query","description":"The project keys to filter the results by. To include multiple keys, provide an ampersand-separated list. For example, `keys=PA&keys=PB`. Up to 50 project keys can be provided.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"query","in":"query","description":"Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case insensitive).","schema":{"type":"string"}},{"name":"typeKey","in":"query","description":"Orders results by the [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`.","schema":{"type":"string"}},{"name":"categoryId","in":"query","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation.","schema":{"type":"integer","format":"int64"}},{"name":"action","in":"query","description":"Filter results by projects for which the user can:\n\n * `view` the project, meaning that they have one of the following permissions:\n \n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * `browse` the project, meaning that they have the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * `edit` the project, meaning that they have one of the following permissions:\n \n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","schema":{"type":"string","enum":["view","browse","edit"],"default":"view"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `projectKeys` Returns all project keys associated with a project.\n * `lead` Returns information about the project lead.\n * `issueTypes` Returns all issue types associated with the project.\n * `url` Returns the URL associated with the project.\n * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.","schema":{"type":"string"}},{"name":"status","in":"query","description":"EXPERIMENTAL. Filter results by project status:\n\n * `live` Search live projects.\n * `archived` Search archived projects.\n * `deleted` Search deleted projects, those in the recycle bin.","schema":{"type":"array","items":{"type":"string","enum":["live","archived","deleted"],"default":"live"}}},{"name":"properties","in":"query","description":"EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"$ref":"#/components/schemas/StringList"}}},{"name":"propertyQuery","in":"query","description":"EXPERIMENTAL. A query string used to search properties. The query string cannot be specified using a JSON object. For example, to search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `[thepropertykey].something.nested=1`. Note that the propertyQuery key is enclosed in square brackets to enable searching where the propertyQuery key includes dot (.) or equals (=) characters. Note that `thepropertykey` is only returned when included in `properties`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanProject"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/search?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/search?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if no projects matching the search criteria are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/type":{"get":{"tags":["Project types"],"summary":"Get all project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid license for each type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllProjectTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectType"}},"example":"[{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"},{\"key\":\"software\",\"formattedKey\":\"Software\",\"descriptionI18nKey\":\"jira.project.type.software.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#AAAAAA\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/type/accessible":{"get":{"tags":["Project types"],"summary":"Get licensed project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license.","operationId":"getAllAccessibleProjectTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectType"}},"example":"[{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"},{\"key\":\"software\",\"formattedKey\":\"Software\",\"descriptionI18nKey\":\"jira.project.type.software.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#AAAAAA\"}]"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/type/{projectTypeKey}":{"get":{"tags":["Project types"],"summary":"Get project type by key","description":"Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getProjectTypeByKey","parameters":[{"name":"projectTypeKey","in":"path","description":"The key of the project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectType"},"example":"{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the project type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/type/{projectTypeKey}/accessible":{"get":{"tags":["Project types"],"summary":"Get accessible project type by key","description":"Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAccessibleProjectTypeByKey","parameters":[{"name":"projectTypeKey","in":"path","description":"The key of the project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectType"},"example":"{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project type is not accessible to the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}":{"get":{"tags":["Projects"],"summary":"Get project","description":"Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.\n * `issueTypeHierarchy` The project issue type hierarchy.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Projects"],"summary":"Update project","description":"Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.\n\nAll parameters are optional in the body of the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.","schema":{"type":"string"}}],"requestBody":{"description":"The project details to be updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectDetails"},"example":{"avatarId":10200,"issueSecurityScheme":10001,"notificationScheme":10021,"name":"Example","description":"Cloud migration initiative","permissionScheme":10011,"assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a0effa615349cb016cd8","key":"EX","url":"http://atlassian.com","categoryId":10120}}},"required":true},"responses":{"200":{"description":"Returned if the project is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to update project details.\n * the permission scheme is being changed and the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be changed on free plans."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Projects"],"summary":"Delete project","description":"Deletes a project.\n\nYou can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"enableUndo","in":"query","description":"Whether this project is placed in the Jira recycle bin where it will be available for restoration.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Returned if the project is deleted."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to delete it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/archive":{"post":{"tags":["Projects"],"summary":"Archive project","description":"Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"archiveProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permissions."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/avatar":{"put":{"tags":["Project avatars"],"summary":"Set project avatar","description":"Sets the avatar displayed for a project.\n\nUse [Load project avatar](#api-rest-api-2-project-projectIdOrKey-avatar2-post) to store avatars against the project, before using this operation to set the displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"updateProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":{"id":"10010"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project or avatar is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/avatar/{id}":{"delete":{"tags":["Project avatars"],"summary":"Delete project avatar","description":"Deletes a custom avatar from a project. Note that system avatars cannot be deleted.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"deleteProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or (case-sensitive) key.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the avatar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the avatar is a system avatar or the user does not have permission to administer the project."},"404":{"description":"Returned if the project or avatar is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/avatar2":{"post":{"tags":["Project avatars"],"summary":"Load project avatar","description":"Loads an avatar for a project.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/2/project/{projectIdOrKey}/avatar2'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use [Set project avatar](#api-rest-api-2-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"createProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to administer the project or an anonymous call is made to the operation."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/avatars":{"get":{"tags":["Project avatars"],"summary":"Get all project avatars","description":"Returns all project avatars, grouped by system and custom avatars.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllProjectAvatars","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAvatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"}}],\"custom\":[{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/component":{"get":{"tags":["Project components"],"summary":"Get project components paginated","description":"Returns a [paginated](#pagination) list of all components in a project. See the [Get project components](#api-rest-api-2-project-projectIdOrKey-components-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectComponentsPaginated","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by the component description.\n * `issueCount` Sorts by the count of issues associated with the component.\n * `lead` Sorts by the user key of the component's project lead.\n * `name` Sorts by component name.","schema":{"type":"string","enum":["description","-description","+description","issueCount","-issueCount","+issueCount","lead","-lead","+lead","name","-name","+name"]}},{"name":"query","in":"query","description":"Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanComponentWithIssueCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/component?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/component?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"componentBean\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000},\"issueCount\":1,\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"realAssigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a Jira component\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"projectId\":10000,\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"project\":\"HSP\",\"assigneeType\":\"PROJECT_LEAD\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"name\":\"Component 1\",\"id\":\"10000\"},{\"componentBean\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10050\",\"name\":\"PXA\",\"description\":\"This is a another Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"PROJECTKEY\",\"projectId\":10000},\"issueCount\":5,\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"realAssigneeType\":\"PROJECT_LEAD\",\"description\":\"This is a another Jira component\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"projectId\":10000,\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"project\":\"PROJECTKEY\",\"assigneeType\":\"PROJECT_LEAD\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"name\":\"PXA\",\"id\":\"10050\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/components":{"get":{"tags":["Project components"],"summary":"Get project components","description":"Returns all components in a project. See the [Get project components paginated](#api-rest-api-2-project-projectIdOrKey-component-get) resource if you want to get a full list of components with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectComponents","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectComponent"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10050\",\"name\":\"PXA\",\"description\":\"This is a another Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"PROJECTKEY\",\"projectId\":10000}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/delete":{"post":{"tags":["Projects"],"summary":"Delete project asynchronously","description":"Deletes a project asynchronously.\n\nThis operation is:\n\n * transactional, that is, if part of the delete fails the project is not deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectAsynchronously","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"303":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"}}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/properties":{"get":{"tags":["Project properties"],"summary":"Get project property keys","description":"Returns all [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectPropertyKeys","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to view the project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/properties/{propertyKey}":{"get":{"tags":["Project properties"],"summary":"Get project property","description":"Returns the value of a [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.","operationId":"getProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The project property key. Use [Get project property keys](#api-rest-api-2-project-projectIdOrKey-properties-get) to get a list of all project property keys.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to view the project."},"404":{"description":"Returned if the project or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project properties"],"summary":"Set project property","description":"Sets the value of the [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). You can use project properties to store custom data against the project.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.","operationId":"setProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the project property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{},"example":{"number":5,"string":"string-value"}}},"required":true},"responses":{"200":{"description":"Returned if the project property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the project property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the project key or id is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Project properties"],"summary":"Delete project property","description":"Deletes the [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) from a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.","operationId":"deleteProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The project property key. Use [Get project property keys](#api-rest-api-2-project-projectIdOrKey-properties-get) to get a list of all project property keys.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the project property is deleted."},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/project/{projectIdOrKey}/restore":{"post":{"tags":["Projects"],"summary":"Restore deleted project","description":"Restores a project from the Jira recycle bin.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"restore","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/role":{"get":{"tags":["Project roles"],"summary":"Get project roles for project","description":"Returns a list of [project roles](https://confluence.atlassian.com/x/3odKLg) for the project returning the name and self URL for each role.\n\nNote that all project roles are shared with all projects in Jira Cloud. See [Get all project roles](#api-rest-api-2-role-get) for more information.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoles","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"example":"{\"Administrators\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10002\",\"Users\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10001\",\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10000\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the user lacks administrative permissions for the project."},"404":{"description":"Returned if the project is not found or or if the user does not have administrative permissions for the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/role/{id}":{"get":{"tags":["Project roles"],"summary":"Get project role for project","description":"Returns a project role's details and actors associated with the project. The list of actors is sorted by display name.\n\nTo check whether a user belongs to a role based on their group memberships, use [Get user](#api-rest-api-2-user-get) with the `groups` expand parameter selected. Then check whether the user keys and groups match with the actors returned for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRole","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project or project role is not found.\n * the user does not have administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project role actors"],"summary":"Set actors for project role","description":"Sets the actors for a project role for a project, replacing all existing actors.\n\nTo add actors to the project without overwriting the existing list, use [Add actors to project role](#api-rest-api-2-project-projectIdOrKey-role-id-post).\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setActors","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The groups or users to associate with the project role for this project. Provide the user account ID or group name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRoleActorsUpdateBean"},"example":{"categorisedActors":{"atlassian-user-role-actor":["12345678-9abc-def1-2345-6789abcdef12"],"atlassian-group-role-actor":["jira-developers"]}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. The complete list of actors for the project is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project."},"404":{"description":"Returned if:\n\n * the project is not found.\n * a user or group is not found.\n * a group or user is not active."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"post":{"tags":["Project role actors"],"summary":"Add actors to project role","description":"Adds actors to a project role for the project.\n\nTo replace all actors for the project, use [Set actors for project role](#api-rest-api-2-project-projectIdOrKey-role-id-put).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addActorUsers","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The groups or users to associate with the project role for this project. Provide the user account ID or group name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorsMap"},"example":{"group":["jira-developers"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. The complete list of actors for the project is returned.\n\nFor example, the cURL request above adds a group, *jira-developers*. For the response below to be returned as a result of that request, the user *Mia Krystof* would have previously been added as a `user` actor for this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user or group is not found.\n * the group or user is not active."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project role actors"],"summary":"Delete actors from project role","description":"Deletes actors from a project role for the project.\n\nTo remove default actors from the project role, use [Delete default actors from project role](#api-rest-api-2-role-id-actors-delete).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteActor","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user","in":"query","description":"The user account ID of the user to remove from the project role.","schema":{"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"group","in":"query","description":"The name of the group to remove from the project role.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid."},"404":{"description":"Returned if:\n\n * the project or project role is not found.\n * the calling user does not have administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/roledetails":{"get":{"tags":["Project roles"],"summary":"Get project role details","description":"Returns all [project roles](https://confluence.atlassian.com/x/3odKLg) and the details for each role. Note that the list of project roles is common to all projects.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectRoleDetails","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"currentMember","in":"query","description":"Whether the roles should be filtered to include only those the user is assigned to.","schema":{"type":"boolean","default":false}},{"name":"excludeConnectAddons","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRoleDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\",\"name\":\"Developers\",\"id\":10360,\"description\":\"A project role that represents developers in a project\",\"admin\":false,\"default\":true,\"roleConfigurable\":true,\"translatedName\":\"Developers\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or if the user does not have the necessary permissions for the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/statuses":{"get":{"tags":["Projects"],"summary":"Get all statuses for project","description":"Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllStatuses","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeWithStatus"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"name\":\"Task\",\"subtask\":false,\"statuses\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\"}]}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/type/{newProjectTypeKey}":{"put":{"tags":["Projects"],"summary":"Update project type","description":"Deprecated, this feature is no longer supported and no alternatives are available, see [Convert project to a different template or type](https://confluence.atlassian.com/x/yEKeOQ). Updates a [project type](https://confluence.atlassian.com/x/GwiiLQ). The project type can be updated for classic projects only, project type cannot be updated for next-gen projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProjectType","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"newProjectTypeKey","in":"path","description":"The key of the new project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the project type is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/2/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-changes":[{"type":"removed","announced":"2019-06-03","effective":"2019-12-03","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-change-project-type-via-api//"}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectIdOrKey}/version":{"get":{"tags":["Project versions"],"summary":"Get project versions paginated","description":"Returns a [paginated](#pagination) list of all versions in a project. See the [Get project versions](#api-rest-api-2-project-projectIdOrKey-versions-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectVersionsPaginated","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by version description.\n * `name` Sorts by version name.\n * `releaseDate` Sorts by release date, starting with the oldest date. Versions with no release date are listed last.\n * `sequence` Sorts by the order of appearance in the user interface.\n * `startDate` Sorts by start date, starting with the oldest date. Versions with no start date are listed last.","schema":{"type":"string","enum":["description","-description","+description","name","-name","+name","releaseDate","-releaseDate","+releaseDate","sequence","-sequence","+sequence","startDate","-startDate","+startDate"]}},{"name":"query","in":"query","description":"Filter the results using a literal string. Versions with matching `name` or `description` are returned (case insensitive).","schema":{"type":"string"}},{"name":"status","in":"query","description":"A list of status values used to filter the results by version status. This parameter accepts a comma-separated list. The status values are `released`, `unreleased`, and `archived`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `issuesstatus` Returns the number of issues in each status category for each version.\n * `operations` Returns actions that can be performed on the specified version.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanVersion"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/version?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/2/project/PR/version?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/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\":\"https://your-domain.atlassian.net/rest/api/2/version/10010\",\"id\":\"10010\",\"description\":\"Minor Bugfix version\",\"name\":\"Next Version\",\"archived\":false,\"released\":false,\"overdue\":false,\"projectId\":10000,\"issuesStatusForFixVersion\":{\"unmapped\":0,\"toDo\":10,\"inProgress\":20,\"done\":100}}]}"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectIdOrKey}/versions":{"get":{"tags":["Project versions"],"summary":"Get project versions","description":"Returns all versions in a project. The response is not paginated. Use [Get project versions paginated](#api-rest-api-2-project-projectIdOrKey-version-get) if you want to get the versions in a project with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectVersions","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `operations`, which returns actions that can be performed on the version.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Version"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/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\":\"https://your-domain.atlassian.net/rest/api/2/version/10010\",\"id\":\"10010\",\"description\":\"Minor Bugfix version\",\"name\":\"Next Version\",\"archived\":false,\"released\":false,\"overdue\":false,\"projectId\":10000,\"issuesStatusForFixVersion\":{\"unmapped\":0,\"toDo\":10,\"inProgress\":20,\"done\":100}}]"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectId}/email":{"get":{"tags":["Project email"],"summary":"Get project's sender email","description":"Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectEmail","parameters":[{"name":"projectId","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEmailAddress"},"example":"{\"emailAddress\":\"jira@example.atlassian.net\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to read project."},"404":{"description":"Returned if the project or project's sender email address is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project email"],"summary":"Set project's sender email","description":"Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\nIf `emailAddress` is an empty string, the default email address is restored.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"updateProjectEmail","parameters":[{"name":"projectId","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The project's sender email address to be set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEmailAddress"},"example":{"emailAddress":"jira@example.atlassian.net"}}},"required":true},"responses":{"204":{"description":"Returned if the project's sender email address is successfully set.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid, if the email address is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to read project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectId}/hierarchy":{"get":{"tags":["Projects"],"summary":"Get project issue type hierarchy","description":"Get the issue type hierarchy for a next-gen project.\n\nThe issue type hierarchy for a project consists of:\n\n * *Epic* at level 1 (optional).\n * One or more issue types at level 0 such as *Story*, *Task*, or *Bug*. Where the issue type *Epic* is defined, these issue types are used to break down the content of an epic.\n * *Subtask* at level -1 (optional). This issue type enables level 0 issue types to be broken down into components. Issues based on a level -1 issue type must have a parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getHierarchy","parameters":[{"name":"projectId","in":"path","description":"The ID of the project.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueTypeHierarchy"},"example":"{\"projectId\":10030,\"hierarchy\":[{\"entityId\":\"09411ac6-5a81-420e-a806-2cbeb43ec101\",\"level\":0,\"name\":\"Base\",\"issueTypes\":[{\"id\":10008,\"entityId\":\"121995dd-1efc-4f23-9434-23e9d1f45b90\",\"name\":\"Story\",\"avatarId\":10324},{\"id\":10001,\"entityId\":\"c4996bfb-5f69-487a-bbf3-16a0d362a62f\",\"name\":\"Bug\",\"avatarId\":10324}]},{\"entityId\":\"310f9c76-c146-47b4-aa79-80740781763b\",\"level\":1,\"name\":\"Epic\",\"issueTypes\":[{\"id\":10007,\"entityId\":\"0dc5b96a-d470-4361-8f78-551abd9b267f\",\"name\":\"Epic\",\"avatarId\":10179}]},{\"entityId\":\"3d9d1766-9c74-49f5-b4d7-759878f9779f\",\"level\":-1,\"name\":\"Subtask\",\"issueTypes\":[{\"id\":10009,\"entityId\":\"81871058-63c6-4e7b-baba-383da1d3f93d\",\"name\":\"Subtask\",\"avatarId\":10573}]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectKeyOrId}/issuesecuritylevelscheme":{"get":{"tags":["Project permission schemes"],"summary":"Get project issue security scheme","description":"Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or the *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getProjectIssueSecurityScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021,\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the project is visible to the user but the user doesn't have administrative permissions."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectKeyOrId}/notificationscheme":{"get":{"tags":["Projects"],"summary":"Get project notification scheme","description":"Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project. See the [Get notification scheme](#api-rest-api-2-notificationscheme-id-get) resource for more information about notification schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getNotificationSchemeForProject","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationScheme"},"example":"{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/2/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/project/{projectKeyOrId}/permissionscheme":{"get":{"tags":["Project permission schemes"],"summary":"Get assigned permission scheme","description":"Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getAssignedPermissionScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to view the project's configuration."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project permission schemes"],"summary":"Assign permission scheme","description":"Assigns a permission scheme with a project. See [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)","operationId":"assignPermissionScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdBean"},"example":{"id":10000}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/2/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to edit the project's configuration.\n * the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be assigned to projects on free plans."},"404":{"description":"Returned if the project or permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/project/{projectKeyOrId}/securitylevel":{"get":{"tags":["Project permission schemes"],"summary":"Get project issue security levels","description":"Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has access to.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security levels are only returned for authenticated user with *Set Issue Security* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project.","operationId":"getSecurityLevelsForProject","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueSecurityLevels"},"example":"{\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/100000\",\"id\":\"100000\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/100001\",\"id\":\"100001\",\"description\":\"Only internal staff can see this issue.\",\"name\":\"Staff Only\"}]}"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/projectCategory":{"get":{"tags":["Project categories"],"summary":"Get all project categories","description":"Returns all project categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAllProjectCategories","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectCategory"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10001\",\"id\":\"10001\",\"name\":\"SECOND\",\"description\":\"Second Project Category\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Project categories"],"summary":"Create project category","description":"Creates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProjectCategory","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":{"name":"CREATED","description":"Created Project Category"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10100\",\"id\":\"10100\",\"name\":\"CREATED\",\"description\":\"Created Project Category\"}"}}},"400":{"description":"Returned if:\n\n * `name` is not provided or exceeds 255 characters.\n * `description` exceeds 1000 characters."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"409":{"description":"Returned if the project category name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/projectCategory/{id}":{"get":{"tags":["Project categories"],"summary":"Get project category by ID","description":"Returns a project category.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getProjectCategoryById","parameters":[{"name":"id","in":"path","description":"The ID of the project category.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project categories"],"summary":"Update project category","description":"Updates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProjectCategory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":{"name":"UPDATED","description":"Updated Project Category"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatedProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10100\",\"id\":\"10100\",\"name\":\"UPDATED\",\"description\":\"Updated Project Category\"}"}}},"400":{"description":"Returned if:\n\n * `name` has been modified and exceeds 255 characters.\n * `description` has been modified and exceeds 1000 characters."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project categories"],"summary":"Delete project category","description":"Deletes a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeProjectCategory","parameters":[{"name":"id","in":"path","description":"ID of the project category to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/projectvalidate/key":{"get":{"tags":["Project key and name validation"],"summary":"Validate project key","description":"Validates a project key by confirming the key is a valid string and not in use.\n\n**[Permissions](#permissions) required:** None.","operationId":"validateProjectKey","parameters":[{"name":"key","in":"query","description":"The project key.","schema":{"type":"string","example":"HSP"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[],\"errors\":{\"projectKey\":\"A project with that project key already exists.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/projectvalidate/validProjectKey":{"get":{"tags":["Project key and name validation"],"summary":"Get valid project key","description":"Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.\n\n**[Permissions](#permissions) required:** None.","operationId":"getValidProjectKey","parameters":[{"name":"key","in":"query","description":"The project key.","schema":{"type":"string","example":"HSP"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"},"example":"\"VPNE\""}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/projectvalidate/validProjectName":{"get":{"tags":["Project key and name validation"],"summary":"Get valid project name","description":"Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a sequence number. If a valid project name cannot be generated, a 404 response is returned.\n\n**[Permissions](#permissions) required:** None.","operationId":"getValidProjectName","parameters":[{"name":"name","in":"query","description":"The project name.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"},"example":"\"Valid Project Name Example\""}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if a valid project name cannot be generated."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/resolution":{"get":{"tags":["Issue resolutions"],"summary":"Get resolutions","description":"Returns a list of all issue resolution values.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getResolutions","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Resolution"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/resolution/1\",\"id\":\"10000\",\"description\":\"A fix for this issue is checked into the tree and tested.\",\"name\":\"Fixed\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/resolution/3\",\"id\":\"10001\",\"description\":\"This is what it is supposed to do.\",\"name\":\"Works as designed\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/resolution/{id}":{"get":{"tags":["Issue resolutions"],"summary":"Get resolution","description":"Returns an issue resolution value.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getResolution","parameters":[{"name":"id","in":"path","description":"The ID of the issue resolution value.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resolution"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/resolution/1\",\"id\":\"10000\",\"description\":\"A fix for this issue is checked into the tree and tested.\",\"name\":\"Fixed\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue resolution value is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/role":{"get":{"tags":["Project roles"],"summary":"Get all project roles","description":"Gets a list of all project roles, complete with project role details and default actors.\n\n### About project roles ###\n\n[Project roles](https://confluence.atlassian.com/x/3odKLg) are a flexible way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally with all projects, but each project can have a different set of actors associated with it (unlike groups, which have the same membership throughout all Jira applications).\n\nProject roles are used in [permission schemes](#api-rest-api-2-permissionscheme-get), [email notification schemes](#api-rest-api-2-notificationscheme-get), [issue security levels](#api-rest-api-2-issuesecurityschemes-get), [comment visibility](#api-rest-api-2-comment-list-post), and workflow conditions.\n\n#### Members and actors ####\n\nIn the Jira REST API, a member of a project role is called an *actor*. An *actor* is a group or user associated with a project role.\n\nActors may be set as [default members](https://confluence.atlassian.com/x/3odKLg#Managingprojectroles-Specifying'defaultmembers'foraprojectrole) of the project role or set at the project level:\n\n * Default actors: Users and groups that are assigned to the project role for all newly created projects. The default actors can be removed at the project level later if desired.\n * Actors: Users and groups that are associated with a project role for a project, which may differ from the default actors. This enables you to assign a user to different roles in different projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllProjectRoles","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRole"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project roles"],"summary":"Create project role","description":"Creates a new project role with no [default actors](#api-rest-api-2-resolution-get). You can use the [Add default actors to project role](#api-rest-api-2-role-id-actors-post) operation to add default actors to the project role after creating it.\n\n*Note that although a new project role is available to all projects upon creation, any default actors that are associated with the project role are not added to projects that existed prior to the role being created.*<\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProjectRole","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/MKY/role/10360\",\"name\":\"Developers\",\"id\":10360,\"description\":\"A project role that represents developers in a project\"}"}}},"400":{"description":"Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"409":{"description":"Returned if a project role with the provided name already exists."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/role/{id}":{"get":{"tags":["Project roles"],"summary":"Get project role by ID","description":"Gets the project role details and the default actors associated with the role. The list of default actors is sorted by display name.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoleById","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Project roles"],"summary":"Fully update project role","description":"Updates the project role's name and description. You must include both a name and a description in the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"fullyUpdateProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project roles"],"summary":"Partial update project role","description":"Updates either the project role's name or its description.\n\nYou cannot update both the name and description at the same time using this operation. If you send a request with a name and a description only the name is updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"partialUpdateProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project roles"],"summary":"Delete project role","description":"Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in use.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role to delete. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"swap","in":"query","description":"The ID of the project role that will replace the one being deleted.","schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid or if the replacement project role is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role being deleted is not found."},"409":{"description":"Returned if the project role being deleted is in use and a replacement project role is not specified in the request."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/role/{id}/actors":{"get":{"tags":["Project role actors"],"summary":"Get default actors for project role","description":"Returns the [default actors](#api-rest-api-2-resolution-get) for the project role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoleActorsForRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project role actors"],"summary":"Add default actors to project role","description":"Adds [default actors](#api-rest-api-2-resolution-get) to a role. You may add groups or users, but you cannot add groups and users in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addProjectRoleActorsToRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorInputBean"},"example":{"user":["admin"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project role actors"],"summary":"Delete default actors from project role","description":"Deletes the [default actors](#api-rest-api-2-resolution-get) from a project role. You may delete a group or user, but you cannot delete a group and a user in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectRoleActorsFromRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user","in":"query","description":"The user account ID of the user to remove as a default actor.","schema":{"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"group","in":"query","description":"The group name of the group to be removed as a default actor.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens":{"get":{"tags":["Screens"],"summary":"Get screens","description":"Returns a [paginated](#pagination) list of all screens or those specified by one or more screen IDs.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreens","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}},{"name":"id","in":"query","description":"The list of screen IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreen"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screens"],"summary":"Create screen","description":"Creates a screen with a default field tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createScreen","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenDetails"},"example":{"name":"Resolve Security Issue Screen","description":"Enables changes to resolution and linked issues."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Screen"},"example":"{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"description\":\"Enables changes to resolution and linked issues.\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another screen.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/addToDefault/{fieldId}":{"post":{"tags":["Screens"],"summary":"Add field to default screen","description":"Adds a field to the default tab of the default screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addFieldToDefaultScreen","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the field it not found or the field is already present."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}":{"put":{"tags":["Screens"],"summary":"Update screen","description":"Updates a screen. Only screens used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateScreen","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScreenDetails"},"example":{"name":"Resolve Accessibility Issue Screen","description":"Enables changes to resolution and linked issues for accessibility related issues."}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Screen"},"example":"{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"description\":\"Enables changes to resolution and linked issues.\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another screen.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screens"],"summary":"Delete screen","description":"Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.\n\nOnly screens used in classic projects can be deleted.","operationId":"deleteScreen","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen is used in a screen scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/availableFields":{"get":{"tags":["Screens"],"summary":"Get available screen fields","description":"Returns the fields that can be added to a tab on a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAvailableScreenFields","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableField"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs":{"get":{"tags":["Screen tabs"],"summary":"Get all screen tabs","description":"Returns the list of tabs for a screen.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.","operationId":"getAllScreenTabs","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"projectKey","in":"query","description":"The key of the project.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableTab"}}}}},"400":{"description":"Returned if the screen ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen tabs"],"summary":"Create screen tab","description":"Creates a tab for a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":{"name":"Fields Tab"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":"{\"id\":10000,\"name\":\"Fields Tab\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}":{"put":{"tags":["Screen tabs"],"summary":"Update screen tab","description":"Updates the name of a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"renameScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":"{\"id\":10000,\"name\":\"Fields Tab\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screen tabs"],"summary":"Delete screen tab","description":"Deletes a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}/fields":{"get":{"tags":["Screen tab fields"],"summary":"Get all screen tab fields","description":"Returns all fields for a screen tab.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.","operationId":"getAllScreenTabFields","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"projectKey","in":"query","description":"The key of the project.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableField"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen tab fields"],"summary":"Add screen tab field","description":"Adds a field to a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddFieldBean"},"example":{"fieldId":"summary"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableField"},"example":"{\"id\":\"summary\",\"name\":\"Summary\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}":{"delete":{"tags":["Screen tab fields"],"summary":"Remove screen tab field","description":"Removes a field from a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}/fields/{id}/move":{"post":{"tags":["Screen tab fields"],"summary":"Move screen tab field","description":"Moves a screen tab field.\n\nIf `after` and `position` are provided in the request, `position` is ignored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"moveScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveFieldBean"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found or the field can't be moved to the requested position."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screens/{screenId}/tabs/{tabId}/move/{pos}":{"post":{"tags":["Screen tabs"],"summary":"Move screen tab","description":"Moves a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"moveScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"pos","in":"path","description":"The position of tab. The base index is 0.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found or the position is invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screenscheme":{"get":{"tags":["Screen schemes"],"summary":"Get screen schemes","description":"Returns a [paginated](#pagination) list of screen schemes.\n\nOnly screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreenSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":25}},{"name":"id","in":"query","description":"The list of screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreenScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/screenscheme?maxResults=25&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":10010,\"name\":\"Employee screen scheme\",\"description\":\"Manage employee data\",\"screens\":{\"default\":10017,\"edit\":10019,\"create\":10019,\"view\":10020}},{\"id\":10032,\"name\":\"Office screen scheme\",\"description\":\"Manage office data\",\"screens\":{\"default\":10020}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen schemes"],"summary":"Create screen scheme","description":"Creates a screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createScreenScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenSchemeDetails"},"example":{"screens":{"default":10017,"view":10020,"edit":10019},"name":"Employee screen scheme","description":"Manage employee data"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenSchemeId"},"example":"{\"id\":10001}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if a screen used as one of the screen types in the screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more screens assigned to screen types was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/screenscheme/{screenSchemeId}":{"put":{"tags":["Screen schemes"],"summary":"Update screen scheme","description":"Updates a screen scheme. Only screen schemes used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateScreenScheme","parameters":[{"name":"screenSchemeId","in":"path","description":"The ID of the screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The screen scheme update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScreenSchemeDetails"},"example":{"screens":{"default":"10018","create":"10019"},"name":"Employee screen scheme v2"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen scheme or a screen used as one of the screen types is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screen schemes"],"summary":"Delete screen scheme","description":"Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.\n\nOnly screens schemes used in classic projects can be deleted.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteScreenScheme","parameters":[{"name":"screenSchemeId","in":"path","description":"The ID of the screen scheme.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the screen scheme is deleted."},"400":{"description":"Returned if the screen scheme is used in an issue type screen scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme cannot be deleted as it is in use in an issue type screen scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/search":{"get":{"tags":["Issue search"],"summary":"Search for issues using JQL (GET)","description":"Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nIf the JQL query expression is too large to be encoded as a query parameter, use the [POST](#api-rest-api-2-search-post) version of this resource.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"searchForIssuesUsingJql","parameters":[{"name":"jql","in":"query","description":"The [JQL](https://confluence.atlassian.com/x/egORLQ) that defines the search. Note:\n\n * If no JQL expression is provided, all issues are returned.\n * `username` and `userkey` cannot be used as search terms due to privacy reasons. Use `accountId` instead.\n * If a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.","schema":{"type":"string","example":"project = HSP"},"x-showInExample":"true"},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page. To manage page size, Jira may return fewer items per page where a large number of fields are requested. The greatest number of items returned per page is achieved when requesting `id` or `key` only.","schema":{"type":"integer","format":"int32","default":50}},{"name":"validateQuery","in":"query","description":"Determines how to validate the JQL query and treat the validation results. Supported values are:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.","schema":{"type":"string","enum":["strict","warn","none","true","false"],"default":"strict"}},{"name":"fields","in":"query","description":"A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2&fields=field3`.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-2-issue-issueIdOrKey-get) where the default is all fields.","schema":{"type":"array","items":{"type":"string","default":"*navigable"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of issue property keys for issue properties to include in the results. This parameter accepts a comma-separated list. Multiple properties can also be provided using an ampersand separated list. For example, `properties=prop1,prop2&properties=prop3`. A maximum of 5 issue property keys can be specified.","schema":{"type":"array","items":{"type":"string"}}},{"name":"fieldsByKeys","in":"query","description":"Reference fields by their key (rather than ID).","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"},"example":"{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10001,\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"debuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:24.538+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10001/debuglog.txt\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":\"Main order flow broken\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:23.506+0000\",\"updated\":\"2021-09-03T02:19:23.507+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2021-09-03T02:19:23.675+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:23.675+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}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"}}},"400":{"description":"Returned if the JQL query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue search"],"summary":"Search for issues using JQL (POST)","description":"Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nThere is a [GET](#api-rest-api-2-search-get) version of this resource that can be used for smaller JQL query expressions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"searchForIssuesUsingJqlPost","parameters":[],"requestBody":{"description":"A JSON object containing the search request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequestBean"},"example":{"expand":["names","schema","operations"],"jql":"project = HSP","maxResults":15,"fieldsByKeys":false,"fields":["summary","status","assignee"],"startAt":0}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"},"example":"{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10001,\"self\":\"https://your-domain.atlassian.net/rest/api/2/attachments/10001\",\"filename\":\"debuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:24.538+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10001/debuglog.txt\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":\"Main order flow broken\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:21.152+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"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\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:23.506+0000\",\"updated\":\"2021-09-03T02:19:23.507+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2021-09-03T02:19:23.675+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:23.675+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}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"}}},"400":{"description":"Returned if the JQL query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/securitylevel/{id}":{"get":{"tags":["Issue security level"],"summary":"Get issue security level","description":"Returns details of an issue security level.\n\nUse [Get issue security scheme](#api-rest-api-2-issuesecurityschemes-id-get) to obtain the IDs of issue security levels associated with the issue security scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getIssueSecurityLevel","parameters":[{"name":"id","in":"path","description":"The ID of the issue security level.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityLevel"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue security level is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/serverInfo":{"get":{"tags":["Server info"],"summary":"Get Jira instance info","description":"Returns information about the Jira instance.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getServerInfo","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInformation"},"example":"{\"baseUrl\":\"https://your-domain.atlassian.net/jira\",\"version\":\"1001.0.0-SNAPSHOT\",\"versionNumbers\":[5,0,0],\"buildNumber\":582,\"buildDate\":\"2021-09-03T02:19:17.965+0000\",\"serverTime\":\"2021-09-03T02:19:17.965+0000\",\"scmInfo\":\"1f51473f5c7b75c1a69a0090f4832cdc5053702a\",\"serverTitle\":\"My Jira instance\",\"defaultLocale\":{\"locale\":\"en_AU\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/settings/columns":{"get":{"tags":["Issue navigator settings"],"summary":"Get issue navigator default columns","description":"Returns the default issue navigator columns.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueNavigatorDefaultColumns","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}},"example":"[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"Summary\",\"value\":\"summary\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"put":{"tags":["Issue navigator settings"],"summary":"Set issue navigator default columns","description":"Sets the default issue navigator columns.\n\nThe `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple columns, pass multiple `columns` parameters. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/settings/columns`\n\nIf no column details are sent, then all default columns are removed.\n\nA navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue columns using [Get fields](#api-rest-api-2-field-get).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setIssueNavigatorDefaultColumns","parameters":[],"requestBody":{"description":"A navigable field value.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if invalid parameters are passed."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if a navigable field value is not found."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/status":{"get":{"tags":["Workflow statuses"],"summary":"Get all statuses","description":"Returns a list of all statuses associated with workflows.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getStatuses","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/status/{idOrName}":{"get":{"tags":["Workflow statuses"],"summary":"Get status","description":"Returns a status. The status must be associated with a workflow to be returned.\n\nIf a name is used on more than one status, only the status found first is returned. Therefore, identifying the status by its ID may be preferable.\n\nThis operation can be accessed anonymously.\n\n[Permissions](#permissions) required: None.","operationId":"getStatus","parameters":[{"name":"idOrName","in":"path","description":"The ID or name of the status.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the status is not found.\n * the status is not associated with a workflow.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/statuscategory":{"get":{"tags":["Workflow status categories"],"summary":"Get all status categories","description":"Returns a list of all status categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getStatusCategories","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusCategory"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/statuscategory/{idOrKey}":{"get":{"tags":["Workflow status categories"],"summary":"Get status category","description":"Returns a status category. Status categories provided a mechanism for categorizing [statuses](#api-rest-api-2-status-idOrName-get).\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getStatusCategory","parameters":[{"name":"idOrKey","in":"path","description":"The ID or key of the status category.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the status category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/task/{taskId}":{"get":{"tags":["Tasks"],"summary":"Get task","description":"Returns the status of a [long-running asynchronous task](#async).\n\nWhen a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the operation that created the task for details. Task details are not permanently retained. As of September 2019, details are retained for 14 days although this period may change without notice.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.","operationId":"getTask","parameters":[{"name":"taskId","in":"path","description":"The ID of the task.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/task/1\",\"id\":\"1\",\"description\":\"Task description\",\"status\":\"COMPLETE\",\"result\":\"the task result, this may be any JSON\",\"submittedBy\":10000,\"progress\":100,\"elapsedRuntime\":156,\"submitted\":1630635557418,\"started\":1630635557540,\"finished\":1630635557640,\"lastUpdate\":1630635557640}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the task is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/task/{taskId}/cancel":{"post":{"tags":["Tasks"],"summary":"Cancel task","description":"Cancels a task.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.","operationId":"cancelTask","parameters":[{"name":"taskId","in":"path","description":"The ID of the task.","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if cancellation of the task is not possible.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"404":{"description":"Returned if the task is not found.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/2/universal_avatar/type/{type}/owner/{entityId}":{"get":{"tags":["Avatars"],"summary":"Get avatars","description":"Returns the system and custom avatars for a project or issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * for custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.\n * for custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.\n * for system avatars, none.","operationId":"getAvatars","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"entityId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"}}],\"custom\":[{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Avatars"],"summary":"Load avatar","description":"Loads a custom avatar for a project or issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/2/universal_avatar/type/{type}/owner/{entityId}'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use:\n\n * [Update issue type](#api-rest-api-2-issuetype-id-put) to set it as the issue type's displayed avatar.\n * [Set project avatar](#api-rest-api-2-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"storeAvatar","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"entityId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permissions."},"404":{"description":"Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}":{"delete":{"tags":["Avatars"],"summary":"Delete avatar","description":"Deletes an avatar from a project or issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteAvatar","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"owningObjectId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the avatar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user does not have permission to delete the avatar, the avatar is not deletable."},"404":{"description":"Returned if the avatar type, associated item ID, or avatar ID is invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/user":{"get":{"tags":["Users"],"summary":"Get user","description":"Returns a user.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUser","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about users in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` includes all groups and nested groups to which the user belongs.\n * `applicationRoles` includes details of all the applications to which the user has access.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the *Browse users and groups* global permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Users"],"summary":"Create user","description":"Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated.\n\nIf the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have access to Jira, the operation returns a 400 status.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createUser","parameters":[],"requestBody":{"description":"Details about the user to be created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewUserDetails"},"example":{"emailAddress":"mia@atlassian.com","displayName":"Mia Krystof","name":""}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"400":{"description":"Returned if the request is invalid or the number of licensed users is exceeded."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Users"],"summary":"Delete user","description":"Deletes a user.\n\n**[Permissions](#permissions) required:** Site administration (that is, membership of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeUser","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the user cannot be removed."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/user/assignable/multiProjectSearch":{"get":{"tags":["User search"],"summary":"Find users assignable to projects","description":"Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"findBulkAssignableUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"projectKeys","in":"query","description":"A list of project keys (case sensitive). This parameter accepts a comma-separated list.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `projectKeys` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if one or more of the projects is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/assignable/search":{"get":{"tags":["User search"],"summary":"Find users assignable to issues","description":"Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to:\n\n * a new issue, by providing the `projectKeyOrId`.\n * an updated issue, by providing the `issueKey`.\n * to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-rest-api-2-issue-issueIdOrKey-get).\n\nIn all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"findAssignableUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `username` or `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"sessionId","in":"query","description":"The sessionId of this request. SessionId is the same until the assignee is set.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"project","in":"query","description":"The project ID or project key (case sensitive). Required, unless `issueKey` is specified.","schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The key of the issue. Required, unless `project` is specified.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return. This operation may return less than the maximum number of items even if more are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the users that can be assigned to the issue.","schema":{"type":"integer","format":"int32","default":50}},{"name":"actionDescriptorId","in":"query","description":"The ID of the transition.","schema":{"type":"integer","format":"int32"}},{"name":"recommend","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `project` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project, issue, or transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/bulk":{"get":{"tags":["Users"],"summary":"Bulk get users","description":"Returns a [paginated](#pagination) list of the users specified by one or more account IDs.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetUsers","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"accountId","in":"query","description":"The account ID of a user. To specify multiple users, pass multiple `accountId` parameters. For example, `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"maxLength":128,"type":"array","example":"5b10ac8d82e05b22cc7d4ef5","items":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"}},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUser"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}]}"}}},"400":{"description":"Returned if `accountID` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/bulk/migration":{"get":{"tags":["Users"],"summary":"Get account IDs for users","description":"Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or `username` parameters can be specified.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetUsersMigration","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"username","in":"query","description":"Username of a user. To specify multiple users, pass multiple copies of this parameter. For example, `username=fred&username=barney`. Required if `key` isn't provided. Cannot be provided if `key` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"key","in":"query","description":"Key of a user. To specify multiple users, pass multiple copies of this parameter. For example, `key=fred&key=barney`. Required if `username` isn't provided. Cannot be provided if `username` is present.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserMigrationBean"}},"example":"[{\"username\":\"mia\",\"accountId\":\"5b10a2844c20165700ede21g\"},{\"username\":\"emma\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\"}]"}}},"400":{"description":"Returned if `key` or `username`"},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/columns":{"get":{"tags":["Users"],"summary":"Get user default columns","description":"Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId` is not passed in the request, the calling user's details are returned.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for any user.\n * Permission to access Jira, to get the calling user's column details.","operationId":"getUserDefaultColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the requested user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Users"],"summary":"Set user default columns","description":"Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID is not passed, the calling user's default columns are set. If no column details are sent, then all default columns are removed.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/2/user/columns?accountId=5b10ac8d82e05b22cc7d4ef5'`\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.","operationId":"setUserColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"requestBody":{"description":"The ID of a column to set. To set multiple columns, send multiple `columns` parameters.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the requested user is not found."},"500":{"description":"Returned if an invalid issue table column ID is sent."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Users"],"summary":"Reset user default columns","description":"Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system default. If `accountId` is not passed, the calling user's default columns are reset.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.","operationId":"resetUserColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/user/email":{"get":{"tags":["Users"],"summary":"Get user email","description":"Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).","operationId":"getUserEmail","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"maxLength":128,"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnrestrictedUserEmail"},"example":"name@example.com"}}},"400":{"description":"Returned if the calling app is not approved to use this API."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request (for example if a user is trying to access this API)."},"404":{"description":"Returned if a user with the given `accountId` doesn't exist"},"503":{"description":"Indicates the API is not currently enabled"}},"deprecated":false,"security":[{"basicAuth":[]}],"x-experimental":true,"x-atlassian-connect-scope":"ACCESS_EMAIL_ADDRESSES"}},"/rest/api/2/user/email/bulk":{"get":{"tags":["Users"],"summary":"Get user email bulk","description":"Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).","operationId":"getUserEmailBulk","parameters":[{"name":"accountId","in":"query","description":"The account IDs of the users for which emails are required. An `accountId` is an identifier that uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`. Note, this should be treated as an opaque identifier (that is, do not assume any structure in the value).","required":true,"schema":{"maxLength":128,"type":"array","items":{"maxLength":128,"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnrestrictedUserEmail"}}}},"400":{"description":"Returned if the calling app is not approved to use this API."},"401":{"description":"Returned if the authentication credentials are incorrect, or missing from the request (for example if a user is trying to access this API)."},"503":{"description":"Indicates the API is not currently enabled."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-experimental":true,"x-atlassian-connect-scope":"ACCESS_EMAIL_ADDRESSES"}},"/rest/api/2/user/groups":{"get":{"tags":["Users"],"summary":"Get user groups","description":"Returns the groups to which a user belongs.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUserGroups","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupName"}},"example":"{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/group?groupname=jira-administrators\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the *Browse users and groups* global permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/permission/search":{"get":{"tags":["User search"],"summary":"Find users with permissions","description":"Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have a set of permissions for a project or issue.\n\nIf no search string is provided, a list of all users with the permissions is returned.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project.","operationId":"findUsersWithAllPermissions","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"permissions","in":"query","description":"A comma separated list of permissions. Permissions can be specified as any:\n\n * permission returned by [Get all permissions](#api-rest-api-2-permissions-get).\n * custom project permission added by Connect apps.\n * (deprecated) one of the following:\n \n * ASSIGNABLE\\_USER\n * ASSIGN\\_ISSUE\n * ATTACHMENT\\_DELETE\\_ALL\n * ATTACHMENT\\_DELETE\\_OWN\n * BROWSE\n * CLOSE\\_ISSUE\n * COMMENT\\_DELETE\\_ALL\n * COMMENT\\_DELETE\\_OWN\n * COMMENT\\_EDIT\\_ALL\n * COMMENT\\_EDIT\\_OWN\n * COMMENT\\_ISSUE\n * CREATE\\_ATTACHMENT\n * CREATE\\_ISSUE\n * DELETE\\_ISSUE\n * EDIT\\_ISSUE\n * LINK\\_ISSUE\n * MANAGE\\_WATCHER\\_LIST\n * MODIFY\\_REPORTER\n * MOVE\\_ISSUE\n * PROJECT\\_ADMIN\n * RESOLVE\\_ISSUE\n * SCHEDULE\\_ISSUE\n * SET\\_ISSUE\\_SECURITY\n * TRANSITION\\_ISSUE\n * VIEW\\_VERSION\\_CONTROL\n * VIEW\\_VOTERS\\_AND\\_WATCHERS\n * VIEW\\_WORKFLOW\\_READONLY\n * WORKLOG\\_DELETE\\_ALL\n * WORKLOG\\_DELETE\\_OWN\n * WORKLOG\\_EDIT\\_ALL\n * WORKLOG\\_EDIT\\_OWN\n * WORK\\_ISSUE","required":true,"schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The issue key for the issue.","schema":{"type":"string"}},{"name":"projectKey","in":"query","description":"The project key for the project (case sensitive).","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `projectKey` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided.\n * `permissions` is empty or contains an invalid entry."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue or project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/picker":{"get":{"tags":["User search"],"summary":"Find users for picker","description":"Returns a list of users whose attributes match the query term. The returned object includes the `html` field where the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude users from the results.\n\nThis operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns only the users from that range that match the query term. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the query term, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return search results for an exact name match only.","operationId":"findUsersForPicker","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*.","required":true,"schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"The maximum number of items to return. The total number of matched users is returned in `total`.","schema":{"type":"integer","format":"int32","default":50}},{"name":"showAvatar","in":"query","description":"Include the URI to the user's avatar.","schema":{"type":"boolean","default":false}},{"name":"exclude","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"excludeAccountIds","in":"query","description":"A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`. Cannot be provided with `exclude`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"avatarSize","in":"query","schema":{"type":"string"}},{"name":"excludeConnectUsers","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundUsers"},"example":"{\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"mia\",\"key\":\"mia\",\"html\":\"Mia Krystof - mia@example.com (mia)\",\"displayName\":\"Mia Krystof\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}],\"total\":25,\"header\":\"Showing 20 of 25 matching groups\"}"}}},"400":{"description":"Returned if `exclude` and `excludeAccountIds` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/properties":{"get":{"tags":["User properties"],"summary":"Get user property keys","description":"Returns the keys of all properties for a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on any user.\n * Access to Jira, to access the calling user's property keys.","operationId":"getUserPropertyKeys","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/properties/{propertyKey}":{"get":{"tags":["User properties"],"summary":"Get user property","description":"Returns the value of a user's property. If no property key is provided [Get user property keys](#api-rest-api-2-user-properties-get) is called.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.\n * Access to Jira, to get a property from the calling user's record.","operationId":"getUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["User properties"],"summary":"Set user property","description":"Sets the value of a user's property. Use this resource to store custom data against a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.\n * Access to Jira, to set a property on the calling user's record.","operationId":"setUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the user property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the user property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."},"405":{"description":"Returned if the property key is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["User properties"],"summary":"Delete user property","description":"Deletes a property from a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any user.\n * Access to Jira, to delete a property from the calling user's record.","operationId":"deleteUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the user property is deleted."},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user or the property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/2/user/search":{"get":{"tags":["User search"],"summary":"Find users","description":"Returns a list of users that match the search string and property.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and property. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and property, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users without the required permission return empty search results.","operationId":"findUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes ( `displayName`, and `emailAddress`) to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` or `property` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against a user `accountId`. Required, unless `query` or `property` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"property","in":"query","description":"A query string used to search properties. Property keys are specified by path, so property keys containing dot (.) or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `thepropertykey.something.nested=1`. Required, unless `accountId` or `query` is specified.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `accountId`, `query` or `property` is missing.\n * `query` and `accountId` are provided.\n * `property` parameter is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/search/query":{"get":{"tags":["User search"],"summary":"Find users by query","description":"Finds users with a structured query and returns a [paginated](#pagination) list of user details.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`","operationId":"findUsersByQuery","parameters":[{"name":"query","in":"query","description":"The search query.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUser"}}}},"400":{"description":"Returned if the query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"408":{"description":"Returned if the search is timed out."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/search/query/key":{"get":{"tags":["User search"],"summary":"Find user keys by query","description":"Finds users with a structured query and returns a [paginated](#pagination) list of user keys.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`","operationId":"findUserKeysByQuery","parameters":[{"name":"query","in":"query","description":"The search query.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUserKey"}}}},"400":{"description":"Returned if the query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"408":{"description":"Returned if the search is timed out."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/user/viewissue/search":{"get":{"tags":["User search"],"summary":"Find users with browse permission","description":"Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have permission to browse issues.\n\nUse this resource to find users who can browse:\n\n * an issue, by providing the `issueKey`.\n * any issue in a project, by providing the `projectKey`.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-2-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results.","operationId":"findUsersWithBrowsePermission","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"issueKey","in":"query","description":"The issue key for the issue. Required, unless `projectKey` is specified.","schema":{"type":"string"}},{"name":"projectKey","in":"query","description":"The project key for the project (case sensitive). Required, unless `issueKey` is specified.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `projectKey` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/users":{"get":{"tags":["Users"],"summary":"Get all users default","description":"Returns a list of all (active and inactive) users.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllUsersDefault","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return.","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user doesn't have the necessary permission."},"409":{"description":"Returned if the request takes longer than 10 seconds or is interrupted."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/users/search":{"get":{"tags":["Users"],"summary":"Get all users","description":"Returns a list of all (active and inactive) users.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllUsers","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return.","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user doesn't have the necessary permission."},"409":{"description":"Returned if the request takes longer than 10 seconds or is interrupted."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/2/version":{"post":{"tags":["Project versions"],"summary":"Create version","description":"Creates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.","operationId":"createVersion","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":{"archived":false,"releaseDate":"2010-07-06","name":"New Version 1","description":"An excellent version","projectId":10000,"released":true}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\",\"id\":\"10000\",\"description\":\"An excellent version\",\"name\":\"New Version 1\",\"archived\":false,\"released\":true,\"releaseDate\":\"2010-07-06\",\"userReleaseDate\":\"6/Jul/2010\",\"project\":\"PXA\",\"projectId\":10000}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}":{"get":{"tags":["Project versions"],"summary":"Get version","description":"Returns a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.","operationId":"getVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property represents the number of issues with a status other than *to do*, *in progress*, and *done*.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the version is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project versions"],"summary":"Update version","description":"Updates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"updateVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":{"archived":false,"overdue":true,"releaseDate":"2010-07-06","name":"New Version 1","self":"https://your-domain.atlassian.net/rest/api/~ver~/version/10000","description":"An excellent version","userReleaseDate":"6/Jul/2010","id":"10000","projectId":10000,"released":true}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\",\"id\":\"10000\",\"description\":\"An excellent version\",\"name\":\"New Version 1\",\"archived\":false,\"released\":true,\"releaseDate\":\"2010-07-06\",\"userReleaseDate\":\"6/Jul/2010\",\"project\":\"PXA\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the request is invalid.\n * the user does not have the required permissions."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the version is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project versions"],"summary":"Delete version","description":"Deletes a project version.\n\nDeprecated, use [ Delete and replace version](#api-rest-api-2-version-id-removeAndSwap-post) that supports swapping version values in custom fields, in addition to the swapping for `fixVersion` and `affectedVersion` provided in this resource.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion` or `affectedVersion`. If alternatives are not provided, occurrences of `fixVersion` and `affectedVersion` that contain the deleted version are cleared.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"deleteVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}},{"name":"moveFixIssuesTo","in":"query","description":"The ID of the version to update `fixVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.","schema":{"type":"string"}},{"name":"moveAffectedIssuesTo","in":"query","description":"The ID of the version to update `affectedVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the version is deleted."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect.\n * the user does not have the required permissions."},"404":{"description":"Returned if the version is not found."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}/mergeto/{moveIssuesTo}":{"put":{"tags":["Project versions"],"summary":"Merge versions","description":"Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.\n\nConsider using [ Delete and replace version](#api-rest-api-2-version-id-removeAndSwap-post) instead. This resource supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"mergeVersions","parameters":[{"name":"id","in":"path","description":"The ID of the version to delete.","required":true,"schema":{"type":"string"}},{"name":"moveIssuesTo","in":"path","description":"The ID of the version to merge into.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the version is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect or missing.\n * the user does not have the required permissions."},"404":{"description":"Returned if the version to be deleted or the version to merge to are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}/move":{"post":{"tags":["Project versions"],"summary":"Move version","description":"Modifies the version's sequence within the project, which affects the display order of the versions in Jira.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"moveVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version to be moved.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionMoveBean"},"example":{"after":"https://your-domain.atlassian.net/rest/api/~ver~/version/10000"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/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}"}}},"400":{"description":"Returned if:\n\n * no body parameters are provided.\n * `after` and `position` are provided.\n * `position` is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect or missing\n * the user does not have the required commissions."},"404":{"description":"Returned if the version or move after version are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}/relatedIssueCounts":{"get":{"tags":["Project versions"],"summary":"Get version's related issues count","description":"Returns the following counts for a version:\n\n * Number of issues where the `fixVersion` is set to the version.\n * Number of issues where the `affectedVersion` is set to the version.\n * Number of issues where a version custom field is set to the version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"getVersionRelatedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionIssueCounts"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\",\"issuesFixedCount\":23,\"issuesAffectedCount\":101,\"issueCountWithCustomFieldsShowingVersion\":54,\"customFieldUsage\":[{\"fieldName\":\"Field1\",\"customFieldId\":10000,\"issueCountWithVersionInCustomField\":2},{\"fieldName\":\"Field2\",\"customFieldId\":10010,\"issueCountWithVersionInCustomField\":3}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the version is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/version/{id}/removeAndSwap":{"post":{"tags":["Project versions"],"summary":"Delete and replace version","description":"Deletes a project version.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion`, `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version being deleted.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"deleteAndReplaceVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAndReplaceVersionBean"}}},"required":true},"responses":{"204":{"description":"Returned if the version is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the version to delete is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/2/version/{id}/unresolvedIssueCount":{"get":{"tags":["Project versions"],"summary":"Get version's unresolved issues count","description":"Returns counts of the issues and unresolved issues for the project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"getVersionUnresolvedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionUnresolvedIssuesCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/2/version/10000\",\"issuesUnresolvedCount\":23,\"issuesCount\":30}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the version is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/webhook":{"get":{"tags":["Webhooks"],"summary":"Get dynamic webhooks for app","description":"Returns a [paginated](#pagination) list of the webhooks registered by the calling app.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.","operationId":"getDynamicWebhooksForApp","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWebhook"},"example":"{\"maxResults\":3,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":10000,\"jqlFilter\":\"project = PRJ\",\"fieldIdsFilter\":[\"summary\",\"customfield_10029\"],\"events\":[\"jira:issue_updated\",\"jira:issue_created\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"},{\"id\":10001,\"jqlFilter\":\"issuetype = Bug\",\"events\":[\"jira:issue_created\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"},{\"id\":10002,\"jqlFilter\":\"project = PRJ\",\"issuePropertyKeysFilter\":[\"my-issue-property-key\"],\"events\":[\"issue_property_set\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not an app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Webhooks"],"summary":"Register dynamic webhooks","description":"Registers webhooks.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.","operationId":"registerDynamicWebhooks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRegistrationDetails"},"example":{"webhooks":[{"jqlFilter":"project = PROJ","fieldIdsFilter":["summary","customfield_10029"],"events":["jira:issue_created","jira:issue_updated"]},{"jqlFilter":"project IN (PROJ, EXP) AND status = done","events":["jira:issue_deleted"]},{"jqlFilter":"project = PROJ","issuePropertyKeysFilter":["my-issue-property-key"],"events":["issue_property_set"]}],"url":"https://your-app.example.com/webhook-received"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForRegisteredWebhooks"},"example":"{\"webhookRegistrationResult\":[{\"createdWebhookId\":1000},{\"errors\":[\"The clause watchCount is unsupported\"]},{\"createdWebhookId\":1001}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not an app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Webhooks"],"summary":"Delete webhooks by ID","description":"Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps are specified, they are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.","operationId":"deleteWebhookById","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForWebhookIDs"},"example":{"webhookIds":[10000,10001,10042]}}},"required":true},"responses":{"202":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the list of webhook IDs is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not an app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/webhook/failed":{"get":{"tags":["Webhooks"],"summary":"Get failed webhooks","description":"Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.\n\nAfter 72 hours the failure may no longer be returned by this operation.\n\nThe oldest failure is returned first.\n\nThis method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.","operationId":"getFailedWebhooks","parameters":[{"name":"maxResults","in":"query","description":"The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page.","schema":{"type":"integer","format":"int32"}},{"name":"after","in":"query","description":"The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch.","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedWebhooks"},"example":"{\"values\":[{\"id\":\"1\",\"body\":\"{\\\"data\\\":\\\"webhook data\\\"}\",\"url\":\"https://example.com\",\"failureTime\":1573118132000},{\"id\":\"2\",\"url\":\"https://example.com\",\"failureTime\":1573540473480}],\"maxResults\":100,\"next\":\"https://your-domain.atlassian.net/rest/api/2/webhook/failed?failedAfter=1573540473480&maxResults=100\"}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/2/webhook/refresh":{"put":{"tags":["Webhooks"],"summary":"Extend webhook life","description":"Webhooks registered through the REST API expire after 30 days. Call this resource periodically to keep them alive.\n\nUnrecognized webhook IDs (those that are not found or belong to other apps) are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.","operationId":"refreshWebhooks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForWebhookIDs"},"example":{"webhookIds":[10000,10001,10042]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksExpirationDate"},"example":"{\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not an app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/workflow":{"get":{"tags":["Workflows"],"summary":"Get all workflows","description":"Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-2-workflow-search-get).\n\nIf the `workflowName` parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllWorkflows","parameters":[{"name":"workflowName","in":"query","description":"The name of the workflow to be returned. Only one workflow can be specified.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeprecatedWorkflow"}},"example":"[{\"name\":\"classic workflow\",\"description\":\"A classic Jira workflow\",\"lastModifiedDate\":\"01-01-2011\",\"lastModifiedUser\":\"admin\",\"lastModifiedUserAccountId\":\"5b10a2844c20165700ede21g\",\"steps\":5,\"default\":true}]"}}},"401":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflows"],"summary":"Create workflow","description":"Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no transitional rules are specified the default system transition rules are used.\n\n#### Conditions ####\n\nConditions enable workflow rules that govern whether a transition can execute.\n\n##### Always false condition #####\n\nA condition that always fails.\n\n {\n \"type\": \"AlwaysFalseCondition\"\n }\n\n##### Block transition until approval #####\n\nA condition that blocks issue transition if there is a pending approval.\n\n {\n \"type\": \"BlockInProgressApprovalCondition\"\n }\n\n##### Compare number custom field condition #####\n\nA condition that allows transition if a comparison between a number custom field and a value is true.\n\n {\n \"type\": \"CompareNumberCFCondition\",\n \"configuration\": {\n \"comparator\": \"=\",\n \"fieldId\": \"customfield_10029\",\n \"fieldValue\": 2\n }\n }\n\n * `comparator` One of the supported comparator: `=`, `>` and `<`.\n * `fieldId` The custom numeric field ID.\n * `fieldValue` The value for comparison.\n\n##### Hide from user condition #####\n\nA condition that hides a transition from users. The transition can only be triggered from a workflow function or REST API operation.\n\n {\n \"type\": \"RemoteOnlyCondition\"\n }\n\n##### Only assignee condition #####\n\nA condition that allows only the assignee to execute a transition.\n\n {\n \"type\": \"AllowOnlyAssignee\"\n }\n\n##### Only Bamboo notifications workflow condition #####\n\nA condition that makes the transition available only to Bamboo build notifications.\n\n {\n \"type\": \"OnlyBambooNotificationsCondition\"\n }\n\n##### Only reporter condition #####\n\nA condition that allows only the reporter to execute a transition.\n\n {\n \"type\": \"AllowOnlyReporter\"\n }\n\n##### Permission condition #####\n\nA condition that allows only users with a permission to execute a transition.\n\n {\n \"type\": \"PermissionCondition\",\n \"configuration\": {\n \"permissionKey\": \"BROWSE_PROJECTS\"\n }\n }\n\n * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n\n##### Previous status condition #####\n\nA condition that allows a transition based on whether an issue has or has not transitioned through a status.\n\n {\n \"type\": \"PreviousStatusCondition\",\n \"configuration\": {\n \"ignoreLoopTransitions\": true,\n \"includeCurrentStatus\": true,\n \"mostRecentStatusOnly\": true,\n \"reverseCondition\": true,\n \"previousStatus\": {\n \"id\": \"5\"\n }\n }\n }\n\nBy default this condition allows the transition if the status, as defined by its ID in the `previousStatus` object, matches any previous issue status, unless:\n\n * `ignoreLoopTransitions` is `true`, then loop transitions (from and to the same status) are ignored.\n * `includeCurrentStatus` is `true`, then the current issue status is also checked.\n * `mostRecentStatusOnly` is `true`, then only the issue's preceding status (the one immediately before the current status) is checked.\n * `reverseCondition` is `true`, then the status must not be present.\n\n##### Separation of duties condition #####\n\nA condition that prevents a user to perform the transition, if the user has already performed a transition on the issue.\n\n {\n \"type\": \"SeparationOfDutiesCondition\",\n \"configuration\": {\n \"fromStatus\": {\n \"id\": \"5\"\n },\n \"toStatus\": {\n \"id\": \"6\"\n }\n }\n }\n\n * `fromStatus` OPTIONAL. An object containing the ID of the source status of the transition that is blocked. If omitted any transition to `toStatus` is blocked.\n * `toStatus` An object containing the ID of the target status of the transition that is blocked.\n\n##### Subtask blocking condition #####\n\nA condition that blocks transition on a parent issue if any of its subtasks are in any of one or more statuses.\n\n {\n \"type\": \"SubTaskBlockingCondition\",\n \"configuration\": {\n \"statuses\": [\n {\n \"id\": \"1\"\n },\n {\n \"id\": \"3\"\n }\n ]\n }\n }\n\n * `statuses` A list of objects containing status IDs.\n\n##### User is in any group condition #####\n\nA condition that allows users belonging to any group from a list of groups to execute a transition.\n\n {\n \"type\": \"UserInAnyGroupCondition\",\n \"configuration\": {\n \"groups\": [\n \"administrators\",\n \"atlassian-addons-admin\"\n ]\n }\n }\n\n * `groups` A list of group names.\n\n##### User is in any project role condition #####\n\nA condition that allows only users with at least one project roles from a list of project roles to execute a transition.\n\n {\n \"type\": \"InAnyProjectRoleCondition\",\n \"configuration\": {\n \"projectRoles\": [\n {\n \"id\": \"10002\"\n },\n {\n \"id\": \"10003\"\n },\n {\n \"id\": \"10012\"\n },\n {\n \"id\": \"10013\"\n }\n ]\n }\n }\n\n * `projectRoles` A list of objects containing project role IDs.\n\n##### User is in custom field condition #####\n\nA condition that allows only users listed in a given custom field to execute the transition.\n\n {\n \"type\": \"UserIsInCustomFieldCondition\",\n \"configuration\": {\n \"allowUserInField\": false,\n \"fieldId\": \"customfield_10010\"\n }\n }\n\n * `allowUserInField` If `true` only a user who is listed in `fieldId` can perform the transition, otherwise, only a user who is not listed in `fieldId` can perform the transition.\n * `fieldId` The ID of the field containing the list of users.\n\n##### User is in group condition #####\n\nA condition that allows users belonging to a group to execute a transition.\n\n {\n \"type\": \"UserInGroupCondition\",\n \"configuration\": {\n \"group\": \"administrators\",\n }\n }\n\n * `group` The name of the group.\n\n##### User is in group custom field condition #####\n\nA condition that allows users belonging to a group specified in a custom field to execute a transition.\n\n {\n \"type\": \"InGroupCFCondition\",\n \"configuration\": {\n \"fieldId\": \"customfield_10012\",\n }\n }\n\n * `fieldId` The ID of the field.\n\n##### User is in project role condition #####\n\nA condition that allows users with a project role to execute a transition.\n\n {\n \"type\": \"InProjectRoleCondition\",\n \"configuration\": {\n \"projectRole\": {\n \"id\": \"10002\"\n }\n }\n }\n\n * `projectRole` An object containing the ID of a project role.\n\n##### Value field condition #####\n\nA conditions that allows a transition to execute if the value of a field is equal to a constant value or simply set.\n\n {\n \"type\": \"ValueFieldCondition\",\n \"configuration\": {\n \"fieldId\": \"assignee\",\n \"fieldValue\": \"qm:6e1ecee6-8e64-4db6-8c85-916bb3275f51:54b56885-2bd2-4381-8239-78263442520f\",\n \"comparisonType\": \"NUMBER\",\n \"comparator\": \"=\"\n }\n }\n\n * `fieldId` The ID of a field used in the comparison.\n * `fieldValue` The expected value of the field.\n * `comparisonType` The type of the comparison. Allowed values: `STRING`, `NUMBER`, `DATE`, `DATE_WITHOUT_TIME`, or `OPTIONID`.\n * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`.\n\n**Notes:**\n\n * If you choose the comparison type `STRING`, only `=` and `!=` are valid options.\n * You may leave `fieldValue` empty when comparison type is `!=` to indicate that a value is required in the field.\n * For date fields without time format values as `yyyy-MM-dd`, and for those with time as `yyyy-MM-dd HH:mm`. For example, for July 16 2021 use `2021-07-16`, for 8:05 AM use `2021-07-16 08:05`, and for 4 PM: `2021-07-16 16:00`.\n\n#### Validators ####\n\nValidators check that any input made to the transition is valid before the transition is performed.\n\n##### Date field validator #####\n\nA validator that compares two dates.\n\n {\n \"type\": \"DateFieldValidator\",\n \"configuration\": {\n \"comparator\": \">\",\n \"date1\": \"updated\",\n \"date2\": \"created\",\n \"expression\": \"1d\",\n \"includeTime\": true\n }\n }\n\n * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, or `!=`.\n * `date1` The date field to validate.\n * `date2` The second date field. Required, if `expression` is not passed.\n * `expression` An expression specifying an offset. Required, if `date2` is not passed. Offsets are built with a number, with `-` as prefix for the past, and one of these time units: `d` for day, `w` for week, `m` for month, or `y` for year. For example, -2d means two days into the past and 1w means one week into the future. The `now` keyword enables a comparison with the current date.\n * `includeTime` If `true`, then the time part of the data is included for the comparison. If the field doesn't have a time part, 00:00:00 is used.\n\n##### Windows date validator #####\n\nA validator that checks that a date falls on or after a reference date and before or on the reference date plus a number of days.\n\n {\n \"type\": \"WindowsDateValidator\",\n \"configuration\": {\n \"date1\": \"customfield_10009\",\n \"date2\": \"created\",\n \"windowsDays\": 5\n }\n }\n\n * `date1` The date field to validate.\n * `date2` The reference date.\n * `windowsDays` A positive integer indicating a number of days.\n\n##### Field required validator #####\n\nA validator that checks fields are not empty. By default, if a field is not included in the current context it's ignored and not validated.\n\n {\n \"type\": \"FieldRequiredValidator\",\n \"configuration\": {\n \"ignoreContext\": true,\n \"errorMessage\": \"Hey\",\n \"fieldIds\": [\n \"versions\",\n \"customfield_10037\",\n \"customfield_10003\"\n ]\n }\n }\n\n * `ignoreContext` If `true`, then the context is ignored and all the fields are validated.\n * `errorMessage` OPTIONAL. The error message displayed when one or more fields are empty. A default error message is shown if an error message is not provided.\n * `fieldIds` The list of fields to validate.\n\n##### Field changed validator #####\n\nA validator that checks that a field value is changed. However, this validation can be ignored for users from a list of groups.\n\n {\n \"type\": \"FieldChangedValidator\",\n \"configuration\": {\n \"fieldId\": \"comment\",\n \"errorMessage\": \"Hey\",\n \"exemptedGroups\": [\n \"administrators\",\n \"atlassian-addons-admin\"\n ]\n }\n }\n\n * `fieldId` The ID of a field.\n * `errorMessage` OPTIONAL. The error message displayed if the field is not changed. A default error message is shown if the error message is not provided.\n * `exemptedGroups` OPTIONAL. The list of groups.\n\n##### Field has single value validator #####\n\nA validator that checks that a multi-select field has only one value. Optionally, the validation can ignore values copied from subtasks.\n\n {\n \"type\": \"FieldHasSingleValueValidator\",\n \"configuration\": {\n \"fieldId\": \"attachment,\n \"excludeSubtasks\": true\n }\n }\n\n * `fieldId` The ID of a field.\n * `excludeSubtasks` If `true`, then values copied from subtasks are ignored.\n\n##### Parent status validator #####\n\nA validator that checks the status of the parent issue of a subtask. Ìf the issue is not a subtask, no validation is performed.\n\n {\n \"type\": \"ParentStatusValidator\",\n \"configuration\": {\n \"parentStatuses\": [\n {\n \"id\":\"1\"\n },\n {\n \"id\":\"2\"\n }\n ]\n }\n }\n\n * `parentStatus` The list of required parent issue statuses.\n\n##### Permission validator #####\n\nA validator that checks the user has a permission.\n\n {\n \"type\": \"PermissionValidator\",\n \"configuration\": {\n \"permissionKey\": \"ADMINISTER_PROJECTS\"\n }\n }\n\n * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n\n##### Previous status validator #####\n\nA validator that checks if the issue has held a status.\n\n {\n \"type\": \"PreviousStatusValidator\",\n \"configuration\": {\n \"mostRecentStatusOnly\": false,\n \"previousStatus\": {\n \"id\": \"15\"\n }\n }\n }\n\n * `mostRecentStatusOnly` If `true`, then only the issue's preceding status (the one immediately before the current status) is checked.\n * `previousStatus` An object containing the ID of an issue status.\n\n##### Regular expression validator #####\n\nA validator that checks the content of a field against a regular expression.\n\n {\n \"type\": \"RegexpFieldValidator\",\n \"configuration\": {\n \"regExp\": \"[0-9]\",\n \"fieldId\": \"customfield_10029\"\n }\n }\n\n * `regExp`A regular expression.\n * `fieldId` The ID of a field.\n\n##### User permission validator #####\n\nA validator that checks if a user has a permission. Obsolete. You may encounter this validator when getting transition rules and can pass it when updating or creating rules, for example, when you want to duplicate the rules from a workflow on a new workflow.\n\n {\n \"type\": \"UserPermissionValidator\",\n \"configuration\": {\n \"permissionKey\": \"BROWSE_PROJECTS\",\n \"nullAllowed\": false,\n \"username\": \"TestUser\"\n }\n }\n\n * `permissionKey` The permission to be validated. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n * `nullAllowed` If `true`, allows the transition when `username` is empty.\n * `username` The username to validate against the `permissionKey`.\n\n#### Post functions ####\n\nPost functions carry out any additional processing required after a Jira workflow transition is executed.\n\n##### Fire issue event function #####\n\nA post function that fires an event that is processed by the listeners.\n\n {\n \"type\": \"FireIssueEventFunction\",\n \"configuration\": {\n \"event\": {\n \"id\":\"1\"\n }\n }\n }\n\n**Note:** If provided, this post function overrides the default `FireIssueEventFunction`. Can be included once in a transition.\n\n * `event` An object containing the ID of the issue event.\n\n##### Update issue status #####\n\nA post function that sets issue status to the linked status of the destination workflow status.\n\n {\n \"type\": \"UpdateIssueStatusFunction\"\n }\n\n**Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once.\n\n##### Create comment #####\n\nA post function that adds a comment entered during the transition to an issue.\n\n {\n \"type\": \"CreateCommentFunction\"\n }\n\n**Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once.\n\n##### Store issue #####\n\nA post function that stores updates to an issue.\n\n {\n \"type\": \"IssueStoreFunction\"\n }\n\n**Note:** This post function can only be added to the initial transition and can only be added once.\n\n##### Assign to current user function #####\n\nA post function that assigns the issue to the current user if the current user has the `ASSIGNABLE_USER` permission.\n\n {\n \"type\": \"AssignToCurrentUserFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Assign to lead function #####\n\nA post function that assigns the issue to the project or component lead developer.\n\n {\n \"type\": \"AssignToLeadFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Assign to reporter function #####\n\nA post function that assigns the issue to the reporter.\n\n {\n \"type\": \"AssignToReporterFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Clear field value function #####\n\nA post function that clears the value from a field.\n\n {\n \"type\": \"ClearFieldValuePostFunction\",\n \"configuration\": {\n \"fieldId\": \"assignee\"\n }\n }\n\n * `fieldId` The ID of the field.\n\n##### Copy value from other field function #####\n\nA post function that copies the value of one field to another, either within an issue or from parent to subtask.\n\n {\n \"type\": \"CopyValueFromOtherFieldPostFunction\",\n \"configuration\": {\n \"sourceFieldId\": \"assignee\",\n \"destinationFieldId\": \"creator\",\n \"copyType\": \"same\"\n }\n }\n\n * `sourceFieldId` The ID of the source field.\n * `destinationFieldId` The ID of the destination field.\n * `copyType` Use `same` to copy the value from a field inside the issue, or `parent` to copy the value from the parent issue.\n\n##### Create Crucible review workflow function #####\n\nA post function that creates a Crucible review for all unreviewed code for the issue.\n\n {\n \"type\": \"CreateCrucibleReviewWorkflowFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Set issue security level based on user's project role function #####\n\nA post function that sets the issue's security level if the current user has a project role.\n\n {\n \"type\": \"SetIssueSecurityFromRoleFunction\",\n \"configuration\": {\n \"projectRole\": {\n \"id\":\"10002\"\n },\n \"issueSecurityLevel\": {\n \"id\":\"10000\"\n }\n }\n }\n\n * `projectRole` An object containing the ID of the project role.\n * `issueSecurityLevel` OPTIONAL. The object containing the ID of the security level. If not passed, then the security level is set to `none`.\n\n##### Trigger a webhook function #####\n\nA post function that triggers a webhook.\n\n {\n \"type\": \"TriggerWebhookFunction\",\n \"configuration\": {\n \"webhook\": {\n \"id\": \"1\"\n }\n }\n }\n\n * `webhook` An object containing the ID of the webhook listener to trigger.\n\n##### Update issue custom field function #####\n\nA post function that updates the content of an issue custom field.\n\n {\n \"type\": \"UpdateIssueCustomFieldPostFunction\",\n \"configuration\": {\n \"mode\": \"append\",\n \"fieldId\": \"customfield_10003\",\n \"fieldValue\": \"yikes\"\n }\n }\n\n * `mode` Use `replace` to override the field content with `fieldValue` or `append` to add `fieldValue` to the end of the field content.\n * `fieldId` The ID of the field.\n * `fieldValue` The update content.\n\n##### Update issue field function #####\n\nA post function that updates a simple issue field.\n\n {\n \"type\": \"UpdateIssueFieldFunction\",\n \"configuration\": {\n \"fieldId\": \"assignee\",\n \"fieldValue\": \"5f0c277e70b8a90025a00776\",\n }\n }\n\n * `fieldId` The ID of the field.\n * `fieldValue` The update value.\n * If the `fieldId` is `assignee`, the `fieldValue` should be one of these values:\n \n * an account ID.\n * `automatic`.\n * a blank string, which sets the value to `unassigned`.\n * Can be used only for fields : `assignee`, `description`, `environment`, `priority`, `resolution`, `summary`, `time_original_estimate`, `time_estimate`, and `time_spent`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflow","parameters":[],"requestBody":{"description":"The workflow details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkflowDetails"},"example":{"name":"Workflow 1","description":"This is a workflow used for Stories and Tasks","statuses":[{"id":"1"},{"id":"2"},{"id":"3"}],"transitions":[{"name":"Created","from":[],"to":"1","type":"initial"},{"name":"In progress","from":["1"],"rules":{"postFunctions":[{"type":"AssignToCurrentUserFunction"}],"conditions":{"conditions":[{"type":"RemoteOnlyCondition"},{"configuration":{"groups":["developers","qa-testers"]},"type":"UserInAnyGroupCondition"}],"operator":"AND"}},"to":"2","type":"directed"},{"name":"Completed","rules":{"postFunctions":[{"configuration":{"fieldId":"assignee"},"type":"ClearFieldValuePostFunction"}],"validators":[{"configuration":{"parentStatuses":[{"id":"3"}]},"type":"ParentStatusValidator"},{"configuration":{"permissionKey":"ADMINISTER_PROJECTS"},"type":"PermissionValidator"}]},"to":"3","type":"global"}]}}},"required":true},"responses":{"201":{"description":"Returned if the workflow is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowIDs"},"example":"{\"name\":\"Workflow 1\",\"entityId\":\"95bc2ff0-be13-4fec-ac0b-52a1e985d845\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The request body parameters are missing.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access the workflow configuration.\"],\"errors\":{}}"}}},"404":{"description":"Returned if one or more statuses is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"Status with ID 10000 was not found\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflow/rule/config":{"get":{"tags":["Workflow transition rules"],"summary":"Get workflow transition rule configurations","description":"Returns a [paginated](#pagination) list of workflows with transition rules. The workflows can be filtered to return only those containing workflow transition rules:\n\n * of one or more transition rule types, such as [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).\n * matching one or more transition rule keys.\n\nOnly workflows containing transition rules created by the calling Connect app are returned. However, if a workflow is returned all transition rules that match the filters are returned for that workflow.\n\nDue to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be ignored.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"getWorkflowTransitionRuleConfigurations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"maximum":50,"type":"integer","format":"int32","default":10}},{"name":"types","in":"query","description":"The types of the transition rules to return.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["postfunction","condition","validator"]}}},{"name":"keys","in":"query","description":"The transition rule class keys, as defined in the Connect app descriptor, of the transition rules to return.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"workflowNames","in":"query","description":"EXPERIMENTAL: The list of workflow names to filter by.","schema":{"maxLength":50,"uniqueItems":true,"type":"array","items":{"maxLength":50,"type":"string"}}},{"name":"withTags","in":"query","description":"EXPERIMENTAL: The list of `tags` to filter by.","schema":{"maxLength":20,"uniqueItems":true,"type":"array","items":{"maxLength":20,"type":"string"}}},{"name":"draft","in":"query","description":"EXPERIMENTAL: Whether draft or published workflows are returned. If not provided, both workflow types are returned.","schema":{"type":"boolean"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `transition`, which, for each rule, returns information about the transition the rule is assigned to.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflowTransitionRules"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"workflowId\":{\"name\":\"My Workflow name\",\"draft\":false},\"postFunctions\":[{\"id\":\"b4d6cbdc-59f5-11e9-8647-d663bd873d93\",\"key\":\"postfunction-key\",\"configuration\":{\"value\":\"{ \\\"color\\\": \\\"red\\\" }\",\"disabled\":false},\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"conditions\":[{\"id\":\"d663bd873d93-59f5-11e9-8647-b4d6cbdc\",\"key\":\"condition-key\",\"configuration\":{\"value\":\"{ \\\"size\\\": \\\"medium\\\" }\",\"disabled\":false},\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"validators\":[{\"id\":\"11e9-59f5-b4d6cbdc-8647-d663bd873d93\",\"key\":\"validator-key\",\"configuration\":{\"value\":\"\\\"{ \\\\\\\"shape\\\\\\\": \\\\\\\"square\\\\\\\" }\\\"\",\"disabled\":false},\"transition\":{\"id\":1,\"name\":\"Open\"}}]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the any transition rule type is not supported."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Workflow transition rules"],"summary":"Update workflow transition rule configurations","description":"Updates configuration of workflow transition rules. The following rule types are supported:\n\n * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)\n * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)\n * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)\n\nOnly rules created by the calling Connect app can be updated.\n\nTo assist with app migration, this operation can be used to:\n\n * Disable a rule.\n * Add a `tag`. Use this to filter rules in the [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).\n\nRules are enabled if the `disabled` parameter is not provided.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"updateWorkflowTransitionRuleConfigurations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdate"},"example":{"workflows":[{"postFunctions":[{"configuration":{"disabled":false,"value":"{ \"color\": \"red\" }"},"id":"b4d6cbdc-59f5-11e9-8647-d663bd873d93"}],"validators":[{"configuration":{"disabled":false,"value":"{ \"shape\": \"square\" }"},"id":"11e9-59f5-b4d6cbdc-8647-d663bd873d93"}],"conditions":[{"configuration":{"disabled":false,"value":"{ \"size\": \"medium\" }"},"id":"d663bd873d93-59f5-11e9-8647-b4d6cbdc"}],"workflowId":{"draft":false,"name":"My Workflow name"}}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrors"},"example":"{\"updateResults\":[{\"workflowId\":{\"name\":\"Workflow with one rule not updated\",\"draft\":false},\"ruleUpdateErrors\":{\"example-rule-id\":[\"The rule with this id does not exist: example-rule-id\"]},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Workflow with all rules successfully updated\",\"draft\":true},\"ruleUpdateErrors\":{},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Non-existing workflow\",\"draft\":false},\"ruleUpdateErrors\":{},\"updateErrors\":[\"Workflow not found: WorkflowIdBean{name=Non-existing workflow, draft=false}\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflow/rule/config/delete":{"put":{"tags":["Workflow transition rules"],"summary":"Delete workflow transition rule configurations","description":"Deletes workflow transition rules from one or more workflows. These rule types are supported:\n\n * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)\n * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)\n * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)\n\nOnly rules created by the calling Connect app can be deleted.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"deleteWorkflowTransitionRuleConfigurations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowsWithTransitionRulesDetails"},"example":{"workflows":[{"workflowRuleIds":["b4d6cbdc-59f5-11e9-8647-d663bd873d93","d663bd873d93-59f5-11e9-8647-b4d6cbdc","11e9-59f5-b4d6cbdc-8647-d663bd873d93"],"workflowId":{"draft":false,"name":"Internal support workflow"}}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrors"},"example":"{\"updateResults\":[{\"workflowId\":{\"name\":\"Workflow with one rule not updated\",\"draft\":false},\"ruleUpdateErrors\":{\"example-rule-id\":[\"The rule with this id does not exist: example-rule-id\"]},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Workflow with all rules successfully updated\",\"draft\":true},\"ruleUpdateErrors\":{},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Non-existing workflow\",\"draft\":false},\"ruleUpdateErrors\":{},\"updateErrors\":[\"Workflow not found: WorkflowIdBean{name=Non-existing workflow, draft=false}\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errors\":{},\"errorMessages\":[\"Jira Administration permission is required to access workflow configuration.\"],\"httpStatusCode\":{\"present\":true}}"}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflow/search":{"get":{"tags":["Workflows"],"summary":"Get workflows paginated","description":"Returns a [paginated](#pagination) list of published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise, all published classic workflows are returned.\n\nThis operation does not return next-gen workflows.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowsPaginated","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"workflowName","in":"query","description":"The name of a workflow to return. To include multiple workflows, provide an ampersand-separated list. For example, `workflowName=name1&workflowName=name2`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `transitions` For each workflow, returns information about the transitions inside the workflow.\n * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested.\n * `statuses` For each workflow, returns information about the statuses inside the workflow.\n * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested.\n * `default` For each workflow, returns information about whether this is the default workflow.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflow"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":{\"name\":\"SCRUM Workflow\",\"entityId\":\"5ed312c5-f7a6-4a78-a1f6-8ff7f307d063\"},\"description\":\"A workflow used for Software projects in the SCRUM methodology\",\"transitions\":[{\"id\":\"5\",\"name\":\"In Progress\",\"description\":\"Start working on the issue.\",\"from\":[\"10\",\"13\"],\"to\":\"14\",\"type\":\"directed\",\"screen\":{\"id\":\"10000\"},\"rules\":{\"conditions\":[{\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"WORK_ON_ISSUES\"}},{\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"RESOLVE_ISSUES\"}}],\"conditionsTree\":{\"nodeType\":\"compound\",\"operator\":\"AND\",\"conditions\":[{\"nodeType\":\"simple\",\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"WORK_ON_ISSUES\"}},{\"nodeType\":\"simple\",\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"RESOLVE_ISSUES\"}}]},\"validators\":[{\"type\":\"FieldRequiredValidator\",\"configuration\":{\"ignoreContext\":true,\"errorMessage\":\"A custom error message\",\"fields\":[\"description\",\"assignee\"]}}],\"postFunctions\":[{\"type\":\"UpdateIssueStatusFunction\"},{\"type\":\"GenerateChangeHistoryFunction\"},{\"type\":\"FireIssueEventFunction\"}]}}],\"statuses\":[{\"id\":\"3\",\"name\":\"In Progress\",\"properties\":{\"jira.issue.editable\":\"false\",\"issueEditable\":false}}],\"isDefault\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can access workflows.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflow/transitions/{transitionId}/properties":{"get":{"tags":["Workflow transition properties"],"summary":"Get workflow transition properties","description":"Returns the properties on a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowTransitionProperties","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira administration console. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"includeReservedKeys","in":"query","description":"Some properties with keys that have the *jira.* prefix are reserved, which means they are not editable. To include these properties in the results, set this parameter to *true*.","schema":{"type":"boolean","default":false}},{"name":"key","in":"query","description":"The key of the property being returned, also known as the name of the property. If this parameter is not specified, all properties on the transition are returned.","schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to *live* for active and inactive workflows, or *draft* for draft workflows.","schema":{"type":"string","enum":["live","draft"],"default":"live"}}],"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"[{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"},{\"key\":\"jira.permission\",\"value\":\"createissue\",\"id\":\"jira.permission\"}]"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have admin permission"},"404":{"description":"Returned if the workflow transition or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow transition properties"],"summary":"Update workflow transition property","description":"Updates a workflow transition by changing the property value. Trying to update a property that does not exist results in a new property being added to the transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The key of the property being updated, also known as the name of the property. Set this to the same value as the `key` defined in the request body.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":{"value":"createissue"}}},"required":true},"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"}"}}},"304":{"description":"Returned if no changes were made by the request. For example, attempting to update a property with its current value."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflow transition properties"],"summary":"Create workflow transition property","description":"Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The key of the property being added, also known as the name of the property. Set this to the same value as the `key` defined in the request body.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to *live* for inactive workflows or *draft* for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"],"default":"live"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":{"value":"createissue"}}},"required":true},"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"}"}}},"400":{"description":"Returned if a workflow property with the same key is present on the transition."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow transition properties"],"summary":"Delete workflow transition property","description":"Deletes a property from a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The name of the transition property to delete, also known as the name of the property.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"]}}],"responses":{"200":{"description":"200 response"},"304":{"description":"Returned if no changes were made by the request. For example, trying to delete a property that cannot be found."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflow/{entityId}":{"delete":{"tags":["Workflows"],"summary":"Delete inactive workflow","description":"Deletes a workflow.\n\nThe workflow cannot be deleted if it is:\n\n * an active workflow.\n * a system workflow.\n * associated with any workflow scheme.\n * associated with any draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteInactiveWorkflow","parameters":[{"name":"entityId","in":"path","description":"The entity ID of the workflow.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the workflow is deleted."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Cannot delete an active workflow.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access the workflow configuration.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the workflow is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The workflow was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme":{"get":{"tags":["Workflow schemes"],"summary":"Get all workflow schemes","description":"Returns a [paginated](#pagination) list of all workflow schemes, not including draft workflow schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllWorkflowSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflowScheme"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"},{\"id\":101011,\"name\":\"Another example workflow scheme\",\"description\":\"The description of the another example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101011\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflow schemes"],"summary":"Create workflow scheme","description":"Creates a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/project":{"get":{"tags":["Workflow scheme project associations"],"summary":"Get workflow scheme project associations","description":"Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a list of the requested projects associated with it. Any next-gen or non-existent projects in the request are ignored and no errors are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeProjectAssociations","parameters":[{"name":"projectId","in":"query","description":"The ID of a project to return the workflow schemes for. To include multiple projects, provide an ampersand-Jim: oneseparated list. For example, `projectId=10000&projectId=10001`.","required":true,"schema":{"maxItems":100,"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64","example":10010}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerOfWorkflowSchemeAssociations"},"example":"{\"values\":[{\"projectIds\":[\"10010\",\"10020\"],\"workflowScheme\":{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"projectId\":\"The ID of a project has to be provided.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access workflow scheme associations.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme project associations"],"summary":"Assign workflow scheme to project","description":"Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.\n\nWorkflow schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowSchemeProjectAssociation"},"example":{"workflowSchemeId":"10032","projectId":"10001"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have workflow schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access workflow scheme associations.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the workflow scheme or the project are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The workflow scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}":{"get":{"tags":["Workflow schemes"],"summary":"Get workflow scheme","description":"Returns a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the workflow scheme's draft rather than scheme itself, if set to true. If the workflow scheme does not have a draft, then the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Update workflow scheme","description":"Updates a workflow scheme, including the name, default workflow, issue type to project mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","updateDraftIfNeeded":false,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete workflow scheme","description":"Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at least one project).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the scheme is active."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/createdraft":{"post":{"tags":["Workflow scheme drafts"],"summary":"Create draft workflow scheme","description":"Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowSchemeDraftFromParent","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft is created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/default":{"get":{"tags":["Workflow schemes"],"summary":"Get default workflow","description":"Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"returnDraftIfExists","in":"query","description":"Set to `true` to return the default workflow for the workflow scheme's draft rather than scheme itself. If the workflow scheme does not have a draft, then the default workflow for the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":"{\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Update default workflow","description":"Sets the default workflow for a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The new default workflow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":{"workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete default workflow","description":"Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get draft workflow scheme","description":"Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information. \nNote that:\n\n * Only active workflow schemes can have draft workflow schemes.\n * An active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Update draft workflow scheme","description":"Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a draft is created. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","updateDraftIfNeeded":false,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete draft workflow scheme","description":"Deletes a draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft/default":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get draft default workflow","description":"Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":"{\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Update draft default workflow","description":"Sets the default workflow for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The object for the new default workflow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":{"workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete draft default workflow","description":"Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft/issuetype/{issueType}":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get workflow for issue type in draft workflow scheme","description":"Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":"{\"issueType\":\"10000\",\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Set workflow for issue type in draft workflow scheme","description":"Sets the workflow for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type-project mapping.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":{"issueType":"10000","workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete workflow for issue type in draft workflow scheme","description":"Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft/publish":{"post":{"tags":["Workflow scheme drafts"],"summary":"Publish draft workflow scheme","description":"Publishes a draft workflow scheme.\n\nWhere the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues with the original workflow status to the new workflow status.\n\nThis operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-2-task-taskId-get) to obtain updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"publishDraftWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"validateOnly","in":"query","description":"Whether the request only performs a validation.","schema":{"type":"boolean","default":false}}],"requestBody":{"description":"Details of the status mappings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishDraftWorkflowScheme"},"example":{"statusMappings":[{"issueTypeId":"10001","statusId":"3","newStatusId":"1"},{"issueTypeId":"10001","statusId":"2","newStatusId":"2"},{"issueTypeId":"10002","statusId":"10005","newStatusId":"10003"},{"issueTypeId":"10003","statusId":"4","newStatusId":"1"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is only for validation and is successful."},"303":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"}}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Issue type with ID '2','4' is missing the mappings required for statuses with IDs 10004.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of these are true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * A new status in the draft workflow scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"Draft workflow scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/draft/workflow":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get issue types for workflows in draft workflow scheme","description":"Returns the workflow-issue type mappings for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDraftWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":"{\"workflow\":\"jira\",\"issueTypes\":[\"10000\",\"10001\"],\"defaultMapping\":false}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if either the workflow scheme or workflow (if specified) is not found. session."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Set issue types for workflow in workflow scheme","description":"Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDraftWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":{"workflow":"jira","updateDraftIfNeeded":true,"issueTypes":["10000"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete issue types for workflow in draft workflow scheme","description":"Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDraftWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/issuetype/{issueType}":{"get":{"tags":["Workflow schemes"],"summary":"Get workflow for issue type in workflow scheme","description":"Returns the issue type-workflow mapping for an issue type in a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":"{\"issueType\":\"10000\",\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Set workflow for issue type in workflow scheme","description":"Sets the workflow for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow mapping. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type-project mapping.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":{"issueType":"10000","workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete workflow for issue type in workflow scheme","description":"Deletes the issue type-workflow mapping for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/workflowscheme/{id}/workflow":{"get":{"tags":["Workflow schemes"],"summary":"Get issue types for workflows in workflow scheme","description":"Returns the workflow-issue type mappings for a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.","schema":{"type":"string"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":"{\"workflow\":\"jira\",\"issueTypes\":[\"10000\",\"10001\"],\"defaultMapping\":false}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if either the workflow scheme or workflow is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Set issue types for workflow in workflow scheme","description":"Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for the workflow scheme. Unmapped issues types are mapped to the default workflow.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types mappings. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":{"workflow":"jira","updateDraftIfNeeded":true,"issueTypes":["10000"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/2/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete issue types for workflow in workflow scheme","description":"Deletes the workflow-issue type mapping for a workflow in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is not true."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/2/worklog/deleted":{"get":{"tags":["Issue worklogs"],"summary":"Get IDs of deleted worklogs","description":"Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs deleted during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getIdsOfWorklogsDeletedSince","parameters":[{"name":"since","in":"query","description":"The date and time, as a UNIX timestamp in milliseconds, after which deleted worklogs are returned.","schema":{"type":"integer","format":"int64","default":0}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangedWorklogs"},"example":"{\"values\":[{\"worklogId\":103,\"updatedTime\":1438013671562,\"properties\":[]},{\"worklogId\":104,\"updatedTime\":1438013672165,\"properties\":[]},{\"worklogId\":105,\"updatedTime\":1438013693136,\"properties\":[]}],\"since\":1438013671562,\"until\":1438013693136,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013671562\",\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013693136\",\"lastPage\":true}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/worklog/list":{"post":{"tags":["Issue worklogs"],"summary":"Get worklogs","description":"Returns worklog details for a list of worklog IDs.\n\nThe returned list of worklogs is limited to 1000 items.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.","operationId":"getWorklogsForIds","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.","schema":{"type":"string","default":""}}],"requestBody":{"description":"A JSON object containing a list of worklog IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorklogIdsRequestBean"},"example":{"ids":[1,2,5,10]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Worklog"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/2/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/2/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":\"I did some work here.\",\"updated\":\"2021-09-03T02:19:23.675+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:23.675+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}]"}}},"400":{"description":"Returned if the request contains more than 1000 worklog IDs or is empty."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/2/worklog/updated":{"get":{"tags":["Issue worklogs"],"summary":"Get IDs of updated worklogs","description":"Returns a list of IDs and update timestamps for worklogs updated after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs updated during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.","operationId":"getIdsOfWorklogsModifiedSince","parameters":[{"name":"since","in":"query","description":"The date and time, as a UNIX timestamp in milliseconds, after which updated worklogs are returned.","schema":{"type":"integer","format":"int64","default":0}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangedWorklogs"},"example":"{\"values\":[{\"worklogId\":103,\"updatedTime\":1438013671562,\"properties\":[]},{\"worklogId\":104,\"updatedTime\":1438013672165,\"properties\":[]},{\"worklogId\":105,\"updatedTime\":1438013693136,\"properties\":[]}],\"since\":1438013671562,\"until\":1438013693136,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013671562\",\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013693136\",\"lastPage\":true}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/atlassian-connect/1/addons/{addonKey}/properties":{"get":{"tags":["App properties"],"summary":"Get app properties","description":"Gets all the properties of an app.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.getAddonProperties_get","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":{"keys":[{"self":"https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey","key":"propertyKey"}]}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}":{"get":{"tags":["App properties"],"summary":"Get app property","description":"Returns the key and value of an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.getAddonProperty_get","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":{"self":"https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey","key":"propertyKey","value":"propertyValue"}}}},"400":{"description":"Returned if the property key is longer than 127 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}},"404":{"description":"Returned if the property is not found or doesn't belong to the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property with key not found.","statusCode":404}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"},"put":{"tags":["App properties"],"summary":"Set app property","description":"Sets the value of an app's property. Use this resource to store custom data for your app.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.putAddonProperty_put","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the property is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property updated.","statusCode":200}}}},"201":{"description":"Returned is the property is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property created.","statusCode":201}}}},"400":{"description":"Returned if:\n * the property key is longer than 127 characters.\n * the value is not valid JSON.\n * the value is longer than 32768 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["App properties"],"summary":"Delete app property","description":"Deletes an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.deleteAddonProperty_delete","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the property key is longer than 127 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}},"404":{"description":"Returned if the property is not found or doesn't belong to the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property with key not found.","statusCode":404}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/app/module/dynamic":{"get":{"tags":["Dynamic modules"],"summary":"Get modules","description":"Returns all modules registered dynamically by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.getModules_get","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectModules"}}}},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"},"post":{"tags":["Dynamic modules"],"summary":"Register modules","description":"Registers a list of modules.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.registerModules_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectModules"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n* any of the provided modules is invalid. For example, required properties are missing.\n* any of the modules conflict with registered dynamic modules or modules defined in the app descriptor. For example, there are duplicate keys.\n\nDetails of the issues encountered are included in the error message.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"Installation failed. The app com.example.app.key has duplicate module keys: [module-key]. Please contact the app vendor."}}}},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["Dynamic modules"],"summary":"Remove modules","description":"Remove all or a list of modules registered by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.removeModules_delete","parameters":[{"name":"moduleKey","in":"query","description":"The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter.\nFor example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`.\nNonexistent keys are ignored.","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/migration/field":{"put":{"tags":["App migration"],"summary":"Bulk update custom field value","description":"Updates the value of a custom field added by Connect apps on one or more issues.\nThe values of up to 200 custom fields can be updated.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"AppIssueFieldValueUpdateResource.updateIssueFields_put","parameters":[{"name":"Atlassian-Transfer-Id","in":"header","description":"The ID of the transfer.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Atlassian-Account-Id","in":"header","description":"The Atlassian account ID of the impersonated user. This user must be a member of the site admin group.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCustomFieldValues"},"example":{"updateValueList":[{"_type":"StringIssueField","issueID":10001,"fieldID":10076,"string":"new string value"},{"_type":"TextIssueField","issueID":10002,"fieldID":10077,"text":"new text value"},{"_type":"SingleSelectIssueField","issueID":10003,"fieldID":10078,"optionID":"1"},{"_type":"MultiSelectIssueField","issueID":10004,"fieldID":10079,"optionID":"2"},{"_type":"RichTextIssueField","issueID":10005,"fieldID":10080,"richText":"new rich text value"},{"_type":"NumberIssueField","issueID":10006,"fieldID":10082,"number":54}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if:\n* the transfer ID is not found.\n* the authorisation credentials are incorrect or missing."}},"deprecated":false,"x-atlassian-connect-scope":"ACT_AS_USER"}},"/rest/atlassian-connect/1/migration/properties/{entityType}":{"put":{"tags":["App migration"],"summary":"Bulk update entity properties","description":"Updates the values of multiple entity properties for an object. This operation is for use by Connect apps during app migration.","operationId":"MigrationResource.updateEntityPropertiesValue_put","parameters":[{"name":"Atlassian-Transfer-Id","in":"header","description":"The app migration transfer ID.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Atlassian-Account-Id","in":"header","description":"The Atlassian account ID of the impersonated user. This user must be a member of the site admin group.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"entityType","in":"path","description":"The type indicating the object that contains the entity properties.","required":true,"schema":{"type":"string","enum":["IssueProperty","CommentProperty","DashboardItemProperty","IssueTypeProperty","ProjectProperty","UserProperty","WorklogProperty","BoardProperty","SprintProperty"]}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/EntityPropertyDetails"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid."},"403":{"description":"Returned if the authorisation credentials are incorrect or missing."}},"x-atlassian-connect-scope":"ACT_AS_USER"}},"/rest/atlassian-connect/1/migration/workflow/rule/search":{"post":{"tags":["App migration"],"summary":"Get workflow transition rule configurations","description":"Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect app.","operationId":"MigrationResource.workflowRuleSearch_post","parameters":[{"name":"Atlassian-Transfer-Id","in":"header","description":"The app migration transfer ID.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRulesSearch"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRulesSearchDetails"},"example":{"WorkflowRulesSearchDetails":{"workflowEntityId":"a498d711-685d-428d-8c3e-bc03bb450ea7","invalidRules":["55d44f1d-c859-42e5-9c27-2c5ec3f340b1"],"validRules":[{"workflowId":{"name":"Workflow name","draft":true},"postFunctions":[{"id":"123","key":"WorkflowKey","configuration":{"value":"WorkflowValidator"},"transition":{"name":"transition","id":123}}],"conditions":[{"id":"123","key":"WorkflowKey","configuration":{"value":"WorkflowValidator"},"transition":{"name":"transition","id":123}}],"validators":[{"id":"123","key":"WorkflowKey","configuration":{"value":"WorkflowValidator"},"transition":{"name":"transition","id":123}}]}]}}}}},"400":{"description":"Returned if the request is not valid."},"403":{"description":"Returned if the authorisation credentials are incorrect or missing."}},"x-atlassian-connect-scope":"NONE"}}},"components":{"schemas":{"TaskProgressBeanObject":{"required":["elapsedRuntime","id","lastUpdate","progress","self","status","submitted","submittedBy"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the task.","format":"uri"},"id":{"type":"string","description":"The ID of the task."},"description":{"type":"string","description":"The description of the task."},"status":{"type":"string","description":"The status of the task.","enum":["ENQUEUED","RUNNING","COMPLETE","FAILED","CANCEL_REQUESTED","CANCELLED","DEAD"]},"message":{"type":"string","description":"Information about the progress of the task."},"result":{"description":"The result of the task execution."},"submittedBy":{"type":"integer","description":"The ID of the user who submitted the task.","format":"int64"},"progress":{"type":"integer","description":"The progress of the task, as a percentage complete.","format":"int64"},"elapsedRuntime":{"type":"integer","description":"The execution time of the task, in milliseconds.","format":"int64"},"submitted":{"type":"integer","description":"A timestamp recording when the task was submitted.","format":"int64"},"started":{"type":"integer","description":"A timestamp recording when the task was started.","format":"int64"},"finished":{"type":"integer","description":"A timestamp recording when the task was finished.","format":"int64"},"lastUpdate":{"type":"integer","description":"A timestamp recording when the task progress was last updated.","format":"int64"}},"additionalProperties":false,"description":"Details about a task."},"HealthCheckResult":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Jira health check item."},"description":{"type":"string","description":"The description of the Jira health check item."},"passed":{"type":"boolean","description":"Whether the Jira health check item passed or failed."}},"additionalProperties":false,"description":"Jira instance health check results. Deprecated and no longer returned."},"ServerInformation":{"type":"object","properties":{"baseUrl":{"type":"string","description":"The base URL of the Jira instance."},"version":{"type":"string","description":"The version of Jira."},"versionNumbers":{"type":"array","description":"The major, minor, and revision version numbers of the Jira version.","items":{"type":"integer","format":"int32"}},"deploymentType":{"type":"string","description":"The type of server deployment. This is always returned as *Cloud*."},"buildNumber":{"type":"integer","description":"The build number of the Jira version.","format":"int32"},"buildDate":{"type":"string","description":"The timestamp when the Jira version was built.","format":"date-time"},"serverTime":{"type":"string","description":"The time in Jira when this request was responded to.","format":"date-time"},"scmInfo":{"type":"string","description":"The unique identifier of the Jira version."},"serverTitle":{"type":"string","description":"The name of the Jira instance."},"healthChecks":{"type":"array","description":"Jira instance health check results. Deprecated and no longer returned.","items":{"$ref":"#/components/schemas/HealthCheckResult"}}},"additionalProperties":false,"description":"Details about the Jira instance."},"PropertyKey":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the property.","readOnly":true},"key":{"type":"string","description":"The key of the property.","readOnly":true}},"additionalProperties":false,"description":"Property key details."},"PropertyKeys":{"type":"object","properties":{"keys":{"type":"array","description":"Property key details.","readOnly":true,"items":{"$ref":"#/components/schemas/PropertyKey"}}},"additionalProperties":false,"description":"List of property keys."},"EntityProperty":{"type":"object","properties":{"key":{"type":"string","description":"The key of the property. Required on create and update."},"value":{"description":"The value of the property. Required on create and update."}},"additionalProperties":false,"description":"An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},"IdOrKeyBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the referenced item.","format":"int64"},"key":{"type":"string","description":"The key of the referenced item."}},"additionalProperties":false},"JexpIssues":{"type":"object","properties":{"jql":{"description":"The JQL query that specifies the set of issues available in the Jira expression.","allOf":[{"$ref":"#/components/schemas/JexpJqlIssues"}]}},"additionalProperties":false,"description":"The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable."},"JexpJqlIssues":{"type":"object","properties":{"query":{"type":"string","description":"The JQL query."},"startAt":{"type":"integer","description":"The index of the first issue to return from the JQL query.","format":"int64"},"maxResults":{"type":"integer","description":"The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to ensure the maximum value has not been exceeded.","format":"int32"},"validation":{"type":"string","description":"Determines how to validate the JQL query and treat the validation results.","enum":["strict","warn","none"],"default":"strict"}},"additionalProperties":false,"description":"The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response."},"JiraExpressionEvalContextBean":{"type":"object","properties":{"issue":{"description":"The issue that is available under the `issue` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/IdOrKeyBean"}]},"issues":{"description":"The collection of issues that is available under the `issues` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/JexpIssues"}]},"project":{"description":"The project that is available under the `project` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/IdOrKeyBean"}]},"sprint":{"type":"integer","description":"The ID of the sprint that is available under the `sprint` variable when evaluating the expression.","format":"int64"},"board":{"type":"integer","description":"The ID of the board that is available under the `board` variable when evaluating the expression.","format":"int64"},"serviceDesk":{"type":"integer","description":"The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression.","format":"int64"},"customerRequest":{"type":"integer","description":"The ID of the customer request that is available under the `customerRequest` variable when evaluating the expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will have a different type.","format":"int64"}},"additionalProperties":false},"JiraExpressionEvalRequestBean":{"required":["expression"],"type":"object","properties":{"expression":{"type":"string","description":"The Jira expression to evaluate.","example":"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }"},"context":{"description":"The context in which the Jira expression is evaluated.","allOf":[{"$ref":"#/components/schemas/JiraExpressionEvalContextBean"}]}},"additionalProperties":false},"IssuesJqlMetaDataBean":{"required":["count","maxResults","startAt","totalCount"],"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first issue.","format":"int64"},"maxResults":{"type":"integer","description":"The maximum number of issues that could be loaded in this evaluation.","format":"int32"},"count":{"type":"integer","description":"The number of issues that were loaded in this evaluation.","format":"int32"},"totalCount":{"type":"integer","description":"The total number of issues the JQL returned.","format":"int64"},"validationWarnings":{"type":"array","description":"Any warnings related to the JQL query. Present only if the validation mode was set to `warn`.","items":{"type":"string"}}},"additionalProperties":false,"description":"The description of the page of issues loaded by the provided JQL query."},"IssuesMetaBean":{"type":"object","properties":{"jql":{"$ref":"#/components/schemas/IssuesJqlMetaDataBean"}},"additionalProperties":false,"description":"Meta data describing the `issues` context variable."},"JiraExpressionEvaluationMetaDataBean":{"type":"object","properties":{"complexity":{"description":"Contains information about the expression complexity. For example, the number of steps it took to evaluate the expression.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityBean"}]},"issues":{"description":"Contains information about the `issues` variable in the context. For example, is the issues were loaded with JQL, information about the page will be included here.","allOf":[{"$ref":"#/components/schemas/IssuesMetaBean"}]}},"additionalProperties":false},"JiraExpressionResult":{"required":["value"],"type":"object","properties":{"value":{"description":"The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if that's the case a simple string representation is returned. These string representations should not be relied upon and may change without notice.)"},"meta":{"description":"Contains various characteristics of the performed expression evaluation.","allOf":[{"$ref":"#/components/schemas/JiraExpressionEvaluationMetaDataBean"}]}},"additionalProperties":false,"description":"The result of evaluating a Jira expression."},"JiraExpressionsComplexityBean":{"required":["beans","expensiveOperations","primitiveValues","steps"],"type":"object","properties":{"steps":{"description":"The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"expensiveOperations":{"description":"The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"beans":{"description":"The number of Jira REST API beans returned in the response.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"primitiveValues":{"description":"The number of primitive values returned in the response.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]}},"additionalProperties":false},"JiraExpressionsComplexityValueBean":{"required":["limit","value"],"type":"object","properties":{"value":{"type":"integer","description":"The complexity value of the current expression.","format":"int32"},"limit":{"type":"integer","description":"The maximum allowed complexity. The evaluation will fail if this value is exceeded.","format":"int32"}},"additionalProperties":false},"ErrorCollection":{"type":"object","properties":{"errorMessages":{"type":"array","description":"The list of error messages produced by this operation. For example, \"input parameter 'key' must be provided\"","items":{"type":"string"}},"errors":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of errors by parameter returned by the operation. For example,\"projectKey\": \"Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.\""},"status":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Error messages from an operation."},"JiraExpressionForAnalysis":{"required":["expressions"],"type":"object","properties":{"expressions":{"type":"array","description":"The list of Jira expressions to analyse.","example":"issues.map(issue => issue.properties['property_key'])","items":{"type":"string","description":"The list of Jira expressions to analyse.","example":"issues.map(issue => issue.properties['property_key'])"}},"contextVariables":{"type":"object","additionalProperties":{"type":"string","description":"Context variables and their types. The type checker assumes that common context variables, such as issue or project, are available in context and sets their type. Use this property to override the default types or provide details of new variables."},"description":"Context variables and their types. The type checker assumes that [common context variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables), such as `issue` or `project`, are available in context and sets their type. Use this property to override the default types or provide details of new variables."}},"additionalProperties":false,"description":"Details of Jira expressions for analysis."},"JiraExpressionAnalysis":{"required":["expression","valid"],"type":"object","properties":{"expression":{"type":"string","description":"The analysed expression."},"errors":{"type":"array","description":"A list of validation errors. Not included if the expression is valid.","items":{"$ref":"#/components/schemas/JiraExpressionValidationError"}},"valid":{"type":"boolean","description":"Whether the expression is valid and the interpreter will evaluate it. Note that the expression may fail at runtime (for example, if it executes too many expensive operations)."},"type":{"type":"string","description":"EXPERIMENTAL. The inferred type of the expression."},"complexity":{"$ref":"#/components/schemas/JiraExpressionComplexity"}},"additionalProperties":false,"description":"Details about the analysed Jira expression."},"JiraExpressionComplexity":{"required":["expensiveOperations"],"type":"object","properties":{"expensiveOperations":{"type":"string","description":"Information that can be used to determine how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) the evaluation of the expression will perform. This information may be a formula or number. For example:\n\n * `issues.map(i => i.comments)` performs as many expensive operations as there are issues on the issues list. So this parameter returns `N`, where `N` is the size of issue list.\n * `new Issue(10010).comments` gets comments for one issue, so its complexity is `2` (`1` to retrieve issue 10010 from the database plus `1` to get its comments)."},"variables":{"type":"object","additionalProperties":{"type":"string","description":"Variables used in the formula, mapped to the parts of the expression they refer to."},"description":"Variables used in the formula, mapped to the parts of the expression they refer to."}},"additionalProperties":false,"description":"Details about the complexity of the analysed Jira expression."},"JiraExpressionValidationError":{"required":["message","type"],"type":"object","properties":{"line":{"type":"integer","description":"The text line in which the error occurred.","format":"int32"},"column":{"type":"integer","description":"The text column in which the error occurred.","format":"int32"},"expression":{"type":"string","description":"The part of the expression in which the error occurred."},"message":{"type":"string","description":"Details about the error.","example":"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered."},"type":{"type":"string","description":"The error type.","enum":["syntax","type","other"]}},"additionalProperties":false,"description":"Details about syntax and type errors. The error details apply to the entire expression, unless the object includes:\n\n * `line` and `column`\n * `expression`"},"JiraExpressionsAnalysis":{"required":["results"],"type":"object","properties":{"results":{"type":"array","description":"The results of Jira expressions analysis.","items":{"$ref":"#/components/schemas/JiraExpressionAnalysis"}}},"additionalProperties":false,"description":"Details about the analysed Jira expression."},"ProjectIssueSecurityLevels":{"required":["levels"],"type":"object","properties":{"levels":{"type":"array","description":"Issue level security items list.","readOnly":true,"items":{"$ref":"#/components/schemas/SecurityLevel"}}},"additionalProperties":false,"description":"List of issue level security items in a project."},"SecurityLevel":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue level security item.","readOnly":true},"id":{"type":"string","description":"The ID of the issue level security item.","readOnly":true},"description":{"type":"string","description":"The description of the issue level security item.","readOnly":true},"name":{"type":"string","description":"The name of the issue level security item.","readOnly":true}},"additionalProperties":false,"description":"Details of an issue level security item."},"ColumnItem":{"type":"object","properties":{"label":{"type":"string","description":"The issue navigator column label."},"value":{"type":"string","description":"The issue navigator column value."}},"additionalProperties":false,"description":"Details of an issue navigator column item."},"License":{"required":["applications"],"type":"object","properties":{"applications":{"type":"array","description":"The applications under this license.","readOnly":true,"items":{"$ref":"#/components/schemas/LicensedApplication"}}},"additionalProperties":false,"description":"Details about a license for the Jira instance."},"LicensedApplication":{"required":["id","plan"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the application.","readOnly":true},"plan":{"type":"string","description":"The licensing plan.","readOnly":true,"enum":["UNLICENSED","FREE","PAID"]}},"additionalProperties":false,"description":"Details about a licensed Jira application."},"Configuration":{"type":"object","properties":{"votingEnabled":{"type":"boolean","description":"Whether the ability for users to vote on issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"watchingEnabled":{"type":"boolean","description":"Whether the ability for users to watch issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"unassignedIssuesAllowed":{"type":"boolean","description":"Whether the ability to create unassigned issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"subTasksEnabled":{"type":"boolean","description":"Whether the ability to create subtasks for issues is enabled.","readOnly":true},"issueLinkingEnabled":{"type":"boolean","description":"Whether the ability to link issues is enabled.","readOnly":true},"timeTrackingEnabled":{"type":"boolean","description":"Whether the ability to track time is enabled. This property is deprecated.","readOnly":true},"attachmentsEnabled":{"type":"boolean","description":"Whether the ability to add attachments to issues is enabled.","readOnly":true},"timeTrackingConfiguration":{"description":"The configuration of time tracking.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/TimeTrackingConfiguration"}]}},"additionalProperties":false,"description":"Details about the configuration of Jira."},"TimeTrackingConfiguration":{"required":["defaultUnit","timeFormat","workingDaysPerWeek","workingHoursPerDay"],"type":"object","properties":{"workingHoursPerDay":{"type":"number","description":"The number of hours in a working day.","format":"double"},"workingDaysPerWeek":{"type":"number","description":"The number of days in a working week.","format":"double"},"timeFormat":{"type":"string","description":"The format that will appear on an issue's *Time Spent* field.","enum":["pretty","days","hours"]},"defaultUnit":{"type":"string","description":"The default unit of time applied to logged time.","enum":["minute","hour","day","week"]}},"additionalProperties":false,"description":"Details of the time tracking configuration."},"ApplicationProperty":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the application property. The ID and key are the same."},"key":{"type":"string","description":"The key of the application property. The ID and key are the same."},"value":{"type":"string","description":"The new value."},"name":{"type":"string","description":"The name of the application property."},"desc":{"type":"string","description":"The description of the application property."},"type":{"type":"string","description":"The data type of the application property."},"defaultValue":{"type":"string","description":"The default value of the application property."},"example":{"type":"string"},"allowedValues":{"type":"array","description":"The allowed values, if applicable.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of an application property."},"SimpleApplicationPropertyBean":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the application property."},"value":{"type":"string","description":"The new value."}},"additionalProperties":false,"xml":{"name":"applicationProperty"}},"AvatarUrlsBean":{"type":"object","properties":{"16x16":{"type":"string","description":"The URL of the item's 16x16 pixel avatar.","format":"uri"},"24x24":{"type":"string","description":"The URL of the item's 24x24 pixel avatar.","format":"uri"},"32x32":{"type":"string","description":"The URL of the item's 32x32 pixel avatar.","format":"uri"},"48x48":{"type":"string","description":"The URL of the item's 48x48 pixel avatar.","format":"uri"}},"additionalProperties":false},"PermissionGrant":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the permission granted details.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the permission granted details.","format":"uri","readOnly":true},"holder":{"description":"The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.","allOf":[{"$ref":"#/components/schemas/PermissionHolder"}]},"permission":{"type":"string","description":"The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions."}},"additionalProperties":false,"description":"Details about a permission granted to a user or group."},"PermissionHolder":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of permission holder."},"parameter":{"type":"string","description":"The identifier of permission holder."},"expand":{"type":"string","description":"Expand options that include additional permission holder details in the response.","readOnly":true}},"additionalProperties":false,"description":"Details of a user, group, field, or project role that holds a permission. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information."},"PermissionScheme":{"required":["name"],"type":"object","properties":{"expand":{"type":"string","description":"The expand options available for the permission scheme.","readOnly":true},"id":{"type":"integer","description":"The ID of the permission scheme.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the permission scheme.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the permission scheme. Must be unique."},"description":{"type":"string","description":"A description for the permission scheme."},"scope":{"description":"The scope of the permission scheme.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"permissions":{"type":"array","description":"The permission scheme to create or update. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information.","items":{"$ref":"#/components/schemas/PermissionGrant"}}},"additionalProperties":true,"description":"Details of a permission scheme."},"PermissionSchemes":{"type":"object","properties":{"permissionSchemes":{"type":"array","description":"Permission schemes list.","readOnly":true,"items":{"$ref":"#/components/schemas/PermissionScheme"}}},"additionalProperties":false,"description":"List of all permission schemes."},"ProjectDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project details.","readOnly":true},"id":{"type":"string","description":"The ID of the project."},"key":{"type":"string","description":"The key of the project.","readOnly":true},"name":{"type":"string","description":"The name of the project.","readOnly":true},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.","readOnly":true,"enum":["software","service_desk","business"]},"simplified":{"type":"boolean","description":"Whether or not the project is simplified.","readOnly":true},"avatarUrls":{"description":"The URLs of the project's avatars.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"projectCategory":{"description":"The category the project belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UpdatedProjectCategory"}]}},"additionalProperties":false,"description":"Details about a project."},"Scope":{"type":"object","properties":{"type":{"type":"string","description":"The type of scope.","readOnly":true,"enum":["PROJECT","TEMPLATE"]},"project":{"description":"The project the item has scope in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectDetails"}]}},"additionalProperties":true,"description":"The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO)."},"UpdatedProjectCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project category.","readOnly":true},"id":{"type":"string","description":"The ID of the project category.","readOnly":true},"description":{"type":"string","description":"The name of the project category.","readOnly":true},"name":{"type":"string","description":"The description of the project category.","readOnly":true}},"additionalProperties":false,"description":"A project category."},"PermissionGrants":{"type":"object","properties":{"permissions":{"type":"array","description":"Permission grants list.","readOnly":true,"items":{"$ref":"#/components/schemas/PermissionGrant"}},"expand":{"type":"string","description":"Expand options that include additional permission grant details in the response.","readOnly":true}},"additionalProperties":false,"description":"List of permission grants."},"DeprecatedWorkflow":{"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow.","readOnly":true},"description":{"type":"string","description":"The description of the workflow.","readOnly":true},"lastModifiedDate":{"type":"string","description":"The datetime the workflow was last modified.","readOnly":true},"lastModifiedUser":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"lastModifiedUserAccountId":{"type":"string","description":"The account ID of the user that last modified the workflow.","readOnly":true},"steps":{"type":"integer","description":"The number of steps included in the workflow.","format":"int32","readOnly":true},"scope":{"description":"The scope where this workflow applies","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"default":{"type":"boolean"}},"additionalProperties":false,"description":"Details about a workflow."},"CreateWorkflowCondition":{"type":"object","properties":{"operator":{"type":"string","description":"The compound condition operator.","enum":["AND","OR"]},"conditions":{"type":"array","description":"The list of workflow conditions.","items":{"$ref":"#/components/schemas/CreateWorkflowCondition"}},"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"type":"object","additionalProperties":{"description":"EXPERIMENTAL. The configuration of the transition rule."},"description":"EXPERIMENTAL. The configuration of the transition rule."}},"additionalProperties":false,"description":"A workflow transition condition."},"CreateWorkflowDetails":{"required":["name","statuses","transitions"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be separated by a whitespace but the name cannot start or end with a whitespace."},"description":{"type":"string","description":"The description of the workflow. The maximum length is 1000 characters."},"transitions":{"type":"array","description":"The transitions of the workflow. For the request to be valid, these transitions must:\n\n * include one *initial* transition.\n * not use the same name for a *global* and *directed* transition.\n * have a unique name for each *global* transition.\n * have a unique 'to' status for each *global* transition.\n * have unique names for each transition from a status.\n * not have a 'from' status on *initial* and *global* transitions.\n * have a 'from' status on *directed* transitions.\n\nAll the transition statuses must be included in `statuses`.","items":{"$ref":"#/components/schemas/CreateWorkflowTransitionDetails"}},"statuses":{"uniqueItems":true,"type":"array","description":"The statuses of the workflow. Any status that does not include a transition is added to the workflow without a transition.","items":{"$ref":"#/components/schemas/CreateWorkflowStatusDetails"}}},"additionalProperties":false,"description":"The details of a workflow.","writeOnly":true},"CreateWorkflowStatusDetails":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the status."}},"additionalProperties":false,"description":"The details of a transition status.","writeOnly":true},"CreateWorkflowTransitionDetails":{"required":["name","to","type"],"type":"object","properties":{"name":{"type":"string","description":"The name of the transition. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the transition. The maximum length is 1000 characters."},"from":{"type":"array","description":"The statuses the transition can start from.","items":{"type":"string"}},"to":{"type":"string","description":"The status the transition goes to."},"type":{"type":"string","description":"The type of the transition.","enum":["global","initial","directed"]},"rules":{"description":"The rules of the transition.","allOf":[{"$ref":"#/components/schemas/CreateWorkflowTransitionRulesDetails"}]}},"additionalProperties":false,"description":"The details of a workflow transition.","writeOnly":true},"CreateWorkflowTransitionRule":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"type":"object","additionalProperties":{"description":"EXPERIMENTAL. The configuration of the transition rule."},"description":"EXPERIMENTAL. The configuration of the transition rule."}},"additionalProperties":false,"description":"A workflow transition rule."},"CreateWorkflowTransitionRulesDetails":{"type":"object","properties":{"conditions":{"description":"The workflow conditions.","allOf":[{"$ref":"#/components/schemas/CreateWorkflowCondition"}]},"validators":{"type":"array","description":"The workflow validators.","items":{"$ref":"#/components/schemas/CreateWorkflowTransitionRule"}},"postFunctions":{"type":"array","description":"The workflow post functions.","items":{"$ref":"#/components/schemas/CreateWorkflowTransitionRule"}}},"additionalProperties":false,"description":"The details of a workflow transition rules.","writeOnly":true},"WorkflowIDs":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"entityId":{"type":"string","description":"The entity ID of the workflow."}},"additionalProperties":false,"description":"The classic workflow identifiers."},"WorkflowTransitionProperty":{"required":["value"],"type":"object","properties":{"key":{"type":"string","description":"The key of the transition property. Also known as the name of the transition property.","readOnly":true},"value":{"type":"string","description":"The value of the transition property."},"id":{"type":"string","description":"The ID of the transition property.","readOnly":true}},"additionalProperties":true,"description":"Details about the server Jira is running on."},"PageBeanWorkflow":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Workflow"}}},"additionalProperties":false,"description":"A page of items."},"PublishedWorkflowId":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"entityId":{"type":"string","description":"The entity ID of the workflow."}},"additionalProperties":false,"description":"Properties that identify a published workflow."},"ScreenID":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the screen."}},"additionalProperties":false,"description":"ID of a screen."},"Transition":{"required":["description","from","id","name","to","type"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the transition."},"name":{"type":"string","description":"The name of the transition."},"description":{"type":"string","description":"The description of the transition."},"from":{"type":"array","description":"The statuses the transition can start from.","items":{"type":"string","description":"The statuses the transition can start from."}},"to":{"type":"string","description":"The status the transition goes to."},"type":{"type":"string","description":"The type of the transition.","enum":["global","initial","directed"]},"screen":{"$ref":"#/components/schemas/ScreenID"},"rules":{"$ref":"#/components/schemas/WorkflowRules"}},"additionalProperties":false,"description":"Details of a workflow transition."},"Workflow":{"required":["description","id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/PublishedWorkflowId"},"description":{"type":"string","description":"The description of the workflow."},"transitions":{"type":"array","description":"The transitions of the workflow.","items":{"$ref":"#/components/schemas/Transition"}},"statuses":{"type":"array","description":"The statuses of the workflow.","items":{"$ref":"#/components/schemas/WorkflowStatus"}},"isDefault":{"type":"boolean","description":"Whether this is the default workflow."}},"additionalProperties":false,"description":"Details about a workflow."},"WorkflowCompoundCondition":{"required":["conditions","nodeType","operator"],"type":"object","properties":{"operator":{"type":"string","description":"The compound condition operator.","enum":["AND","OR"]},"conditions":{"type":"array","description":"The list of workflow conditions.","items":{"$ref":"#/components/schemas/WorkflowCondition"}},"nodeType":{"type":"string"}},"description":"A compound workflow transition rule condition. This object returns `nodeType` as `compound`."},"WorkflowCondition":{"type":"object","additionalProperties":false,"description":"The workflow transition rule conditions tree.","discriminator":{"propertyName":"nodeType","mapping":{"simple":"#/components/schemas/WorkflowSimpleCondition","compound":"#/components/schemas/WorkflowCompoundCondition"}},"oneOf":[{"$ref":"#/components/schemas/WorkflowSimpleCondition"},{"$ref":"#/components/schemas/WorkflowCompoundCondition"}]},"WorkflowRules":{"type":"object","properties":{"conditions":{"type":"array","description":"The workflow conditions. ([Deprecated](https://community.developer.atlassian.com/t/deprecation-of-conditions-body-param/48884))","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}},"conditionsTree":{"$ref":"#/components/schemas/WorkflowCondition"},"validators":{"type":"array","description":"The workflow validators.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}},"postFunctions":{"type":"array","description":"The workflow post functions.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}}},"additionalProperties":false,"description":"A collection of transition rules."},"WorkflowSimpleCondition":{"required":["nodeType","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"type":"object","description":"EXPERIMENTAL. The configuration of the transition rule."},"nodeType":{"type":"string"}},"description":"A workflow transition rule condition. This object returns `nodeType` as `simple`."},"WorkflowStatus":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue status."},"name":{"type":"string","description":"The name of the status in the workflow."},"properties":{"type":"object","additionalProperties":{"description":"Additional properties that modify the behavior of issues in this status. Supports the properties jira.issue.editable and issueEditable (deprecated) that indicate whether issues are editable."},"description":"Additional properties that modify the behavior of issues in this status. Supports the properties `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable."}},"additionalProperties":false,"description":"Details of a workflow status."},"WorkflowTransitionRule":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"description":"EXPERIMENTAL. The configuration of the transition rule."}},"additionalProperties":false,"description":"A workflow transition rule."},"ConnectWorkflowTransitionRule":{"required":["configuration","id","key"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the transition rule."},"key":{"type":"string","description":"The key of the rule, as defined in the Connect app descriptor.","readOnly":true},"configuration":{"$ref":"#/components/schemas/RuleConfiguration"},"transition":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WorkflowTransition"}]}},"additionalProperties":false,"description":"A workflow transition rule."},"PageBeanWorkflowTransitionRules":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"additionalProperties":false,"description":"A page of items."},"RuleConfiguration":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"Configuration of the rule, as it is stored by the Connect app on the rule configuration page."},"disabled":{"type":"boolean","description":"EXPERIMENTAL: Whether the rule is disabled.","default":false},"tag":{"maxLength":255,"type":"string","description":"EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get)."}},"additionalProperties":false,"description":"A rule configuration."},"WorkflowId":{"required":["draft","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"draft":{"type":"boolean","description":"Whether the workflow is in the draft state."}},"additionalProperties":false,"description":"Properties that identify a workflow."},"WorkflowTransition":{"required":["id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The transition ID.","format":"int32"},"name":{"type":"string","description":"The transition name."}},"additionalProperties":false,"description":"A workflow transition."},"WorkflowTransitionRules":{"required":["conditions","postFunctions","validators","workflowId"],"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"postFunctions":{"type":"array","description":"The list of post functions within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}},"conditions":{"type":"array","description":"The list of conditions within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}},"validators":{"type":"array","description":"The list of validators within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}}},"additionalProperties":false,"description":"A workflow with transition rules."},"WorkflowTransitionRulesUpdate":{"required":["workflows"],"type":"object","properties":{"workflows":{"type":"array","description":"The list of workflows with transition rules to update.","items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"additionalProperties":false,"description":"Details about a workflow configuration update request."},"WorkflowTransitionRulesUpdateErrorDetails":{"required":["ruleUpdateErrors","updateErrors","workflowId"],"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"ruleUpdateErrors":{"type":"object","additionalProperties":{"uniqueItems":true,"type":"array","description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated.","items":{"type":"string","description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated."}},"description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated."},"updateErrors":{"uniqueItems":true,"type":"array","description":"The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.","items":{"type":"string","description":"An error specifying why the workflow update failed."}}},"additionalProperties":false,"description":"Details of any errors encountered while updating workflow transition rules for a workflow."},"WorkflowTransitionRulesUpdateErrors":{"required":["updateResults"],"type":"object","properties":{"updateResults":{"type":"array","description":"A list of workflows.","items":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrorDetails"}}},"additionalProperties":false,"description":"Details of any errors encountered while updating workflow transition rules."},"WorkflowTransitionRulesDetails":{"required":["workflowId","workflowRuleIds"],"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"workflowRuleIds":{"uniqueItems":true,"type":"array","description":"The list of connect workflow rule IDs.","items":{"type":"string","description":"The list of connect workflow rule IDs."}}},"additionalProperties":false,"description":"Details about a workflow configuration update request."},"WorkflowsWithTransitionRulesDetails":{"required":["workflows"],"type":"object","properties":{"workflows":{"type":"array","description":"The list of workflows with transition rules to delete.","items":{"$ref":"#/components/schemas/WorkflowTransitionRulesDetails"}}},"additionalProperties":false,"description":"Details of workflows and their transition rules to delete."},"TimeTrackingProvider":{"required":["key"],"type":"object","properties":{"key":{"type":"string","description":"The key for the time tracking provider. For example, *JIRA*."},"name":{"type":"string","description":"The name of the time tracking provider. For example, *JIRA provided time tracking*."},"url":{"type":"string","description":"The URL of the configuration page for the time tracking provider app. For example, */example/config/url*. This property is only returned if the `adminPageKey` property is set in the module descriptor of the time tracking provider app.","readOnly":true}},"additionalProperties":false,"description":"Details about the time tracking provider."},"ApplicationRole":{"type":"object","properties":{"key":{"type":"string","description":"The key of the application role."},"groups":{"uniqueItems":true,"type":"array","description":"The groups associated with the application role.","items":{"type":"string"}},"name":{"type":"string","description":"The display name of the application role."},"defaultGroups":{"uniqueItems":true,"type":"array","description":"The groups that are granted default access for this application role.","items":{"type":"string"}},"selectedByDefault":{"type":"boolean","description":"Determines whether this application role should be selected by default on user creation."},"defined":{"type":"boolean","description":"Deprecated."},"numberOfSeats":{"type":"integer","description":"The maximum count of users on your license.","format":"int32"},"remainingSeats":{"type":"integer","description":"The count of users remaining on your license.","format":"int32"},"userCount":{"type":"integer","description":"The number of users counting against your license.","format":"int32"},"userCountDescription":{"type":"string","description":"The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license."},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean","description":"Indicates if the application role belongs to Jira platform (`jira-core`)."}},"additionalProperties":false,"description":"Details of an application role."},"GroupName":{"type":"object","properties":{"name":{"type":"string","description":"The name of group."},"self":{"type":"string","description":"The URL for these group details.","format":"uri","readOnly":true}},"additionalProperties":false,"description":"Details about a group name."},"IssueTypeDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue type details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"description":{"type":"string","description":"The description of the issue type.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type is used to create subtasks.","readOnly":true},"avatarId":{"type":"integer","description":"The ID of the issue type's avatar.","format":"int64","readOnly":true},"entityId":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"hierarchyLevel":{"type":"integer","description":"Hierarchy level of the issue type.","format":"int32","readOnly":true},"scope":{"description":"Details of the next-gen projects the issue type is available in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"Details about an issue type."},"ListWrapperCallbackApplicationRole":{"type":"object","additionalProperties":false},"ListWrapperCallbackGroupName":{"type":"object","additionalProperties":false},"PageBeanWorkflowScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/WorkflowScheme"}}},"additionalProperties":false,"description":"A page of items."},"SimpleListWrapperApplicationRole":{"type":"object","properties":{"size":{"type":"integer","format":"int32","xml":{"attribute":true}},"items":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRole"}},"pagingCallback":{"$ref":"#/components/schemas/ListWrapperCallbackApplicationRole"},"callback":{"$ref":"#/components/schemas/ListWrapperCallbackApplicationRole"},"max-results":{"type":"integer","format":"int32","xml":{"name":"max-results","attribute":true}}},"additionalProperties":false,"xml":{"name":"list"}},"SimpleListWrapperGroupName":{"type":"object","properties":{"size":{"type":"integer","format":"int32","xml":{"attribute":true}},"items":{"type":"array","items":{"$ref":"#/components/schemas/GroupName"}},"pagingCallback":{"$ref":"#/components/schemas/ListWrapperCallbackGroupName"},"callback":{"$ref":"#/components/schemas/ListWrapperCallbackGroupName"},"max-results":{"type":"integer","format":"int32","xml":{"name":"max-results","attribute":true}}},"additionalProperties":false,"xml":{"name":"list"}},"User":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","format":"uri","readOnly":true},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests."},"accountType":{"type":"string","description":"The user account type. Can take the following values:\n\n * `atlassian` regular Atlassian user account\n * `app` system account used for Connect applications and OAuth to represent external systems\n * `customer` Jira Service Desk account representing an external service desk","readOnly":true,"enum":["atlassian","app","customer","unknown"]},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"emailAddress":{"type":"string","description":"The email address of the user. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"avatarUrls":{"description":"The avatars of the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.","readOnly":true},"active":{"type":"boolean","description":"Whether the user is active.","readOnly":true},"timeZone":{"type":"string","description":"The time zone specified in the user's profile. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"locale":{"type":"string","description":"The locale of the user. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"groups":{"description":"The groups that the user belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/SimpleListWrapperGroupName"}]},"applicationRoles":{"description":"The application roles the user is assigned to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/SimpleListWrapperApplicationRole"}]},"expand":{"type":"string","description":"Expand options that include additional user details in the response.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false,"description":"A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).\n * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.","xml":{"name":"user"}},"WorkflowScheme":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the workflow scheme.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the workflow scheme. The name must be unique. The maximum length is 255 characters. Required when creating a workflow scheme."},"description":{"type":"string","description":"The description of the workflow scheme."},"defaultWorkflow":{"type":"string","description":"The name of the default workflow for the workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira. If `defaultWorkflow` is not specified when creating a workflow scheme, it is set to *Jira Workflow (jira)*."},"issueTypeMappings":{"type":"object","additionalProperties":{"type":"string"},"description":"The issue type to workflow mappings, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme."},"originalDefaultWorkflow":{"type":"string","description":"For draft workflow schemes, this property is the name of the default workflow for the original workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira.","readOnly":true},"originalIssueTypeMappings":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"For draft workflow schemes, this property is the issue type to workflow mappings for the original workflow scheme, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme.","readOnly":true},"draft":{"type":"boolean","description":"Whether the workflow scheme is a draft or not.","readOnly":true},"lastModifiedUser":{"description":"The user that last modified the draft workflow scheme. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"lastModified":{"type":"string","description":"The date-time that the draft workflow scheme was last modified. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.","readOnly":true},"self":{"type":"string","format":"uri","readOnly":true},"updateDraftIfNeeded":{"type":"boolean","description":"Whether to create or update a draft workflow scheme when updating an active workflow scheme. An active workflow scheme is a workflow scheme that is used by at least one project. The following examples show how this property works:\n\n * Update an active workflow scheme with `updateDraftIfNeeded` set to `true`: If a draft workflow scheme exists, it is updated. Otherwise, a draft workflow scheme is created.\n * Update an active workflow scheme with `updateDraftIfNeeded` set to `false`: An error is returned, as active workflow schemes cannot be updated.\n * Update an inactive workflow scheme with `updateDraftIfNeeded` set to `true`: The workflow scheme is updated, as inactive workflow schemes do not require drafts to update.\n\nDefaults to `false`."},"issueTypes":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/IssueTypeDetails"},"description":"The issue types available in Jira.","readOnly":true}},"additionalProperties":false,"description":"Details about a workflow scheme."},"IssueTypesWorkflowMapping":{"type":"object","properties":{"workflow":{"type":"string","description":"The name of the workflow. Optional if updating the workflow-issue types mapping."},"issueTypes":{"type":"array","description":"The list of issue type IDs.","items":{"type":"string"}},"defaultMapping":{"type":"boolean","description":"Whether the workflow is the default workflow for the workflow scheme."},"updateDraftIfNeeded":{"type":"boolean","description":"Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new workflow-issue types mapping. Defaults to `false`."}},"additionalProperties":false,"description":"Details about the mapping between issue types and a workflow."},"IssueTypeWorkflowMapping":{"type":"object","properties":{"issueType":{"type":"string","description":"The ID of the issue type. Not required if updating the issue type-workflow mapping."},"workflow":{"type":"string","description":"The name of the workflow."},"updateDraftIfNeeded":{"type":"boolean","description":"Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types mapping."}},"additionalProperties":false,"description":"Details about the mapping between an issue type and a workflow."},"DefaultWorkflow":{"required":["workflow"],"type":"object","properties":{"workflow":{"type":"string","description":"The name of the workflow to set as the default workflow."},"updateDraftIfNeeded":{"type":"boolean","description":"Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new default workflow. Defaults to `false`."}},"additionalProperties":false,"description":"Details about the default workflow."},"PublishDraftWorkflowScheme":{"type":"object","properties":{"statusMappings":{"uniqueItems":true,"type":"array","description":"Mappings of statuses to new statuses for issue types.","items":{"$ref":"#/components/schemas/StatusMapping"}}},"additionalProperties":false,"description":"Details about the status mappings for publishing a draft workflow scheme."},"StatusMapping":{"required":["issueTypeId","newStatusId","statusId"],"type":"object","properties":{"issueTypeId":{"type":"string","description":"The ID of the issue type."},"statusId":{"type":"string","description":"The ID of the status."},"newStatusId":{"type":"string","description":"The ID of the new status."}},"additionalProperties":false,"description":"Details about the mapping from a status to a new status for an issue type."},"ContainerOfWorkflowSchemeAssociations":{"required":["values"],"type":"object","properties":{"values":{"type":"array","description":"A list of workflow schemes together with projects they are associated with.","items":{"$ref":"#/components/schemas/WorkflowSchemeAssociations"}}},"additionalProperties":false,"description":"A container for a list of workflow schemes together with the projects they are associated with."},"WorkflowSchemeAssociations":{"required":["projectIds","workflowScheme"],"type":"object","properties":{"projectIds":{"type":"array","description":"The list of projects that use the workflow scheme.","items":{"type":"string"}},"workflowScheme":{"description":"The workflow scheme.","allOf":[{"$ref":"#/components/schemas/WorkflowScheme"}]}},"additionalProperties":false,"description":"A workflow scheme along with a list of projects that use it."},"WorkflowSchemeProjectAssociation":{"required":["projectId"],"type":"object","properties":{"workflowSchemeId":{"type":"string","description":"The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow scheme."},"projectId":{"type":"string","description":"The ID of the project."}},"additionalProperties":false,"description":"An associated workflow scheme and project."},"AssociatedItemBean":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the associated record.","readOnly":true},"name":{"type":"string","description":"The name of the associated record.","readOnly":true},"typeName":{"type":"string","description":"The type of the associated record.","readOnly":true},"parentId":{"type":"string","description":"The ID of the associated parent record.","readOnly":true},"parentName":{"type":"string","description":"The name of the associated parent record.","readOnly":true}},"additionalProperties":false,"description":"Details of an item associated with the changed record."},"AuditRecordBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the audit record.","format":"int64","readOnly":true},"summary":{"type":"string","description":"The summary of the audit record.","readOnly":true},"remoteAddress":{"type":"string","description":"The URL of the computer where the creation of the audit record was initiated.","readOnly":true},"authorKey":{"type":"string","description":"Deprecated, use `authorAccountId` instead. The key of the user who created the audit record.","readOnly":true},"created":{"type":"string","description":"The date and time on which the audit record was created.","format":"date-time","readOnly":true},"category":{"type":"string","description":"The category of the audit record. For a list of these categories, see the help article [Auditing in Jira applications](https://confluence.atlassian.com/x/noXKM).","readOnly":true},"eventSource":{"type":"string","description":"The event the audit record originated from.","readOnly":true},"description":{"type":"string","description":"The description of the audit record.","readOnly":true},"objectItem":{"$ref":"#/components/schemas/AssociatedItemBean"},"changedValues":{"type":"array","description":"The list of values changed in the record event.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangedValueBean"}},"associatedItems":{"type":"array","description":"The list of items associated with the changed record.","readOnly":true,"items":{"$ref":"#/components/schemas/AssociatedItemBean"}}},"additionalProperties":false,"description":"An audit record."},"AuditRecords":{"type":"object","properties":{"offset":{"type":"integer","description":"The number of audit items skipped before the first item in this list.","format":"int32","readOnly":true},"limit":{"type":"integer","description":"The requested or default limit on the number of audit items to be returned.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The total number of audit items returned.","format":"int64","readOnly":true},"records":{"type":"array","description":"The list of audit items.","readOnly":true,"items":{"$ref":"#/components/schemas/AuditRecordBean"}}},"additionalProperties":false,"description":"Container for a list of audit records."},"ChangedValueBean":{"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the field changed.","readOnly":true},"changedFrom":{"type":"string","description":"The value of the field before the change.","readOnly":true},"changedTo":{"type":"string","description":"The value of the field after the change.","readOnly":true}},"additionalProperties":false,"description":"Details of names changed in the record event."},"BulkIssuePropertyUpdateRequest":{"type":"object","properties":{"value":{"description":"The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters."},"expression":{"type":"string","description":"EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON representation is longer than 32768 characters are ignored."},"filter":{"description":"The bulk operation filter.","allOf":[{"$ref":"#/components/schemas/IssueFilterForBulkPropertySet"}]}},"additionalProperties":false,"description":"Bulk issue property update request details."},"IssueFilterForBulkPropertySet":{"type":"object","properties":{"entityIds":{"uniqueItems":true,"type":"array","description":"List of issues to perform the bulk operation on.","items":{"type":"integer","format":"int64"}},"currentValue":{"description":"The value of properties to perform the bulk operation on."},"hasProperty":{"type":"boolean","description":"Whether the bulk operation occurs only when the property is present on or absent from an issue."}},"additionalProperties":false,"description":"Bulk operation filter details."},"IssueFilterForBulkPropertyDelete":{"type":"object","properties":{"entityIds":{"uniqueItems":true,"type":"array","description":"List of issues to perform the bulk delete operation on.","items":{"type":"integer","format":"int64"}},"currentValue":{"description":"The value of properties to perform the bulk operation on."}},"additionalProperties":false,"description":"Bulk operation filter details."},"IssueEntityProperties":{"type":"object","properties":{"entitiesIds":{"maxItems":10000,"minItems":1,"uniqueItems":true,"type":"array","description":"A list of entity property IDs.","items":{"type":"integer","format":"int64"}},"properties":{"maxProperties":10,"minProperties":1,"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonNode"},"description":"A list of entity property keys and values."}},"additionalProperties":false,"description":"Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information."},"JsonNode":{"maxProperties":10,"minProperties":1,"type":"object","properties":{"elements":{"type":"object"},"pojo":{"type":"boolean"},"number":{"type":"boolean"},"integralNumber":{"type":"boolean"},"floatingPointNumber":{"type":"boolean"},"int":{"type":"boolean"},"long":{"type":"boolean"},"double":{"type":"boolean"},"bigDecimal":{"type":"boolean"},"bigInteger":{"type":"boolean"},"textual":{"type":"boolean"},"boolean":{"type":"boolean"},"binary":{"type":"boolean"},"containerNode":{"type":"boolean"},"missingNode":{"type":"boolean"},"object":{"type":"boolean"},"valueNode":{"type":"boolean"},"numberValue":{"type":"number"},"numberType":{"type":"string","enum":["INT","LONG","BIG_INTEGER","FLOAT","DOUBLE","BIG_DECIMAL"]},"intValue":{"type":"integer","format":"int32"},"longValue":{"type":"integer","format":"int64"},"bigIntegerValue":{"type":"integer"},"doubleValue":{"type":"number","format":"double"},"decimalValue":{"type":"number"},"booleanValue":{"type":"boolean"},"binaryValue":{"type":"array","items":{"type":"string","format":"byte"}},"valueAsInt":{"type":"integer","format":"int32"},"valueAsLong":{"type":"integer","format":"int64"},"valueAsDouble":{"type":"number","format":"double"},"valueAsBoolean":{"type":"boolean"},"fieldNames":{"type":"object"},"textValue":{"type":"string"},"valueAsText":{"type":"string"},"array":{"type":"boolean"},"fields":{"type":"object"},"null":{"type":"boolean"}},"additionalProperties":false},"Dashboard":{"type":"object","properties":{"description":{"type":"string"},"id":{"type":"string","description":"The ID of the dashboard.","readOnly":true},"isFavourite":{"type":"boolean","description":"Whether the dashboard is selected as a favorite by the user.","readOnly":true},"name":{"type":"string","description":"The name of the dashboard.","readOnly":true},"owner":{"description":"The owner of the dashboard.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserBean"}]},"popularity":{"type":"integer","description":"The number of users who have this dashboard as a favorite.","format":"int64","readOnly":true},"rank":{"type":"integer","description":"The rank of this dashboard.","format":"int32","readOnly":true},"self":{"type":"string","description":"The URL of these dashboard details.","format":"uri","readOnly":true},"sharePermissions":{"type":"array","description":"The details of any view share permissions for the dashboard.","readOnly":true,"items":{"$ref":"#/components/schemas/SharePermission"}},"editPermissions":{"type":"array","description":"The details of any edit share permissions for the dashboard.","readOnly":true,"items":{"$ref":"#/components/schemas/SharePermission"}},"view":{"type":"string","description":"The URL of the dashboard.","readOnly":true},"isWritable":{"type":"boolean","description":"Whether the current user has permission to edit the dashboard.","readOnly":true}},"additionalProperties":false,"description":"Details of a dashboard."},"Hierarchy":{"type":"object","properties":{"baseLevelId":{"type":"integer","description":"The ID of the base level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"levels":{"type":"array","description":"Details about the hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/HierarchyLevel"}}},"additionalProperties":false,"description":"The project issue type hierarchy.","xml":{"name":"hierarchy"}},"HierarchyLevel":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"name":{"type":"string","description":"The name of this hierarchy level."},"aboveLevelId":{"type":"integer","description":"The ID of the level above this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"belowLevelId":{"type":"integer","description":"The ID of the level below this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"projectConfigurationId":{"type":"integer","description":"The ID of the project configuration. This property is deprecated, see [Change oticen: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"level":{"type":"integer","description":"The level of this item in the hierarchy.","format":"int32"},"issueTypeIds":{"type":"array","description":"The issue types available in this hierarchy level.","items":{"type":"integer","format":"int64"}},"externalUuid":{"type":"string","description":"The external UUID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"uuid"},"globalHierarchyLevel":{"type":"string","enum":["SUBTASK","BASE","EPIC"]}},"additionalProperties":false},"PageOfDashboards":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"prev":{"type":"string","description":"The URL of the previous page of results, if any.","readOnly":true},"next":{"type":"string","description":"The URL of the next page of results, if any.","readOnly":true},"dashboards":{"type":"array","description":"List of dashboards.","readOnly":true,"items":{"$ref":"#/components/schemas/Dashboard"}}},"additionalProperties":false,"description":"A page containing dashboard details."},"Project":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project details in the response.","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the project details.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the project."},"key":{"type":"string","description":"The key of the project.","readOnly":true},"description":{"type":"string","description":"A brief description of the project.","readOnly":true},"lead":{"description":"The username of the project lead.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"components":{"type":"array","description":"List of the components contained in the project.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectComponent"}},"issueTypes":{"type":"array","description":"List of the issue types available in the project.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"url":{"type":"string","description":"A link to information about this project, such as project documentation.","readOnly":true},"email":{"type":"string","description":"An email address associated with the project."},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","readOnly":true,"enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","description":"The versions defined in the project. For more information, see [Create version](#api-rest-api-2-version-post).","readOnly":true,"items":{"$ref":"#/components/schemas/Version"}},"name":{"type":"string","description":"The name of the project.","readOnly":true},"roles":{"type":"object","additionalProperties":{"type":"string","format":"uri","readOnly":true},"description":"The name and self URL for each role defined in the project. For more information, see [Create project role](#api-rest-api-2-role-post).","readOnly":true},"avatarUrls":{"description":"The URLs of the project's avatars.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"projectCategory":{"description":"The category the project belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectCategory"}]},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.","readOnly":true,"enum":["software","service_desk","business"]},"simplified":{"type":"boolean","description":"Whether the project is simplified.","readOnly":true},"style":{"type":"string","description":"The type of the project.","readOnly":true,"enum":["classic","next-gen"]},"favourite":{"type":"boolean","description":"Whether the project is selected as a favorite."},"isPrivate":{"type":"boolean","description":"Whether the project is private.","readOnly":true},"issueTypeHierarchy":{"description":"The issue type hierarchy for the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Hierarchy"}]},"permissions":{"description":"User permissions on the project","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectPermissions"}]},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Map of project properties","readOnly":true},"uuid":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"insight":{"description":"Insights about the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectInsight"}]},"deleted":{"type":"boolean","description":"Whether the project is marked as deleted.","readOnly":true},"retentionTillDate":{"type":"string","description":"The date when the project is deleted permanently.","format":"date-time","readOnly":true},"deletedDate":{"type":"string","description":"The date when the project was marked as deleted.","format":"date-time","readOnly":true},"deletedBy":{"description":"The user who marked the project as deleted.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"archived":{"type":"boolean","description":"Whether the project is archived.","readOnly":true},"archivedDate":{"type":"string","description":"The date when the project was archived.","format":"date-time","readOnly":true},"archivedBy":{"description":"The user who archived the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"landingPageInfo":{"description":"The project landing page info.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectLandingPageInfo"}]}},"additionalProperties":false,"description":"Details about a project.","xml":{"name":"project"}},"ProjectCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project category.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the project category.","readOnly":true},"name":{"type":"string","description":"The name of the project category. Required on create, optional on update."},"description":{"type":"string","description":"The description of the project category."}},"additionalProperties":false,"description":"A project category."},"ProjectComponent":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the component.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the component.","readOnly":true},"name":{"type":"string","description":"The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters."},"description":{"type":"string","description":"The description for the component. Optional when creating or updating a component."},"lead":{"description":"The user details for the component's lead user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"leadUserName":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"leadAccountId":{"maxLength":128,"type":"string","description":"The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","writeOnly":true},"assigneeType":{"type":"string","description":"The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values:\n\n * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n * `UNASSIGNED` an assignee is not set for issues created with this component.\n * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.\n\nDefault value: `PROJECT_DEFAULT`. \nOptional when creating or updating a component.","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"description":"The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"realAssigneeType":{"type":"string","description":"The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT` when none of the preceding cases are true.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"description":"The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"isAssigneeTypeValid":{"type":"boolean","description":"Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.","readOnly":true},"project":{"type":"string","description":"The key of the project the component is assigned to. Required when creating a component. Can't be updated."},"projectId":{"type":"integer","description":"The ID of the project the component is assigned to.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details about a project component.","xml":{"name":"component"}},"ProjectInsight":{"type":"object","properties":{"totalIssueCount":{"type":"integer","description":"Total issue count.","format":"int64","readOnly":true},"lastIssueUpdateTime":{"type":"string","description":"The last issue update time.","format":"date-time","readOnly":true}},"additionalProperties":false,"description":"Additional details about a project."},"ProjectLandingPageInfo":{"type":"object","properties":{"url":{"type":"string"},"projectKey":{"type":"string"},"projectType":{"type":"string"},"boardId":{"type":"integer","format":"int64"},"simplified":{"type":"boolean"}},"additionalProperties":false},"ProjectPermissions":{"type":"object","properties":{"canEdit":{"type":"boolean","description":"Whether the logged user can edit the project.","readOnly":true}},"additionalProperties":false,"description":"Permissions which a user has on a project."},"ProjectRole":{"type":"object","properties":{"self":{"type":"string","description":"The URL the project role details.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the project role."},"id":{"type":"integer","description":"The ID of the project role.","format":"int64","readOnly":true},"description":{"type":"string","description":"The description of the project role.","readOnly":true},"actors":{"type":"array","description":"The list of users who act in this role.","readOnly":true,"items":{"$ref":"#/components/schemas/RoleActor"}},"scope":{"description":"The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"translatedName":{"type":"string","description":"The translated name of the project role."},"currentUserRole":{"type":"boolean","description":"Whether the calling user is part of this role."},"admin":{"type":"boolean","description":"Whether this role is the admin role for the project.","readOnly":true},"roleConfigurable":{"type":"boolean","description":"Whether the roles are configurable for this project.","readOnly":true},"default":{"type":"boolean","description":"Whether this role is the default role for the project","readOnly":true}},"additionalProperties":false,"description":"Details about the roles in a project."},"ProjectRoleGroup":{"type":"object","properties":{"displayName":{"type":"string","description":"The display name of the group."},"name":{"type":"string","description":"The name of the group"}},"additionalProperties":false,"description":"Details of the group associated with the role."},"ProjectRoleUser":{"type":"object","properties":{"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import.","readOnly":true}},"additionalProperties":false,"description":"Details of the user associated with the role."},"RoleActor":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the role actor.","format":"int64","readOnly":true},"displayName":{"type":"string","description":"The display name of the role actor. For users, depending on the user’s privacy setting, this may return an alternative value for the user's name.","readOnly":true},"type":{"type":"string","description":"The type of role actor.","readOnly":true,"enum":["atlassian-group-role-actor","atlassian-user-role-actor"]},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"avatarUrl":{"type":"string","description":"The avatar of the role actor.","format":"uri","readOnly":true},"actorUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectRoleUser"}]},"actorGroup":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectRoleGroup"}]}},"additionalProperties":false,"description":"Details about a user assigned to a project role.","xml":{"name":"projectRoleActor"}},"SharePermission":{"required":["type"],"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier of the share permission.","format":"int64","readOnly":true},"type":{"type":"string","description":"The type of share permission:\n\n * `user` Shared with a user.\n * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.\n * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.\n * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`.\n * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.\n * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`.\n * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.","enum":["user","group","project","projectRole","global","loggedin","authenticated","project-unknown"]},"project":{"description":"The project that the filter is shared with. This is similar to the project object returned by [Get project](#api-rest-api-2-project-projectIdOrKey-get) but it contains a subset of the properties, which are: `self`, `id`, `key`, `assigneeType`, `name`, `roles`, `avatarUrls`, `projectType`, `simplified`. \nFor a request, specify the `id` for the project.","allOf":[{"$ref":"#/components/schemas/Project"}]},"role":{"description":"The project role that the filter is shared with. \nFor a request, specify the `id` for the role. You must also specify the `project` object and `id` for the project that the role is in.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"group":{"description":"The group that the filter is shared with. For a request, specify the `name` property for the group.","allOf":[{"$ref":"#/components/schemas/GroupName"}]},"user":{"description":"The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user.","allOf":[{"$ref":"#/components/schemas/UserBean"}]}},"additionalProperties":false,"description":"Details of a share permission for the filter."},"SimpleLink":{"type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Details about the operations available in this version.","xml":{"name":"link"}},"UserBean":{"type":"object","properties":{"key":{"type":"string","description":"This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. \nThe key of the user."},"self":{"type":"string","description":"The URL of the user.","format":"uri"},"name":{"type":"string","description":"This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. \nThe username of the user."},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may return an alternative value."},"active":{"type":"boolean","description":"Whether the user is active."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"avatarUrls":{"description":"The avatars of the user.","allOf":[{"$ref":"#/components/schemas/UserBeanAvatarUrls"}]}},"additionalProperties":false},"UserBeanAvatarUrls":{"type":"object","properties":{"48x48":{"type":"string","description":"The URL of the user's 48x48 pixel avatar.","format":"uri"},"32x32":{"type":"string","description":"The URL of the user's 32x32 pixel avatar.","format":"uri"},"16x16":{"type":"string","description":"The URL of the user's 16x16 pixel avatar.","format":"uri"},"24x24":{"type":"string","description":"The URL of the user's 24x24 pixel avatar.","format":"uri"}},"additionalProperties":false},"Version":{"type":"object","properties":{"expand":{"type":"string","description":"Use [expand](em>#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.\n\nOptional for create and update.","xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the version.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the version.","readOnly":true},"description":{"type":"string","description":"The description of the version. Optional when creating or updating a version."},"name":{"type":"string","description":"The unique name of the version. Required when creating a version. Optional when updating a version. The maximum length is 255 characters."},"archived":{"type":"boolean","description":"Indicates that the version is archived. Optional when creating or updating a version."},"released":{"type":"boolean","description":"Indicates that the version is released. If the version is released a request to release again is ignored. Not applicable when creating a version. Optional when updating a version."},"startDate":{"type":"string","description":"The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.","format":"date"},"releaseDate":{"type":"string","description":"The release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.","format":"date"},"overdue":{"type":"boolean","description":"Indicates that the version is overdue.","readOnly":true},"userStartDate":{"type":"string","description":"The date on which work on this version is expected to start, expressed in the instance's *Day/Month/Year Format* date format.","readOnly":true},"userReleaseDate":{"type":"string","description":"The date on which work on this version is expected to finish, expressed in the instance's *Day/Month/Year Format* date format.","readOnly":true},"project":{"type":"string","description":"Deprecated. Use `projectId`."},"projectId":{"type":"integer","description":"The ID of the project to which this version is attached. Required when creating a version. Not applicable when updating a version.","format":"int64"},"moveUnfixedIssuesTo":{"type":"string","description":"The URL of the self link to the version to which all unfixed issues are moved when a version is released. Not applicable when creating a version. Optional when updating a version.","format":"uri"},"operations":{"type":"array","description":"If the expand option `operations` is used, returns the list of operations available for this version.","readOnly":true,"items":{"$ref":"#/components/schemas/SimpleLink"}},"issuesStatusForFixVersion":{"description":"If the expand option `issuesstatus` is used, returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/VersionIssuesStatus"}]}},"additionalProperties":false,"description":"Details about a project version.","xml":{"name":"version"}},"VersionIssuesStatus":{"type":"object","properties":{"unmapped":{"type":"integer","description":"Count of issues with a status other than *to do*, *in progress*, and *done*.","format":"int64","readOnly":true},"toDo":{"type":"integer","description":"Count of issues with status *to do*.","format":"int64","readOnly":true},"inProgress":{"type":"integer","description":"Count of issues with status *in progress*.","format":"int64","readOnly":true},"done":{"type":"integer","description":"Count of issues with status *done*.","format":"int64","readOnly":true}},"additionalProperties":true,"description":"Counts of the number of issues in various statuses."},"PageBeanDashboard":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Dashboard"}}},"additionalProperties":false,"description":"A page of items."},"DashboardDetails":{"required":["editPermissions","name","sharePermissions"],"type":"object","properties":{"name":{"type":"string","description":"The name of the dashboard."},"description":{"type":"string","description":"The description of the dashboard."},"sharePermissions":{"type":"array","description":"The share permissions for the dashboard.","items":{"$ref":"#/components/schemas/SharePermission"}},"editPermissions":{"type":"array","description":"The edit permissions for the dashboard.","items":{"$ref":"#/components/schemas/SharePermission"}}},"additionalProperties":false,"description":"Details of a dashboard."},"FailedWebhook":{"required":["failureTime","id","url"],"type":"object","properties":{"id":{"type":"string","description":"The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier` header with the webhook."},"body":{"type":"string","description":"The webhook body."},"url":{"type":"string","description":"The original webhook destination."},"failureTime":{"type":"integer","description":"The time the webhook was added to the list of failed webhooks (that is, the time of the last failed retry).","format":"int64"}},"additionalProperties":false,"description":"Details about a failed webhook."},"FailedWebhooks":{"required":["maxResults","values"],"type":"object","properties":{"values":{"type":"array","description":"The list of webhooks.","items":{"$ref":"#/components/schemas/FailedWebhook"}},"maxResults":{"type":"integer","description":"The maximum number of items on the page. If the list of values is shorter than this number, then there are no more pages.","format":"int32"},"next":{"type":"string","description":"The URL to the next page of results. Present only if the request returned at least one result.The next page may be empty at the time of receiving the response, but new failed webhooks may appear in time. You can save the URL to the next page and query for new results periodically (for example, every hour).","format":"uri"}},"additionalProperties":false,"description":"A page of failed webhooks."},"WebhookDetails":{"required":["events","jqlFilter"],"type":"object","properties":{"jqlFilter":{"type":"string","description":"The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are:\n\n * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`), only the epic label custom field is supported.\".\n * Operators: `=`, `!=`, `IN`, and `NOT IN`."},"fieldIdsFilter":{"type":"array","description":"A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.","items":{"type":"string","description":"A list of field IDs. When the issue changelog contains any of the fields, the webhook jira:issue_updated is sent. If this parameter is not present, the app is notified about all field updates."}},"issuePropertyKeysFilter":{"type":"array","description":"A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.","items":{"type":"string","description":"A list of issue property keys. A change of those issue properties triggers the issue_property_set or issue_property_deleted webhooks. If this parameter is not present, the app is notified about all issue property updates."}},"events":{"type":"array","description":"The Jira events that trigger the webhook.","items":{"type":"string","enum":["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","comment_updated","comment_deleted","issue_property_set","issue_property_deleted"]}}},"additionalProperties":false,"description":"A list of webhooks."},"WebhookRegistrationDetails":{"required":["url","webhooks"],"type":"object","properties":{"webhooks":{"type":"array","description":"A list of webhooks.","items":{"$ref":"#/components/schemas/WebhookDetails"}},"url":{"type":"string","description":"The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app."}},"additionalProperties":false,"description":"Details of webhooks to register."},"ContainerForRegisteredWebhooks":{"type":"object","properties":{"webhookRegistrationResult":{"type":"array","description":"A list of registered webhooks.","items":{"$ref":"#/components/schemas/RegisteredWebhook"}}},"additionalProperties":false,"description":"Container for a list of registered webhooks. Webhook details are returned in the same order as the request."},"RegisteredWebhook":{"type":"object","properties":{"createdWebhookId":{"type":"integer","description":"The ID of the webhook. Returned if the webhook is created.","format":"int64"},"errors":{"type":"array","description":"Error messages specifying why the webhook creation failed.","items":{"type":"string","description":"Error messages specifying why the webhook creation failed."}}},"additionalProperties":false,"description":"ID of a registered webhook or error messages explaining why a webhook wasn't registered."},"PageBeanWebhook":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Webhook"}}},"additionalProperties":false,"description":"A page of items."},"Webhook":{"required":["events","id","jqlFilter"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the webhook.","format":"int64"},"jqlFilter":{"type":"string","description":"The JQL filter that specifies which issues the webhook is sent for."},"fieldIdsFilter":{"type":"array","description":"A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.","items":{"type":"string","description":"A list of field IDs. When the issue changelog contains any of the fields, the webhook jira:issue_updated is sent. If this parameter is not present, the app is notified about all field updates."}},"issuePropertyKeysFilter":{"type":"array","description":"A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.","items":{"type":"string","description":"A list of issue property keys. A change of those issue properties triggers the issue_property_set or issue_property_deleted webhooks. If this parameter is not present, the app is notified about all issue property updates."}},"events":{"type":"array","description":"The Jira events that trigger the webhook.","items":{"type":"string","enum":["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","comment_updated","comment_deleted","issue_property_set","issue_property_deleted"]}},"expirationDate":{"type":"integer","format":"int64","readOnly":true}},"additionalProperties":false,"description":"A webhook."},"ContainerForWebhookIDs":{"required":["webhookIds"],"type":"object","properties":{"webhookIds":{"type":"array","description":"A list of webhook IDs.","items":{"type":"integer","description":"A list of webhook IDs.","format":"int64"}}},"additionalProperties":false,"description":"Container for a list of webhook IDs."},"WebhooksExpirationDate":{"required":["expirationDate"],"type":"object","properties":{"expirationDate":{"type":"integer","format":"int64","readOnly":true}},"additionalProperties":false,"description":"The date the newly refreshed webhooks expire."},"Locale":{"type":"object","properties":{"locale":{"type":"string","description":"The locale code. The Java the locale format is used: a two character language code (ISO 639), an underscore, and two letter country code (ISO 3166). For example, en\\_US represents a locale of English (United States). Required on create."}},"additionalProperties":false,"description":"Details of a locale."},"ProjectEmailAddress":{"type":"object","properties":{"emailAddress":{"type":"string","description":"The email address."}},"additionalProperties":false,"description":"A project's sender email address."},"ProjectType":{"type":"object","properties":{"key":{"type":"string","description":"The key of the project type.","readOnly":true},"formattedKey":{"type":"string","description":"The formatted key of the project type.","readOnly":true},"descriptionI18nKey":{"type":"string","description":"The key of the project type's description.","readOnly":true},"icon":{"type":"string","description":"The icon of the project type.","readOnly":true},"color":{"type":"string","description":"The color of the project type.","readOnly":true}},"additionalProperties":false,"description":"Details about a project type."},"CustomFieldReplacement":{"type":"object","properties":{"customFieldId":{"type":"integer","description":"The ID of the custom field in which to replace the version number.","format":"int64"},"moveTo":{"type":"integer","description":"The version number to use as a replacement for the deleted version.","format":"int64"}},"additionalProperties":false,"description":"Details about the replacement for a deleted version."},"DeleteAndReplaceVersionBean":{"type":"object","properties":{"moveFixIssuesTo":{"type":"integer","description":"The ID of the version to update `fixVersion` to when the field contains the deleted version.","format":"int64"},"moveAffectedIssuesTo":{"type":"integer","description":"The ID of the version to update `affectedVersion` to when the field contains the deleted version.","format":"int64"},"customFieldReplacementList":{"type":"array","description":"An array of custom field IDs (`customFieldId`) and version IDs (`moveTo`) to update when the fields contain the deleted version.","items":{"$ref":"#/components/schemas/CustomFieldReplacement"}}},"additionalProperties":false},"VersionIssueCounts":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these count details.","format":"uri","readOnly":true},"issuesFixedCount":{"type":"integer","description":"Count of issues where the `fixVersion` is set to the version.","format":"int64","readOnly":true},"issuesAffectedCount":{"type":"integer","description":"Count of issues where the `affectedVersion` is set to the version.","format":"int64","readOnly":true},"issueCountWithCustomFieldsShowingVersion":{"type":"integer","description":"Count of issues where a version custom field is set to the version.","format":"int64","readOnly":true},"customFieldUsage":{"type":"array","description":"List of custom fields using the version.","readOnly":true,"items":{"$ref":"#/components/schemas/VersionUsageInCustomField"}}},"additionalProperties":false,"description":"Various counts of issues within a version.","xml":{"name":"version"}},"VersionUsageInCustomField":{"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the custom field.","readOnly":true},"customFieldId":{"type":"integer","description":"The ID of the custom field.","format":"int64","readOnly":true},"issueCountWithVersionInCustomField":{"type":"integer","description":"Count of the issues where the custom field contains the version.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"List of custom fields using the version."},"VersionUnresolvedIssuesCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these count details.","format":"uri","readOnly":true},"issuesUnresolvedCount":{"type":"integer","description":"Count of unresolved issues.","format":"int64","readOnly":true},"issuesCount":{"type":"integer","description":"Count of issues.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Count of a version's unresolved issues.","xml":{"name":"version"}},"VersionMoveBean":{"type":"object","properties":{"after":{"type":"string","description":"The URL (self link) of the version after which to place the moved version. Cannot be used with `position`.","format":"uri"},"position":{"type":"string","description":"An absolute position in which to place the moved version. Cannot be used with `after`.","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false,"xml":{"name":"version"}},"FoundUsers":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/UserPickerUser"}},"total":{"type":"integer","description":"The total number of users found in the search.","format":"int32"},"header":{"type":"string","description":"Header text indicating the number of users in the response and the total number of users found in the search."}},"additionalProperties":false,"description":"The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users."},"UserPickerUser":{"type":"object","properties":{"accountId":{"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"name":{"type":"string","description":"This property is no longer available . See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"key":{"type":"string","description":"This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"html":{"type":"string","description":"The display name, email address, and key of the user with the matched query string highlighted with the HTML bold tag."},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may be returned as null."},"avatarUrl":{"type":"string","description":"The avatar URL of the user.","format":"uri"}},"additionalProperties":false,"description":"A user found in a search."},"NewUserDetails":{"required":["displayName","emailAddress"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","readOnly":true},"key":{"type":"string","description":"This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"name":{"type":"string","description":"This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"password":{"type":"string","description":"This property is no longer available. If the user has an Atlassian account, their password is not changed. If the user does not have an Atlassian account, they are sent an email asking them set up an account."},"emailAddress":{"type":"string","description":"The email address for the user."},"displayName":{"type":"string","description":"A suggested display name for the user. If the user has an Atlassian account, their display name is not changed. If the user does not have an Atlassian account, this display name is used as a suggestion for creating an account. The user is sent an email asking them to set their display name and privacy preferences."},"applicationKeys":{"type":"array","description":"Deprecated, do not use.","items":{"type":"string"}}},"additionalProperties":true,"description":"The user details."},"Avatar":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the avatar."},"owner":{"type":"string","description":"The owner of the avatar. For a system avatar the owner is null (and nothing is returned). For non-system avatars this is the appropriate identifier, such as the ID for a project or the account ID for a user.","readOnly":true},"isSystemAvatar":{"type":"boolean","description":"Whether the avatar is a system avatar.","readOnly":true},"isSelected":{"type":"boolean","description":"Whether the avatar is used in Jira. For example, shown as a project's avatar.","readOnly":true},"isDeletable":{"type":"boolean","description":"Whether the avatar can be deleted.","readOnly":true},"fileName":{"type":"string","description":"The file name of the avatar icon. Returned for system avatars.","readOnly":true},"urls":{"type":"object","additionalProperties":{"type":"string","format":"uri","readOnly":true},"description":"The list of avatar icon URLs.","readOnly":true}},"additionalProperties":false,"description":"Details of an avatar."},"Avatars":{"type":"object","properties":{"system":{"type":"array","description":"System avatars list.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}},"custom":{"type":"array","description":"Custom avatars list.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"Details about system and custom avatars."},"StatusCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the status category.","readOnly":true},"id":{"type":"integer","description":"The ID of the status category.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the status category.","readOnly":true},"colorName":{"type":"string","description":"The name of the color used to represent the status category.","readOnly":true},"name":{"type":"string","description":"The name of the status category.","readOnly":true}},"additionalProperties":true,"description":"A status category."},"StatusDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the status.","readOnly":true},"description":{"type":"string","description":"The description of the status.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the icon used to represent the status.","readOnly":true},"name":{"type":"string","description":"The name of the status.","readOnly":true},"id":{"type":"string","description":"The ID of the status.","readOnly":true},"statusCategory":{"description":"The category assigned to the status.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusCategory"}]}},"additionalProperties":true,"description":"A status."},"ScreenableTab":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen tab.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen tab. The maximum length is 255 characters."}},"additionalProperties":false,"description":"A screen tab."},"PageBeanScreen":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Screen"}}},"additionalProperties":false,"description":"A page of items."},"Screen":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen.","readOnly":true},"description":{"type":"string","description":"The description of the screen.","readOnly":true},"scope":{"description":"The scope of the screen.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"A screen."},"ScreenableField":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the screen tab field.","readOnly":true},"name":{"type":"string","description":"The name of the screen tab field. Required on create and update. The maximum length is 255 characters."}},"additionalProperties":false,"description":"A screen tab field."},"MoveFieldBean":{"type":"object","properties":{"after":{"type":"string","description":"The ID of the screen tab field after which to place the moved screen tab field. Required if `position` isn't provided.","format":"uri"},"position":{"type":"string","description":"The named position to which the screen tab field should be moved. Required if `after` isn't provided.","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false},"AddFieldBean":{"required":["fieldId"],"type":"object","properties":{"fieldId":{"type":"string","description":"The ID of the field to add."}},"additionalProperties":false},"ScreenDetails":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the screen. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a screen."},"UpdateScreenDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the screen. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a screen."},"Resolution":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue resolution.","format":"uri"},"id":{"type":"string","description":"The ID of the issue resolution."},"description":{"type":"string","description":"The description of the issue resolution."},"name":{"type":"string","description":"The name of the issue resolution."}},"additionalProperties":false,"description":"Details of an issue resolution.","xml":{"name":"resolution"}},"CreateProjectDetails":{"required":["key","name"],"type":"object","properties":{"key":{"type":"string","description":"Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters."},"name":{"type":"string","description":"The name of the project."},"description":{"type":"string","description":"A brief description of the project."},"lead":{"type":"string","description":"This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `leadAccountId`."},"leadAccountId":{"maxLength":128,"type":"string","description":"The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `lead`."},"url":{"type":"string","description":"A link to information about this project, such as project documentation"},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer","description":"An integer value for the project's avatar.","format":"int64"},"issueSecurityScheme":{"type":"integer","description":"The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security scheme IDs.","format":"int64"},"permissionScheme":{"type":"integer","description":"The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs.","format":"int64"},"notificationScheme":{"type":"integer","description":"The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs.","format":"int64"},"categoryId":{"type":"integer","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation.","format":"int64"},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type.","enum":["software","service_desk","business"]},"projectTemplateKey":{"type":"string","description":"A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`.","enum":["com.pyxis.greenhopper.jira:gh-simplified-agility-kanban","com.pyxis.greenhopper.jira:gh-simplified-agility-scrum","com.pyxis.greenhopper.jira:gh-simplified-basic","com.pyxis.greenhopper.jira:gh-simplified-kanban-classic","com.pyxis.greenhopper.jira:gh-simplified-scrum-classic","com.atlassian.servicedesk:simplified-it-service-desk","com.atlassian.servicedesk:simplified-internal-service-desk","com.atlassian.servicedesk:simplified-external-service-desk","com.atlassian.servicedesk:simplified-hr-service-desk","com.atlassian.servicedesk:simplified-facilities-service-desk","com.atlassian.jira-core-project-templates:jira-core-simplified-content-management","com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval","com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking","com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","com.atlassian.jira-core-project-templates:jira-core-simplified-procurement","com.atlassian.jira-core-project-templates:jira-core-simplified-project-management","com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment","com.atlassian.jira-core-project-templates:jira-core-simplified-task-"]},"workflowScheme":{"type":"integer","description":"The ID of the workflow scheme for the project. Use the [Get all workflow schemes](#api-rest-api-2-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the workflow scheme you cannot specify the project template key.","format":"int64"},"issueTypeScreenScheme":{"type":"integer","description":"The ID of the issue type screen scheme for the project. Use the [Get all issue type screen schemes](#api-rest-api-2-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you specify the issue type screen scheme you cannot specify the project template key.","format":"int64"},"issueTypeScheme":{"type":"integer","description":"The ID of the issue type scheme for the project. Use the [Get all issue type schemes](#api-rest-api-2-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the issue type scheme you cannot specify the project template key.","format":"int64"},"fieldConfigurationScheme":{"type":"integer","description":"The ID of the field configuration scheme for the project. Use the [Get all field configuration schemes](#api-rest-api-2-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs. If you specify the field configuration scheme you cannot specify the project template key.","format":"int64"}},"additionalProperties":false,"description":"Details about the project."},"ProjectIdentifiers":{"required":["id","key","self"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the created project.","format":"uri","readOnly":true},"id":{"type":"integer","description":"The ID of the created project.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the created project.","readOnly":true}},"additionalProperties":false,"description":"Identifiers for a project."},"UpdateProjectDetails":{"type":"object","properties":{"key":{"type":"string","description":"Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters."},"name":{"type":"string","description":"The name of the project."},"description":{"type":"string","description":"A brief description of the project."},"lead":{"type":"string","description":"This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Cannot be provided with `leadAccountId`."},"leadAccountId":{"maxLength":128,"type":"string","description":"The account ID of the project lead. Cannot be provided with `lead`."},"url":{"type":"string","description":"A link to information about this project, such as project documentation"},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer","description":"An integer value for the project's avatar.","format":"int64"},"issueSecurityScheme":{"type":"integer","description":"The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-2-issuesecurityschemes-get) resource to get all issue security scheme IDs.","format":"int64"},"permissionScheme":{"type":"integer","description":"The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to see a list of all permission scheme IDs.","format":"int64"},"notificationScheme":{"type":"integer","description":"The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-2-notificationscheme-get) resource to get a list of notification scheme IDs.","format":"int64"},"categoryId":{"type":"integer","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-2-projectCategory-get) operation.","format":"int64"}},"additionalProperties":false,"description":"Details about the project."},"PageBeanVersion":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Version"}}},"additionalProperties":false,"description":"A page of items."},"ComponentWithIssueCount":{"type":"object","properties":{"issueCount":{"type":"integer","description":"Count of issues for the component.","format":"int64","readOnly":true},"realAssignee":{"description":"The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.","allOf":[{"$ref":"#/components/schemas/User"}]},"isAssigneeTypeValid":{"type":"boolean","description":"Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.","readOnly":true},"realAssigneeType":{"type":"string","description":"The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT` when none of the preceding cases are true.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"description":{"type":"string","description":"The description for the component.","readOnly":true},"self":{"type":"string","description":"The URL for this count of the issues contained in the component.","format":"uri","readOnly":true},"projectId":{"type":"integer","description":"Not used.","format":"int64","readOnly":true},"assignee":{"description":"The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.","allOf":[{"$ref":"#/components/schemas/User"}]},"project":{"type":"string","description":"The key of the project to which the component is assigned.","readOnly":true},"assigneeType":{"type":"string","description":"The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following values:\n\n * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n * `UNASSIGNED` an assignee is not set for issues created with this component.\n * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"lead":{"description":"The user details for the component's lead user.","allOf":[{"$ref":"#/components/schemas/User"}]},"name":{"type":"string","description":"The name for the component.","readOnly":true},"id":{"type":"string","description":"The unique identifier for the component.","readOnly":true}},"additionalProperties":false,"description":"Details about a component with a count of the issues it contains."},"PageBeanComponentWithIssueCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ComponentWithIssueCount"}}},"additionalProperties":false,"description":"A page of items."},"StringList":{"type":"object","additionalProperties":false},"PageBeanProject":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Project"}}},"additionalProperties":false,"description":"A page of items."},"ProjectAvatars":{"type":"object","properties":{"system":{"type":"array","description":"List of avatars included with Jira. These avatars cannot be deleted.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}},"custom":{"type":"array","description":"List of avatars added to Jira. These avatars may be deleted.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"List of project avatars."},"IssueTypeWithStatus":{"required":["id","name","self","statuses","subtask"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue type's status details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type represents subtasks.","readOnly":true},"statuses":{"type":"array","description":"List of status details for the issue type.","readOnly":true,"items":{"$ref":"#/components/schemas/StatusDetails"}}},"additionalProperties":false,"description":"Status details for an issue type."},"SecurityScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue security scheme.","readOnly":true},"id":{"type":"integer","description":"The ID of the issue security scheme.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the issue security scheme.","readOnly":true},"description":{"type":"string","description":"The description of the issue security scheme.","readOnly":true},"defaultSecurityLevelId":{"type":"integer","description":"The ID of the default security level.","format":"int64","readOnly":true},"levels":{"type":"array","items":{"$ref":"#/components/schemas/SecurityLevel"}}},"additionalProperties":false,"description":"Details about a security scheme."},"Priority":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue priority."},"statusColor":{"type":"string","description":"The color used to indicate the issue priority."},"description":{"type":"string","description":"The description of the issue priority."},"iconUrl":{"type":"string","description":"The URL of the icon for the issue priority."},"name":{"type":"string","description":"The name of the issue priority."},"id":{"type":"string","description":"The ID of the issue priority."}},"additionalProperties":true,"description":"An issue priority."},"Comment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the comment.","readOnly":true},"id":{"type":"string","description":"The ID of the comment.","readOnly":true},"author":{"description":"The ID of the user who created the comment.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"body":{"type":"string","description":"The comment text."},"renderedBody":{"type":"string","description":"The rendered version of the comment.","readOnly":true},"updateAuthor":{"description":"The ID of the user who updated the comment last.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The date and time at which the comment was created.","format":"date-time","readOnly":true},"updated":{"type":"string","description":"The date and time at which the comment was updated last.","format":"date-time","readOnly":true},"visibility":{"description":"The group or role to which this comment is visible. Optional on create and update.","allOf":[{"$ref":"#/components/schemas/Visibility"}]},"jsdPublic":{"type":"boolean","description":"Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post) operation.","readOnly":true},"properties":{"type":"array","description":"A list of comment properties. Optional on create and update.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"A comment."},"Fields":{"type":"object","properties":{"summary":{"type":"string","description":"The summary description of the linked issue.","readOnly":true},"status":{"description":"The status of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusDetails"}]},"priority":{"description":"The priority of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Priority"}]},"assignee":{"description":"The assignee of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"timetracking":{"description":"The time tracking of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/TimeTrackingDetails"}]},"issuetype":{"description":"The type of the linked issue.","$ref":"#/components/schemas/IssueTypeDetails"},"issueType":{"description":"The type of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/IssueTypeDetails"}]}},"additionalProperties":false,"description":"Key fields from the linked issue."},"IssueLinkType":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue link type and is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is the type of issue link. Required on create when `name` isn't provided. Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is read only."},"name":{"type":"string","description":"The name of the issue link type and is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is the type of issue link. Required on create when `id` isn't provided. Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"inward":{"type":"string","description":"The description of the issue link type inward link and is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"outward":{"type":"string","description":"The description of the issue link type outward link and is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it is read only.\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"self":{"type":"string","description":"The URL of the issue link type. Read only.","format":"uri","readOnly":true}},"additionalProperties":false,"description":"This object is used as follows:\n\n * In the [ issueLink](#api-rest-api-2-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-2-issueLinkType-get).\n * In the [ issueLinkType](#api-rest-api-2-issueLinkType-post) resource it defines and reports on issue link types."},"LinkIssueRequestJsonBean":{"required":["inwardIssue","outwardIssue","type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/IssueLinkType"},"inwardIssue":{"$ref":"#/components/schemas/LinkedIssue"},"outwardIssue":{"$ref":"#/components/schemas/LinkedIssue"},"comment":{"$ref":"#/components/schemas/Comment"}},"additionalProperties":false},"LinkedIssue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of an issue. Required if `key` isn't provided."},"key":{"type":"string","description":"The key of an issue. Required if `id` isn't provided."},"self":{"type":"string","description":"The URL of the issue.","format":"uri","readOnly":true},"fields":{"description":"The fields associated with the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Fields"}]}},"additionalProperties":false,"description":"The ID or key of a linked issue."},"RichText":{"type":"object","properties":{"finalised":{"type":"boolean"},"valueSet":{"type":"boolean"},"emptyAdf":{"type":"boolean"}}},"TimeTrackingDetails":{"type":"object","properties":{"originalEstimate":{"type":"string","description":"The original estimate of time needed for this issue in readable format.","readOnly":true},"remainingEstimate":{"type":"string","description":"The remaining estimate of time needed for this issue in readable format.","readOnly":true},"timeSpent":{"type":"string","description":"Time worked on this issue in readable format.","readOnly":true},"originalEstimateSeconds":{"type":"integer","description":"The original estimate of time needed for this issue in seconds.","format":"int64","readOnly":true},"remainingEstimateSeconds":{"type":"integer","description":"The remaining estimate of time needed for this issue in seconds.","format":"int64","readOnly":true},"timeSpentSeconds":{"type":"integer","description":"Time worked on this issue in seconds.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Time tracking details."},"UserDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","readOnly":true},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"emailAddress":{"type":"string","description":"The email address of the user. Depending on the user’s privacy settings, this may be returned as null.","readOnly":true},"avatarUrls":{"description":"The avatars of the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.","readOnly":true},"active":{"type":"boolean","description":"Whether the user is active.","readOnly":true},"timeZone":{"type":"string","description":"The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.","readOnly":true},"accountType":{"type":"string","description":"The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)","readOnly":true}},"additionalProperties":false,"description":"User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).\n * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values."},"Visibility":{"type":"object","properties":{"type":{"type":"string","description":"Whether visibility of this item is restricted to a group or role.","enum":["group","role"]},"value":{"type":"string","description":"The name of the group or role to which visibility of this item is restricted."}},"additionalProperties":true,"description":"The group or role to which this item is visible."},"IssueLink":{"required":["inwardIssue","outwardIssue","type"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue link.","readOnly":true},"self":{"type":"string","description":"The URL of the issue link.","format":"uri","readOnly":true},"type":{"description":"The type of link between the issues.","allOf":[{"$ref":"#/components/schemas/IssueLinkType"}]},"inwardIssue":{"description":"The issue the link joins to.","allOf":[{"$ref":"#/components/schemas/LinkedIssue"}]},"outwardIssue":{"description":"The issue the link originates from.","allOf":[{"$ref":"#/components/schemas/LinkedIssue"}]}},"additionalProperties":false,"description":"Details of a link between issues.","xml":{"name":"issueLinks"}},"PageOfWorklogs":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"worklogs":{"type":"array","description":"List of worklogs.","readOnly":true,"items":{"$ref":"#/components/schemas/Worklog"}}},"additionalProperties":true,"description":"Paginated list of worklog details"},"Worklog":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the worklog item.","format":"uri","readOnly":true},"author":{"description":"Details of the user who created the worklog.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"updateAuthor":{"description":"Details of the user who last updated the worklog.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"comment":{"type":"string","description":"A comment about the worklog. Optional when creating or updating a worklog."},"created":{"type":"string","description":"The datetime on which the worklog was created.","format":"date-time","readOnly":true},"updated":{"type":"string","description":"The datetime on which the worklog was last updated.","format":"date-time","readOnly":true},"visibility":{"description":"Details about any restrictions in the visibility of the worklog. Optional when creating or updating a worklog.","allOf":[{"$ref":"#/components/schemas/Visibility"}]},"started":{"type":"string","description":"The datetime on which the worklog effort was started. Required when creating a worklog. Optional when updating a worklog.","format":"date-time"},"timeSpent":{"type":"string","description":"The time spent working on the issue as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). Required when creating a worklog if `timeSpentSeconds` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpentSecond` is provided."},"timeSpentSeconds":{"type":"integer","description":"The time in seconds spent working on the issue. Required when creating a worklog if `timeSpent` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpent` is provided.","format":"int64"},"id":{"type":"string","description":"The ID of the worklog record.","readOnly":true},"issueId":{"type":"string","description":"The ID of the issue this worklog is for.","readOnly":true},"properties":{"type":"array","description":"Details of properties for the worklog. Optional when creating or updating a worklog.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"Details of a worklog.","xml":{"name":"worklog"}},"IssueTypeCreateBean":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The unique name for the issue type. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the issue type."},"type":{"type":"string","description":"Deprecated. Use `hierarchyLevel` instead.\n\nWhether the issue type is `subtype` or `standard`. Defaults to `standard`.","enum":["subtask","standard"]},"hierarchyLevel":{"type":"integer","description":"The hierarchy level of the issue type. Use:\n\n * `-1` for Subtask.\n * `0` for Base.\n\nDefaults to `0`.","format":"int32"}},"additionalProperties":false},"IssueTypeUpdateBean":{"type":"object","properties":{"name":{"type":"string","description":"The unique name for the issue type. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the issue type."},"avatarId":{"type":"integer","description":"The ID of an issue type avatar.","format":"int64"}},"additionalProperties":false},"SecuritySchemes":{"type":"object","properties":{"issueSecuritySchemes":{"type":"array","description":"List of security schemes.","readOnly":true,"items":{"$ref":"#/components/schemas/SecurityScheme"}}},"additionalProperties":false,"description":"List of security schemes."},"IssueSecurityLevelMember":{"required":["holder","id","issueSecurityLevelId"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue security level member.","format":"int64"},"issueSecurityLevelId":{"type":"integer","description":"The ID of the issue security level.","format":"int64"},"holder":{"description":"The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.","allOf":[{"$ref":"#/components/schemas/PermissionHolder"}]}},"additionalProperties":false,"description":"Issue security level member."},"PageBeanIssueSecurityLevelMember":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueSecurityLevelMember"}}},"additionalProperties":false,"description":"A page of items."},"FieldMetadata":{"required":["key","name","operations","required","schema"],"type":"object","properties":{"required":{"type":"boolean","description":"Whether the field is required.","readOnly":true},"schema":{"description":"The data type of the field.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/JsonTypeBean"}]},"name":{"type":"string","description":"The name of the field.","readOnly":true},"key":{"type":"string","description":"The key of the field.","readOnly":true},"autoCompleteUrl":{"type":"string","description":"The URL that can be used to automatically complete the field.","readOnly":true},"hasDefaultValue":{"type":"boolean","description":"Whether the field has a default value.","readOnly":true},"operations":{"type":"array","description":"The list of operations that can be performed on the field.","readOnly":true,"items":{"type":"string","readOnly":true}},"allowedValues":{"type":"array","description":"The list of values allowed in the field.","readOnly":true,"items":{"readOnly":true}},"defaultValue":{"description":"The default value of the field.","readOnly":true}},"additionalProperties":false,"description":"The metadata describing an issue field.","xml":{"name":"availableField"}},"IssueTransition":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue transition. Required when specifying a transition to undertake."},"name":{"type":"string","description":"The name of the issue transition.","readOnly":true},"to":{"description":"Details of the issue status after the transition.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusDetails"}]},"hasScreen":{"type":"boolean","description":"Whether there is a screen associated with the issue transition.","readOnly":true},"isGlobal":{"type":"boolean","description":"Whether the issue transition is global, that is, the transition is applied to issues regardless of their status.","readOnly":true},"isInitial":{"type":"boolean","description":"Whether this is the initial issue transition for the workflow.","readOnly":true},"isAvailable":{"type":"boolean","description":"Whether the transition is available to be performed.","readOnly":true},"isConditional":{"type":"boolean","description":"Whether the issue has to meet criteria before the issue transition is applied.","readOnly":true},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"Details of the fields associated with the issue transition screen. Use this information to populate `fields` and `update` in a transition request.","readOnly":true},"expand":{"type":"string","description":"Expand options that include additional transition details in the response.","readOnly":true},"looped":{"type":"boolean"}},"additionalProperties":true,"description":"Details of an issue transition."},"JsonTypeBean":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The data type of the field.","readOnly":true},"items":{"type":"string","description":"When the data type is an array, the name of the field items within the array.","readOnly":true},"system":{"type":"string","description":"If the field is a system field, the name of the field.","readOnly":true},"custom":{"type":"string","description":"If the field is a custom field, the URI of the field.","readOnly":true},"customId":{"type":"integer","description":"If the field is a custom field, the custom ID of the field.","format":"int64","readOnly":true},"configuration":{"type":"object","additionalProperties":{"readOnly":true},"description":"If the field is a custom field, the configuration of the field.","readOnly":true}},"additionalProperties":false,"description":"The schema of a field."},"Transitions":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional transitions details in the response.","readOnly":true,"xml":{"attribute":true}},"transitions":{"type":"array","description":"List of issue transitions.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTransition"}}},"additionalProperties":false,"description":"List of issue transitions."},"IssuePickerSuggestions":{"type":"object","properties":{"sections":{"type":"array","description":"A list of issues for an issue type suggested for use in auto-completion.","readOnly":true,"items":{"$ref":"#/components/schemas/IssuePickerSuggestionsIssueType"}}},"additionalProperties":false,"description":"A list of issues suggested for use in auto-completion."},"IssuePickerSuggestionsIssueType":{"type":"object","properties":{"label":{"type":"string","description":"The label of the type of issues suggested for use in auto-completion.","readOnly":true},"sub":{"type":"string","description":"If issue suggestions are found, returns a message indicating the number of issues suggestions found and returned.","readOnly":true},"id":{"type":"string","description":"The ID of the type of issues suggested for use in auto-completion.","readOnly":true},"msg":{"type":"string","description":"If no issue suggestions are found, returns a message indicating no suggestions were found,","readOnly":true},"issues":{"type":"array","description":"A list of issues suggested for use in auto-completion.","readOnly":true,"items":{"$ref":"#/components/schemas/SuggestedIssue"}}},"additionalProperties":false,"description":"A type of issue suggested for use in auto-completion."},"SuggestedIssue":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the issue.","readOnly":true},"keyHtml":{"type":"string","description":"The key of the issue in HTML format.","readOnly":true},"img":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"summary":{"type":"string","description":"The phrase containing the query string in HTML format, with the string highlighted with HTML bold tags.","readOnly":true},"summaryText":{"type":"string","description":"The phrase containing the query string, as plain text.","readOnly":true}},"additionalProperties":false,"description":"An issue suggested for use in the issue picker auto-completion."},"FieldUpdateOperation":{"type":"object","properties":{"add":{"description":"A map containing the name of a field and the value to add to it.","example":{"labels":"Training","issuelinks":{"id":10001}}},"set":{"description":"A map containing the name of a field and the value to set in it.","example":{"summary":"A new summary","issuetype":{"id":10010}}},"remove":{"description":"A map containing the name of a field and the value to removed from it.","example":{"labels":"Training","components":{"id":10017}}},"edit":{"description":"A map containing the name of a field and the value to edit in it.","example":{"timetracking":{"key":"JIRA"}}}},"additionalProperties":false,"description":"Details of an operation to perform on a field."},"HistoryMetadata":{"type":"object","properties":{"type":{"type":"string","description":"The type of the history record."},"description":{"type":"string","description":"The description of the history record."},"descriptionKey":{"type":"string","description":"The description key of the history record."},"activityDescription":{"type":"string","description":"The activity described in the history record."},"activityDescriptionKey":{"type":"string","description":"The key of the activity described in the history record."},"emailDescription":{"type":"string","description":"The description of the email address associated the history record."},"emailDescriptionKey":{"type":"string","description":"The description key of the email address associated the history record."},"actor":{"description":"Details of the user whose action created the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"generator":{"description":"Details of the system that generated the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"cause":{"description":"Details of the cause that triggered the creation the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"extraData":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional arbitrary information about the history record."}},"additionalProperties":true,"description":"Details of issue history metadata."},"HistoryMetadataParticipant":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the user or system associated with a history record."},"displayName":{"type":"string","description":"The display name of the user or system associated with a history record."},"displayNameKey":{"type":"string","description":"The key of the display name of the user or system associated with a history record."},"type":{"type":"string","description":"The type of the user or system associated with a history record."},"avatarUrl":{"type":"string","description":"The URL to an avatar for the user or system associated with a history record."},"url":{"type":"string","description":"The URL of the user or system associated with a history record."}},"additionalProperties":true,"description":"Details of user or system associated with a issue history metadata item."},"IssueUpdateDetails":{"type":"object","properties":{"transition":{"description":"Details of a transition. Required when performing a transition, optional when creating or editing an issue.","allOf":[{"$ref":"#/components/schemas/IssueTransition"}]},"fields":{"type":"object","additionalProperties":{},"description":"List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are required, use `update`. Fields included in here cannot be included in `update`."},"update":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FieldUpdateOperation"}},"description":"List of operations to perform on issue screen fields. Note that fields included in here cannot be included in `fields`."},"historyMetadata":{"description":"Additional issue history details.","allOf":[{"$ref":"#/components/schemas/HistoryMetadata"}]},"properties":{"type":"array","description":"Details of issue properties to be add or update.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"Details of an issue update request."},"Votes":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue vote details.","format":"uri","readOnly":true},"votes":{"type":"integer","description":"The number of votes on the issue.","format":"int64","readOnly":true},"hasVoted":{"type":"boolean","description":"Whether the user making this request has voted on the issue.","readOnly":true},"voters":{"type":"array","description":"List of the users who have voted on this issue. An empty list is returned when the calling user doesn't have the *View voters and watchers* project permission.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}}},"additionalProperties":false,"description":"The details of votes on an issue."},"ChangeDetails":{"type":"object","properties":{"field":{"type":"string","description":"The name of the field changed.","readOnly":true},"fieldtype":{"type":"string","description":"The type of the field changed.","readOnly":true},"fieldId":{"type":"string","description":"The ID of the field changed.","readOnly":true},"from":{"type":"string","description":"The details of the original value.","readOnly":true},"fromString":{"type":"string","description":"The details of the original value as a string.","readOnly":true},"to":{"type":"string","description":"The details of the new value.","readOnly":true},"toString":{"type":"string","description":"The details of the new value as a string.","readOnly":true}},"additionalProperties":false,"description":"A change item."},"Changelog":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the changelog.","readOnly":true},"author":{"description":"The user who made the change.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The date on which the change took place.","format":"date-time","readOnly":true},"items":{"type":"array","description":"The list of items changed.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangeDetails"}},"historyMetadata":{"description":"The history metadata associated with the changed.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/HistoryMetadata"}]}},"additionalProperties":false,"description":"A changelog."},"IncludedFields":{"type":"object","properties":{"actuallyIncluded":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"excluded":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"included":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},"additionalProperties":false},"IssueBean":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional issue details in the response.","readOnly":true,"xml":{"attribute":true}},"id":{"type":"string","description":"The ID of the issue.","readOnly":true},"self":{"type":"string","description":"The URL of the issue details.","format":"uri","readOnly":true},"key":{"type":"string","description":"The key of the issue.","readOnly":true},"renderedFields":{"type":"object","additionalProperties":{"readOnly":true},"description":"The rendered value of each field present on the issue.","readOnly":true},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Details of the issue properties identified in the request.","readOnly":true},"names":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"The ID and name of each field present on the issue.","readOnly":true},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonTypeBean"},"description":"The schema describing each field present on the issue.","readOnly":true},"transitions":{"type":"array","description":"The transitions that can be performed on the issue.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTransition"}},"operations":{"description":"The operations that can be performed on the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Operations"}]},"editmeta":{"description":"The metadata for the fields on the issue that can be amended.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/IssueUpdateMetadata"}]},"changelog":{"description":"Details of changelogs associated with the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/PageOfChangelogs"}]},"versionedRepresentations":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"readOnly":true},"readOnly":true},"description":"The versions of each field on the issue.","readOnly":true},"fieldsToInclude":{"$ref":"#/components/schemas/IncludedFields"},"fields":{"type":"object","additionalProperties":{}}},"additionalProperties":false,"description":"Details about an issue.","xml":{"name":"issue"}},"IssueUpdateMetadata":{"type":"object","properties":{"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"readOnly":true}},"description":"A list of editable field details."},"LinkGroup":{"type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"header":{"$ref":"#/components/schemas/SimpleLink"},"weight":{"type":"integer","format":"int32"},"links":{"type":"array","items":{"$ref":"#/components/schemas/SimpleLink"}},"groups":{"type":"array","items":{"$ref":"#/components/schemas/LinkGroup"}}},"additionalProperties":false,"description":"Details a link group, which defines issue operations."},"Operations":{"type":"object","properties":{"linkGroups":{"type":"array","description":"Details of the link groups defining issue operations.","readOnly":true,"items":{"$ref":"#/components/schemas/LinkGroup"}}},"additionalProperties":true,"description":"Details of the operations that can be performed on the issue."},"PageOfChangelogs":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"histories":{"type":"array","description":"The list of changelogs.","readOnly":true,"items":{"$ref":"#/components/schemas/Changelog"}}},"additionalProperties":false,"description":"A page of changelogs."},"Watchers":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue watcher details.","readOnly":true},"isWatching":{"type":"boolean","description":"Whether the calling user is watching this issue.","readOnly":true},"watchCount":{"type":"integer","description":"The number of users watching this issue.","format":"int32","readOnly":true},"watchers":{"type":"array","description":"Details of the users watching this issue.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}}},"additionalProperties":false,"description":"The details of watchers on an issue.","xml":{"name":"watchers"}},"CreatedIssue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the created issue or subtask.","readOnly":true},"key":{"type":"string","description":"The key of the created issue or subtask.","readOnly":true},"self":{"type":"string","description":"The URL of the created issue or subtask.","readOnly":true},"transition":{"description":"The response code and messages related to any requested transition.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/NestedResponse"}]}},"additionalProperties":false,"description":"Details about a created issue or subtask."},"NestedResponse":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"errorCollection":{"$ref":"#/components/schemas/ErrorCollection"}},"additionalProperties":false},"IssuesUpdateBean":{"type":"object","properties":{"issueUpdates":{"type":"array","items":{"$ref":"#/components/schemas/IssueUpdateDetails"}}},"additionalProperties":true},"BulkOperationErrorResult":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"elementErrors":{"$ref":"#/components/schemas/ErrorCollection"},"failedElementNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"CreatedIssues":{"type":"object","properties":{"issues":{"type":"array","description":"Details of the issues created.","readOnly":true,"items":{"$ref":"#/components/schemas/CreatedIssue"}},"errors":{"type":"array","description":"Error details for failed issue creation requests.","readOnly":true,"items":{"$ref":"#/components/schemas/BulkOperationErrorResult"}}},"additionalProperties":false,"description":"Details about the issues created and the errors for requests that failed."},"IssueCreateMetadata":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project details in the response.","readOnly":true,"xml":{"attribute":true}},"projects":{"type":"array","description":"List of projects and their issue creation metadata.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueCreateMetadata"}}},"additionalProperties":false,"description":"The wrapper for the issue creation metadata for a list of projects."},"IssueTypeIssueCreateMetadata":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue type details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"description":{"type":"string","description":"The description of the issue type.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type is used to create subtasks.","readOnly":true},"avatarId":{"type":"integer","description":"The ID of the issue type's avatar.","format":"int64","readOnly":true},"entityId":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"hierarchyLevel":{"type":"integer","description":"Hierarchy level of the issue type.","format":"int32","readOnly":true},"scope":{"description":"Details of the next-gen projects the issue type is available in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"expand":{"type":"string","description":"Expand options that include additional issue type metadata details in the response.","readOnly":true,"xml":{"attribute":true}},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"List of the fields available when creating an issue for the issue type.","readOnly":true}},"additionalProperties":false,"description":"Details of the issue creation metadata for an issue type."},"ProjectIssueCreateMetadata":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project issue create metadata details in the response.","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the project.","readOnly":true},"id":{"type":"string","description":"The ID of the project.","readOnly":true},"key":{"type":"string","description":"The key of the project.","readOnly":true},"name":{"type":"string","description":"The name of the project.","readOnly":true},"avatarUrls":{"description":"List of the project's avatars, returning the avatar size and associated URL.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"issuetypes":{"type":"array","description":"List of the issue types supported by the project.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeIssueCreateMetadata"}}},"additionalProperties":false,"description":"Details of the issue creation metadata for a project."},"Application":{"type":"object","properties":{"type":{"type":"string","description":"The name-spaced type of the application, used by registered rendering apps."},"name":{"type":"string","description":"The name of the application. Used in conjunction with the (remote) object icon title to display a tooltip for the link's icon. The tooltip takes the format \"\\[application name\\] icon title\". Blank items are excluded from the tooltip title. If both items are blank, the icon tooltop displays as \"Web Link\". Grouping and sorting of links may place links without an application name last."}},"additionalProperties":true,"description":"The application the linked item is in."},"IconBean":{"type":"object","properties":{"url16x16":{"type":"string","description":"The URL of a 16x16 pixel icon."},"title":{"type":"string","description":"The title of the icon, for use as a tooltip on the icon."},"link":{"type":"string","description":"The URL of the tooltip, used only for a status icon."}},"additionalProperties":false,"description":"An icon.","xml":{"name":"icon"}},"RemoteIssueLink":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the link.","format":"int64"},"self":{"type":"string","description":"The URL of the link.","format":"uri"},"globalId":{"type":"string","description":"The global ID of the link, such as the ID of the item on the remote system."},"application":{"description":"Details of the remote application the linked item is in.","allOf":[{"$ref":"#/components/schemas/Application"}]},"relationship":{"type":"string","description":"Description of the relationship between the issue and the linked item."},"object":{"description":"Details of the item linked to.","allOf":[{"$ref":"#/components/schemas/RemoteObject"}]}},"additionalProperties":false,"description":"Details of an issue remote link."},"RemoteObject":{"required":["title","url"],"type":"object","properties":{"url":{"type":"string","description":"The URL of the item."},"title":{"type":"string","description":"The title of the item."},"summary":{"type":"string","description":"The summary details of the item."},"icon":{"description":"Details of the icon for the item. If no icon is defined, the default link icon is used in Jira.","allOf":[{"$ref":"#/components/schemas/Icon"}]},"status":{"description":"The status of the item.","allOf":[{"$ref":"#/components/schemas/Status"}]}},"additionalProperties":true,"description":"The linked item."},"Status":{"type":"object","properties":{"resolved":{"type":"boolean","description":"Whether the item is resolved. If set to \"true\", the link to the issue is displayed in a strikethrough font, otherwise the link displays in normal font."},"icon":{"description":"Details of the icon representing the status. If not provided, no status icon displays in Jira.","allOf":[{"$ref":"#/components/schemas/Icon"}]}},"additionalProperties":true,"description":"The status of the item."},"Icon":{"type":"object","properties":{"url16x16":{"type":"string","description":"The URL of an icon that displays at 16x16 pixel in Jira."},"title":{"type":"string","description":"The title of the icon. This is used as follows:\n\n * For a status icon it is used as a tooltip on the icon. If not set, the status icon doesn't display a tooltip in Jira.\n * For the remote object icon it is used in conjunction with the application name to display a tooltip for the link's icon. The tooltip takes the format \"\\[application name\\] icon title\". Blank itemsare excluded from the tooltip title. If both items are blank, the icon tooltop displays as \"Web Link\"."},"link":{"type":"string","description":"The URL of the tooltip, used only for a status icon. If not set, the status icon in Jira is not clickable."}},"additionalProperties":true,"description":"An icon. If no icon is defined:\n\n * for a status icon, no status icon displays in Jira.\n * for the remote object icon, the default link icon displays in Jira."},"RemoteIssueLinkRequest":{"required":["object"],"type":"object","properties":{"globalId":{"type":"string","description":"An identifier for the remote item in the remote system. For example, the global ID for a remote item in Confluence would consist of the app ID and page ID, like this: `appId=456&pageId=123`.\n\nSetting this field enables the remote issue link details to be updated or deleted using remote system and item details as the record identifier, rather than using the record's Jira ID.\n\nThe maximum length is 255 characters."},"application":{"description":"Details of the remote application the linked item is in. For example, trello.","allOf":[{"$ref":"#/components/schemas/Application"}]},"relationship":{"type":"string","description":"Description of the relationship between the issue and the linked item. If not set, the relationship description \"links to\" is used in Jira."},"object":{"description":"Details of the item linked to.","allOf":[{"$ref":"#/components/schemas/RemoteObject"}]}},"additionalProperties":true,"description":"Details of a remote issue link."},"RemoteIssueLinkIdentifies":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the remote issue link, such as the ID of the item on the remote system.","format":"int64","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the remote issue link.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false,"description":"Details of the identifiers for a created or updated remote issue link."},"Notification":{"type":"object","properties":{"subject":{"type":"string","description":"The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary."},"textBody":{"type":"string","description":"The plain text body of the email notification for the issue."},"htmlBody":{"type":"string","description":"The HTML body of the email notification for the issue."},"to":{"description":"The recipients of the email notification for the issue.","allOf":[{"$ref":"#/components/schemas/NotificationRecipients"}]},"restrict":{"description":"Restricts the notifications to users with the specified permissions.","allOf":[{"$ref":"#/components/schemas/NotificationRecipientsRestrictions"}]}},"additionalProperties":true,"description":"Details about a notification."},"NotificationRecipients":{"type":"object","properties":{"reporter":{"type":"boolean","description":"Whether the notification should be sent to the issue's reporter."},"assignee":{"type":"boolean","description":"Whether the notification should be sent to the issue's assignees."},"watchers":{"type":"boolean","description":"Whether the notification should be sent to the issue's watchers."},"voters":{"type":"boolean","description":"Whether the notification should be sent to the issue's voters."},"users":{"type":"array","description":"List of users to receive the notification.","items":{"$ref":"#/components/schemas/UserDetails"}},"groups":{"type":"array","description":"List of groups to receive the notification.","items":{"$ref":"#/components/schemas/GroupName"}}},"additionalProperties":true,"description":"Details of the users and groups to receive the notification."},"NotificationRecipientsRestrictions":{"type":"object","properties":{"groups":{"type":"array","description":"List of group memberships required to receive the notification.","items":{"$ref":"#/components/schemas/GroupName"}},"permissions":{"type":"array","description":"List of permissions required to receive the notification.","items":{"$ref":"#/components/schemas/RestrictedPermission"}}},"additionalProperties":false,"description":"Details of the group membership or permissions needed to receive the notification."},"RestrictedPermission":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-2-permissions-get) to get the list of permissions."},"key":{"type":"string","description":"The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-2-permissions-get) to get the list of permissions."}},"additionalProperties":true,"description":"Details of the permission."},"IssueLinkTypes":{"type":"object","properties":{"issueLinkTypes":{"type":"array","description":"The issue link type bean.","readOnly":true,"xml":{"name":"issueLinkTypes"},"items":{"$ref":"#/components/schemas/IssueLinkType"}}},"additionalProperties":false,"description":"A list of issue link type beans.","xml":{"name":"issueLinkTypes"}},"PageOfComments":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"comments":{"type":"array","description":"The list of comments.","readOnly":true,"items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":true,"description":"A page of comments."},"PaginatedResponseComment":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"startAt":{"type":"integer","format":"int64"},"maxResults":{"type":"integer","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":false},"IssueCommentListRequestBean":{"required":["ids"],"type":"object","properties":{"ids":{"uniqueItems":true,"type":"array","description":"The list of comment IDs. A maximum of 1000 IDs can be specified.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false},"PageBeanComment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanChangelog":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Changelog"}}},"additionalProperties":false,"description":"A page of items."},"IssueChangelogIds":{"required":["changelogIds"],"type":"object","properties":{"changelogIds":{"uniqueItems":true,"type":"array","description":"The list of changelog IDs.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false,"description":"A list of changelog IDs."},"Attachment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the attachment details response.","readOnly":true},"id":{"type":"string","description":"The ID of the attachment.","readOnly":true},"filename":{"type":"string","description":"The file name of the attachment.","readOnly":true},"author":{"description":"Details of the user who added the attachment.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The datetime the attachment was created.","format":"date-time","readOnly":true},"size":{"type":"integer","description":"The size of the attachment.","format":"int64","readOnly":true},"mimeType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true},"content":{"type":"string","description":"The content of the attachment.","readOnly":true},"thumbnail":{"type":"string","description":"The URL of a thumbnail representing the attachment.","readOnly":true}},"additionalProperties":true,"description":"Details about an attachment."},"Group":{"type":"object","properties":{"name":{"type":"string","description":"The name of group."},"self":{"type":"string","description":"The URL for these group details.","format":"uri","readOnly":true},"users":{"description":"A paginated list of the users that are members of the group. A maximum of 50 users is returned in the list, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 50 users, use`?expand=users[51:100]`.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/PagedListUserDetailsApplicationUser"}]},"expand":{"type":"string","description":"Expand options that include additional group details in the response.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false},"PagedListUserDetailsApplicationUser":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40."},"PageBeanUserDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}}},"additionalProperties":false,"description":"A page of items."},"AddGroupBean":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the group."}},"additionalProperties":true},"UpdateUserToGroupBean":{"type":"object","properties":{"name":{"type":"string","description":"This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."}},"additionalProperties":true},"FoundGroup":{"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"html":{"type":"string","description":"The group name with the matched query string highlighted with the HTML bold tag."},"labels":{"type":"array","items":{"$ref":"#/components/schemas/GroupLabel"}},"groupId":{"type":"string","description":"The ID of the group, if available, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*."}},"additionalProperties":false,"description":"A group found in a search.","xml":{"name":"group"}},"FoundGroups":{"type":"object","properties":{"header":{"type":"string","description":"Header text indicating the number of groups in the response and the total number of groups found in the search."},"total":{"type":"integer","description":"The total number of groups found in the search.","format":"int32"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/FoundGroup"}}},"additionalProperties":false,"description":"The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.","xml":{"name":"groupsuggestions"}},"GroupLabel":{"type":"object","properties":{"text":{"type":"string","description":"The group label name."},"title":{"type":"string","description":"The title of the group label."},"type":{"type":"string","description":"The type of the group label.","enum":["ADMIN","SINGLE","MULTIPLE"]}},"additionalProperties":false,"description":"A group label.","xml":{"name":"grouplabel"}},"FoundUsersAndGroups":{"type":"object","properties":{"users":{"$ref":"#/components/schemas/FoundUsers"},"groups":{"$ref":"#/components/schemas/FoundGroups"}},"additionalProperties":false,"description":"List of users and groups found in a search."},"FieldDetails":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the field."},"key":{"type":"string","description":"The key of the field."},"name":{"type":"string","description":"The name of the field."},"custom":{"type":"boolean","description":"Whether the field is a custom field."},"orderable":{"type":"boolean","description":"Whether the content of the field can be used to order lists."},"navigable":{"type":"boolean","description":"Whether the field can be used as a column on the issue navigator."},"searchable":{"type":"boolean","description":"Whether the content of the field can be searched."},"clauseNames":{"uniqueItems":true,"type":"array","description":"The names that can be used to reference the field in an advanced search. For more information, see [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ).","items":{"type":"string"}},"scope":{"description":"The scope of the field.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"schema":{"description":"The data schema for the field.","allOf":[{"$ref":"#/components/schemas/JsonTypeBean"}]}},"additionalProperties":false,"description":"Details about a field.","xml":{"name":"field"}},"CustomFieldDefinitionJsonBean":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string","description":"The name of the custom field, which is displayed in Jira. This is not the unique identifier."},"description":{"type":"string","description":"The description of the custom field, which is displayed in Jira."},"type":{"type":"string","description":"The type of the custom field. These built-in custom field types are available:\n\n * `cascadingselect`: Enables values to be selected from two levels of select lists (value: `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`)\n * `datepicker`: Stores a date using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`)\n * `datetime`: Stores a date with a time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`)\n * `float`: Stores and validates a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`)\n * `grouppicker`: Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`)\n * `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value: `com.atlassian.jira.plugin.system.customfieldtypes:importid`)\n * `labels`: Stores labels (value: `com.atlassian.jira.plugin.system.customfieldtypes:labels`)\n * `multicheckboxes`: Stores multiple values using checkboxes (value: ``)\n * `multigrouppicker`: Stores multiple user groups using a picker control (value: ``)\n * `multiselect`: Stores multiple values using a select list (value: `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`)\n * `multiuserpicker`: Stores multiple users using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`)\n * `multiversion`: Stores multiple versions from the versions available in a project using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`)\n * `project`: Stores a project from a list of projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`)\n * `radiobuttons`: Stores a value using radio buttons (value: `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`)\n * `readonlyfield`: Stores a read-only text value, which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`)\n * `select`: Stores a value from a configurable list of options (value: `com.atlassian.jira.plugin.system.customfieldtypes:select`)\n * `textarea`: Stores a long text string using a multiline text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`)\n * `textfield`: Stores a text string using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`)\n * `url`: Stores a URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`)\n * `userpicker`: Stores a user using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`)\n * `version`: Stores a version using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`)\n\nTo create a field based on a [Forge custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-), use the ID of the Forge custom field type as the value. For example, `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`."},"searcherKey":{"type":"string","description":"The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. \nThe search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown):\n\n * `cascadingselect`: `cascadingselectsearcher`\n * `datepicker`: `daterange`\n * `datetime`: `datetimerange`\n * `float`: `exactnumber` or `numberrange`\n * `grouppicker`: `grouppickersearcher`\n * `importid`: `exactnumber` or `numberrange`\n * `labels`: `labelsearcher`\n * `multicheckboxes`: `multiselectsearcher`\n * `multigrouppicker`: `multiselectsearcher`\n * `multiselect`: `multiselectsearcher`\n * `multiuserpicker`: `userpickergroupsearcher`\n * `multiversion`: `versionsearcher`\n * `project`: `projectsearcher`\n * `radiobuttons`: `multiselectsearcher`\n * `readonlyfield`: `textsearcher`\n * `select`: `multiselectsearcher`\n * `textarea`: `textsearcher`\n * `textfield`: `textsearcher`\n * `url`: `exacttextsearcher`\n * `userpicker`: `userpickergroupsearcher`\n * `version`: `versionsearcher`\n\nIf no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable.","enum":["com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:daterange","com.atlassian.jira.plugin.system.customfieldtypes:datetimerange","com.atlassian.jira.plugin.system.customfieldtypes:exactnumber","com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher","com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher","com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:numberrange","com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:textsearcher","com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher","com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher"]}},"additionalProperties":false},"UpdateCustomFieldDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters."},"description":{"type":"string","description":"The description of the custom field. The maximum length is 40000 characters."},"searcherKey":{"type":"string","description":"The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown):\n\n * `cascadingselect`: `cascadingselectsearcher`\n * `datepicker`: `daterange`\n * `datetime`: `datetimerange`\n * `float`: `exactnumber` or `numberrange`\n * `grouppicker`: `grouppickersearcher`\n * `importid`: `exactnumber` or `numberrange`\n * `labels`: `labelsearcher`\n * `multicheckboxes`: `multiselectsearcher`\n * `multigrouppicker`: `multiselectsearcher`\n * `multiselect`: `multiselectsearcher`\n * `multiuserpicker`: `userpickergroupsearcher`\n * `multiversion`: `versionsearcher`\n * `project`: `projectsearcher`\n * `radiobuttons`: `multiselectsearcher`\n * `readonlyfield`: `textsearcher`\n * `select`: `multiselectsearcher`\n * `textarea`: `textsearcher`\n * `textfield`: `textsearcher`\n * `url`: `exacttextsearcher`\n * `userpicker`: `userpickergroupsearcher`\n * `version`: `versionsearcher`","enum":["com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:daterange","com.atlassian.jira.plugin.system.customfieldtypes:datetimerange","com.atlassian.jira.plugin.system.customfieldtypes:exactnumber","com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher","com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher","com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:numberrange","com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:textsearcher","com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher","com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher"]}},"additionalProperties":false,"description":"Details of a custom field.","writeOnly":true},"PageBeanScreenWithTab":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ScreenWithTab"}}},"additionalProperties":false,"description":"A page of items."},"ScreenWithTab":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen.","readOnly":true},"description":{"type":"string","description":"The description of the screen.","readOnly":true},"scope":{"description":"The scope of the screen.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"tab":{"description":"The tab for the screen.","allOf":[{"$ref":"#/components/schemas/ScreenableTab"}]}},"additionalProperties":false,"description":"A screen with tab details."},"Context":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the context.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the context.","readOnly":true},"scope":{"description":"The scope of the context.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"A context."},"PageBeanContext":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Context"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContextOption":{"required":["disabled","id","value"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the custom field option."},"value":{"type":"string","description":"The value of the custom field option."},"optionId":{"type":"string","description":"For cascading options, the ID of the custom field option containing the cascading option."},"disabled":{"type":"boolean","description":"Whether the option is disabled."}},"additionalProperties":false,"description":"Details of the custom field options for a context."},"PageBeanCustomFieldContextOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContextOption"}}},"additionalProperties":false,"description":"A page of items."},"BulkCustomFieldOptionCreateRequest":{"type":"object","properties":{"options":{"type":"array","description":"Details of options to create.","items":{"$ref":"#/components/schemas/CustomFieldOptionCreate"}}},"additionalProperties":false,"description":"Details of the options to create for a custom field.","writeOnly":true},"CustomFieldOptionCreate":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the custom field option."},"optionId":{"type":"string","description":"For cascading options, the ID of the custom field object containing the cascading option."},"disabled":{"type":"boolean","description":"Whether the option is disabled."}},"additionalProperties":false,"description":"Details of a custom field option to create."},"CustomFieldCreatedContextOptionsList":{"type":"object","properties":{"options":{"type":"array","description":"The created custom field options.","items":{"$ref":"#/components/schemas/CustomFieldContextOption"}}},"additionalProperties":false,"description":"A list of custom field options for a context."},"OrderOfCustomFieldOptions":{"required":["customFieldOptionIds"],"type":"object","properties":{"customFieldOptionIds":{"type":"array","description":"A list of IDs of custom field options to move. The order of the custom field option IDs in the list is the order they are given after the move. The list must contain custom field options or cascading options, but not both.","writeOnly":true,"items":{"type":"string","writeOnly":true}},"after":{"type":"string","description":"The ID of the custom field option or cascading option to place the moved options after. Required if `position` isn't provided.","writeOnly":true},"position":{"type":"string","description":"The position the custom field options should be moved to. Required if `after` isn't provided.","writeOnly":true,"enum":["First","Last"]}},"additionalProperties":false,"description":"An ordered list of custom field option IDs and information on where to move them."},"BulkCustomFieldOptionUpdateRequest":{"type":"object","properties":{"options":{"type":"array","description":"Details of the options to update.","items":{"$ref":"#/components/schemas/CustomFieldOptionUpdate"}}},"additionalProperties":false,"description":"Details of the options to update for a custom field.","writeOnly":true},"CustomFieldOptionUpdate":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the custom field option."},"value":{"type":"string","description":"The value of the custom field option."},"disabled":{"type":"boolean","description":"Whether the option is disabled."}},"additionalProperties":false,"description":"Details of a custom field option for a context."},"CustomFieldUpdatedContextOptionsList":{"type":"object","properties":{"options":{"type":"array","description":"The updated custom field options.","items":{"$ref":"#/components/schemas/CustomFieldOptionUpdate"}}},"additionalProperties":false,"description":"A list of custom field options for a context."},"ComponentIssuesCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL for this count of issues for a component.","format":"uri","readOnly":true},"issueCount":{"type":"integer","description":"The count of issues assigned to a component.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Count of issues assigned to a component.","xml":{"name":"component"}},"SystemAvatars":{"type":"object","properties":{"system":{"type":"array","description":"A list of avatar details.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"List of system avatars."},"ChangedWorklog":{"type":"object","properties":{"worklogId":{"type":"integer","description":"The ID of the worklog.","format":"int64","readOnly":true},"updatedTime":{"type":"integer","description":"The datetime of the change.","format":"int64","readOnly":true},"properties":{"type":"array","description":"Details of properties associated with the change.","readOnly":true,"items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":false,"description":"Details of a changed worklog."},"ChangedWorklogs":{"type":"object","properties":{"values":{"type":"array","description":"Changed worklog list.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangedWorklog"}},"since":{"type":"integer","description":"The datetime of the first worklog item in the list.","format":"int64","readOnly":true},"until":{"type":"integer","description":"The datetime of the last worklog item in the list.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of this changed worklogs list.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"The URL of the next list of changed worklogs.","format":"uri","readOnly":true},"lastPage":{"type":"boolean"}},"additionalProperties":false,"description":"List of changed worklogs."},"WorklogIdsRequestBean":{"required":["ids"],"type":"object","properties":{"ids":{"uniqueItems":true,"type":"array","description":"A list of worklog IDs.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false},"CustomFieldOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these custom field option details.","format":"uri","readOnly":true},"value":{"type":"string","description":"The value of the custom field option.","readOnly":true}},"additionalProperties":false,"description":"Details of a custom option for a field.","xml":{"name":"customFieldOption"}},"CustomFieldContextProjectMapping":{"required":["contextId"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context.","readOnly":true},"projectId":{"type":"string","description":"The ID of the project.","readOnly":true},"isGlobalContext":{"type":"boolean","description":"Whether context is global.","readOnly":true}},"additionalProperties":false,"description":"Details of a context to project association."},"PageBeanCustomFieldContextProjectMapping":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContextProjectMapping"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContext":{"required":["description","id","isAnyIssueType","isGlobalContext","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the context."},"name":{"type":"string","description":"The name of the context."},"description":{"type":"string","description":"The description of the context."},"isGlobalContext":{"type":"boolean","description":"Whether the context is global."},"isAnyIssueType":{"type":"boolean","description":"Whether the context apply to all issue types."}},"additionalProperties":false,"description":"The details of a custom field context."},"PageBeanCustomFieldContext":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContext"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContextDefaultValue":{"type":"object","additionalProperties":false,"discriminator":{"propertyName":"type","mapping":{"option.cascading":"#/components/schemas/CustomFieldContextDefaultValueCascadingOption","option.multiple":"#/components/schemas/CustomFieldContextDefaultValueMultipleOption","option.single":"#/components/schemas/CustomFieldContextDefaultValueSingleOption"}},"oneOf":[{"$ref":"#/components/schemas/CustomFieldContextDefaultValueCascadingOption"},{"$ref":"#/components/schemas/CustomFieldContextDefaultValueMultipleOption"},{"$ref":"#/components/schemas/CustomFieldContextDefaultValueSingleOption"}]},"CustomFieldContextDefaultValueCascadingOption":{"required":["contextId","optionId","type"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context."},"optionId":{"type":"string","description":"The ID of the default option."},"cascadingOptionId":{"type":"string","description":"The ID of the default cascading option."},"type":{"type":"string"}},"description":"Default value for a cascading select custom field."},"CustomFieldContextDefaultValueMultipleOption":{"required":["contextId","optionIds","type"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context."},"optionIds":{"type":"array","description":"The list of IDs of the default options.","items":{"type":"string","description":"The list of IDs of the default options."}},"type":{"type":"string"}},"description":"Default value for a multi-select custom field."},"CustomFieldContextDefaultValueSingleOption":{"required":["contextId","optionId","type"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context."},"optionId":{"type":"string","description":"The ID of the default option."},"type":{"type":"string"}},"description":"Default value for a single select custom field."},"PageBeanCustomFieldContextDefaultValue":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContextDefaultValue"}}},"additionalProperties":false,"description":"A page of items."},"CreateCustomFieldContext":{"required":["name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the context.","readOnly":true},"name":{"type":"string","description":"The name of the context."},"description":{"type":"string","description":"The description of the context."},"projectIds":{"type":"array","description":"The list of project IDs associated with the context. If the list is empty, the context is global.","items":{"type":"string"}},"issueTypeIds":{"type":"array","description":"The list of issue types IDs for the context. If the list is empty, the context refers to all issue types.","items":{"type":"string"}}},"additionalProperties":false,"description":"The details of a created custom field context."},"ProjectIds":{"required":["projectIds"],"type":"object","properties":{"projectIds":{"type":"array","description":"The IDs of projects.","writeOnly":true,"items":{"type":"string","writeOnly":true}}},"additionalProperties":false,"description":"A list of project IDs."},"CustomFieldContextUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom field context. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the custom field context. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a custom field context."},"IssueTypeIds":{"required":["issueTypeIds"],"type":"object","properties":{"issueTypeIds":{"type":"array","description":"The list of issue type IDs.","writeOnly":true,"items":{"type":"string","writeOnly":true}}},"additionalProperties":false,"description":"The list of issue type IDs."},"ProjectIssueTypeMapping":{"required":["issueTypeId","projectId"],"type":"object","properties":{"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true},"issueTypeId":{"type":"string","description":"The ID of the issue type.","writeOnly":true}},"additionalProperties":false,"description":"The project and issue type mapping.","writeOnly":true},"ProjectIssueTypeMappings":{"required":["mappings"],"type":"object","properties":{"mappings":{"type":"array","description":"The project and issue type mappings.","writeOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueTypeMapping"}}},"additionalProperties":false,"description":"The project and issue type mappings."},"ContextForProjectAndIssueType":{"required":["contextId","issueTypeId","projectId"],"type":"object","properties":{"projectId":{"type":"string","description":"The ID of the project."},"issueTypeId":{"type":"string","description":"The ID of the issue type."},"contextId":{"type":"string","description":"The ID of the custom field context."}},"additionalProperties":false,"description":"The project and issue type mapping with a matching custom field context."},"PageBeanContextForProjectAndIssueType":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ContextForProjectAndIssueType"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContextDefaultValueUpdate":{"type":"object","properties":{"defaultValues":{"type":"array","items":{"$ref":"#/components/schemas/CustomFieldContextDefaultValue"}}},"additionalProperties":false,"description":"Default values to update."},"IssueTypeToContextMapping":{"required":["contextId"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context."},"issueTypeId":{"type":"string","description":"The ID of the issue type."},"isAnyIssueType":{"type":"boolean","description":"Whether the context is mapped to any issue type."}},"additionalProperties":false,"description":"Mapping of an issue type to a context."},"PageBeanIssueTypeToContextMapping":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeToContextMapping"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldValueUpdate":{"required":["issueIds","value"],"type":"object","properties":{"issueIds":{"type":"array","description":"The list of issue IDs.","writeOnly":true,"items":{"type":"integer","format":"int64","writeOnly":true}},"value":{"description":"The value for the custom field. The value must be compatible with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#data-types) as follows:\n\n * `string` – the value must be a string.\n * `number` – the value must be a number.\n * `datetime` – the value must be a string that represents a date in the ISO format, for example `\"2021-01-18T12:00:00-03:00\"`.\n * `user` – the value must be an object that contains the `accountId` field.\n * `group` – the value must be an object that contains the group `name` field.\n\nA list of appropriate values must be provided if the field is of the `list` [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#collection-types)."}},"additionalProperties":false,"description":"A list of issue IDs and the value to update a custom field to.","writeOnly":true},"CustomFieldValueUpdateRequest":{"type":"object","properties":{"updates":{"type":"array","description":"The list of custom field update details.","items":{"$ref":"#/components/schemas/CustomFieldValueUpdate"}}},"additionalProperties":false,"description":"Details of updates for a custom field.","writeOnly":true},"ContextualConfiguration":{"required":["contextId"],"type":"object","properties":{"contextId":{"type":"integer","description":"The ID of the context the configuration is associated with.","format":"int64"},"configuration":{"description":"The configuration associated with the context."},"schema":{"description":"The schema associated with the context."}},"additionalProperties":false,"description":"Details of the contextual configuration for a custom field."},"PageBeanContextualConfiguration":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ContextualConfiguration"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldConfigurations":{"required":["configurations"],"type":"object","properties":{"configurations":{"maxItems":1000,"minItems":1,"uniqueItems":true,"type":"array","description":"The list of custom field configuration details.","items":{"$ref":"#/components/schemas/ContextualConfiguration"}}},"additionalProperties":false,"description":"Details of configurations for a custom field.","writeOnly":true},"IssueTypeScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type scheme."},"name":{"type":"string","description":"The name of the issue type scheme."},"description":{"type":"string","description":"The description of the issue type scheme."},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme."},"isDefault":{"type":"boolean","description":"Whether the issue type scheme is the default."}},"additionalProperties":false,"description":"Details of an issue type scheme."},"PageBeanIssueTypeScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScheme"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeProjects":{"required":["issueTypeScheme","projectIds"],"type":"object","properties":{"issueTypeScheme":{"description":"Details of an issue type scheme.","allOf":[{"$ref":"#/components/schemas/IssueTypeScheme"}]},"projectIds":{"type":"array","description":"The IDs of the projects using the issue type scheme.","items":{"type":"string"}}},"additionalProperties":false,"description":"Issue type scheme with a list of the projects that use it."},"PageBeanIssueTypeSchemeProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeSchemeProjects"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeMapping":{"required":["issueTypeId","issueTypeSchemeId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type."}},"additionalProperties":false,"description":"Issue type scheme item."},"PageBeanIssueTypeSchemeMapping":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeSchemeMapping"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeProjectAssociation":{"required":["issueTypeSchemeId","projectId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Details of the association between an issue type scheme and project."},"IssueTypeSchemeDetails":{"required":["issueTypeIds","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type scheme. The maximum length is 4000 characters.","writeOnly":true},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme. This ID must be included in `issueTypeIds`.","writeOnly":true},"issueTypeIds":{"type":"array","description":"The list of issue types IDs of the issue type scheme. At least one standard issue type ID is required.","writeOnly":true,"items":{"type":"string","writeOnly":true}}},"additionalProperties":false,"description":"Details of an issue type scheme and its associated issue types."},"IssueTypeSchemeID":{"required":["issueTypeSchemeId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme.","readOnly":true}},"additionalProperties":false,"description":"The ID of an issue type scheme."},"IssueTypeSchemeUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type scheme. The maximum length is 4000 characters.","writeOnly":true},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme.","writeOnly":true}},"additionalProperties":false,"description":"Details of the name, description, and default issue type for an issue type scheme."},"OrderOfIssueTypes":{"required":["issueTypeIds"],"type":"object","properties":{"issueTypeIds":{"type":"array","description":"A list of the issue type IDs to move. The order of the issue type IDs in the list is the order they are given after the move.","writeOnly":true,"items":{"type":"string","writeOnly":true}},"after":{"type":"string","description":"The ID of the issue type to place the moved issue types after. Required if `position` isn't provided.","writeOnly":true},"position":{"type":"string","description":"The position the issue types should be moved to. Required if `after` isn't provided.","writeOnly":true,"enum":["First","Last"]}},"additionalProperties":false,"description":"An ordered list of issue type IDs and information about where to move them."},"GlobalScopeBean":{"type":"object","properties":{"attributes":{"uniqueItems":true,"type":"array","description":"Defines the behavior of the option in the global context.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false},"IssueFieldOption":{"required":["id","value"],"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier for the option. This is only unique within the select field's set of options.","format":"int64"},"value":{"type":"string","description":"The option's name, which is displayed in Jira."},"properties":{"type":"object","additionalProperties":{},"description":"The properties of the object, as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see [Issue Field Option Property Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)) are defined in the descriptor for the issue field module."},"config":{"$ref":"#/components/schemas/IssueFieldOptionConfiguration"}},"additionalProperties":false,"description":"Details of the options for a select list issue field."},"IssueFieldOptionConfiguration":{"type":"object","properties":{"scope":{"description":"Defines the projects that the option is available in. If the scope is not defined, then the option is available in all projects.","allOf":[{"$ref":"#/components/schemas/IssueFieldOptionScopeBean"}]},"attributes":{"uniqueItems":true,"type":"array","description":"DEPRECATED","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false,"description":"Details of the projects the option is available in."},"IssueFieldOptionScopeBean":{"type":"object","properties":{"projects":{"uniqueItems":true,"type":"array","description":"DEPRECATED","items":{"type":"integer","format":"int64"}},"projects2":{"uniqueItems":true,"type":"array","description":"Defines the projects in which the option is available and the behavior of the option within each project. Specify one object per project. The behavior of the option in a project context overrides the behavior in the global context.","items":{"$ref":"#/components/schemas/ProjectScopeBean"}},"global":{"description":"Defines the behavior of the option within the global context. If this property is set, even if set to an empty object, then the option is available in all projects.","allOf":[{"$ref":"#/components/schemas/GlobalScopeBean"}]}},"additionalProperties":false},"PageBeanIssueFieldOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueFieldOption"}}},"additionalProperties":false,"description":"A page of items."},"ProjectScopeBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project that the option's behavior applies to.","format":"int64"},"attributes":{"uniqueItems":true,"type":"array","description":"Defines the behavior of the option in the project.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false},"IssueFieldOptionCreateBean":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The option's name, which is displayed in Jira."},"properties":{"type":"object","additionalProperties":{},"description":"The properties of the option as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/) are defined in the descriptor for the issue field module."},"config":{"$ref":"#/components/schemas/IssueFieldOptionConfiguration"}},"additionalProperties":true},"RemoveOptionFromIssuesResult":{"type":"object","properties":{"modifiedIssues":{"type":"array","description":"The IDs of the modified issues.","items":{"type":"integer","format":"int64"}},"unmodifiedIssues":{"type":"array","description":"The IDs of the unchanged issues, those issues where errors prevent modification.","items":{"type":"integer","format":"int64"}},"errors":{"description":"A collection of errors related to unchanged issues. The collection size is limited, which means not all errors may be returned.","allOf":[{"$ref":"#/components/schemas/SimpleErrorCollection"}]}},"additionalProperties":false},"SimpleErrorCollection":{"type":"object","properties":{"errors":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of errors by parameter returned by the operation. For example,\"projectKey\": \"Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.\""},"errorMessages":{"type":"array","description":"The list of error messages produced by this operation. For example, \"input parameter 'key' must be provided\"","items":{"type":"string"}},"httpStatusCode":{"type":"integer","format":"int32"}},"additionalProperties":false},"TaskProgressBeanRemoveOptionFromIssuesResult":{"required":["elapsedRuntime","id","lastUpdate","progress","self","status","submitted","submittedBy"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the task.","format":"uri"},"id":{"type":"string","description":"The ID of the task."},"description":{"type":"string","description":"The description of the task."},"status":{"type":"string","description":"The status of the task.","enum":["ENQUEUED","RUNNING","COMPLETE","FAILED","CANCEL_REQUESTED","CANCELLED","DEAD"]},"message":{"type":"string","description":"Information about the progress of the task."},"result":{"description":"The result of the task execution.","allOf":[{"$ref":"#/components/schemas/RemoveOptionFromIssuesResult"}]},"submittedBy":{"type":"integer","description":"The ID of the user who submitted the task.","format":"int64"},"progress":{"type":"integer","description":"The progress of the task, as a percentage complete.","format":"int64"},"elapsedRuntime":{"type":"integer","description":"The execution time of the task, in milliseconds.","format":"int64"},"submitted":{"type":"integer","description":"A timestamp recording when the task was submitted.","format":"int64"},"started":{"type":"integer","description":"A timestamp recording when the task was started.","format":"int64"},"finished":{"type":"integer","description":"A timestamp recording when the task was finished.","format":"int64"},"lastUpdate":{"type":"integer","description":"A timestamp recording when the task progress was last updated.","format":"int64"}},"additionalProperties":false,"description":"Details about a task."},"Field":{"required":["id","name","schema"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field."},"name":{"type":"string","description":"The name of the field."},"schema":{"$ref":"#/components/schemas/JsonTypeBean"},"description":{"type":"string","description":"The description of the field."},"key":{"type":"string","description":"The key of the field."},"isLocked":{"type":"boolean","description":"Whether the field is locked."},"searcherKey":{"type":"string","description":"The searcher key of the field. Returned for custom fields."},"screensCount":{"type":"integer","description":"Number of screens where the field is used.","format":"int64"},"contextsCount":{"type":"integer","description":"Number of contexts where the field is used.","format":"int64"},"lastUsed":{"$ref":"#/components/schemas/FieldLastUsed"}},"additionalProperties":false,"description":"Details of a field."},"FieldLastUsed":{"type":"object","properties":{"type":{"type":"string","description":"Last used value type:\n\n * *TRACKED*: field is tracked and a last used date is available.\n * *NOT\\_TRACKED*: field is not tracked, last used date is not available.\n * *NO\\_INFORMATION*: field is tracked, but no last used date is available.","enum":["TRACKED","NOT_TRACKED","NO_INFORMATION"]},"value":{"type":"string","description":"The date when the value of the field last changed.","format":"date-time"}},"additionalProperties":false,"description":"Information about the most recent use of a field."},"PageBeanField":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Field"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field configuration scheme."},"name":{"type":"string","description":"The name of the field configuration scheme."},"description":{"type":"string","description":"The description of the field configuration scheme."}},"additionalProperties":false,"description":"Details of a field configuration scheme."},"PageBeanFieldConfigurationScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationScheme"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationIssueTypeItem":{"required":["fieldConfigurationId","fieldConfigurationSchemeId","issueTypeId"],"type":"object","properties":{"fieldConfigurationSchemeId":{"type":"string","description":"The ID of the field configuration scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. When set to *default* this field configuration issue type item applies to all issue types without a field configuration."},"fieldConfigurationId":{"type":"string","description":"The ID of the field configuration."}},"additionalProperties":false,"description":"The field configuration for an issue type."},"PageBeanFieldConfigurationIssueTypeItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationIssueTypeItem"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationSchemeProjects":{"required":["projectIds"],"type":"object","properties":{"fieldConfigurationScheme":{"$ref":"#/components/schemas/FieldConfigurationScheme"},"projectIds":{"type":"array","description":"The IDs of projects using the field configuration scheme.","items":{"type":"string","description":"The IDs of projects using the field configuration scheme."}}},"additionalProperties":false,"description":"Project list with assigned field configuration schema."},"PageBeanFieldConfigurationSchemeProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationSchemeProjects"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationSchemeProjectAssociation":{"required":["projectId"],"type":"object","properties":{"fieldConfigurationSchemeId":{"type":"string","description":"The ID of the field configuration scheme. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Associated field configuration scheme and project."},"FieldConfiguration":{"required":["description","id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the field configuration.","format":"int64"},"name":{"type":"string","description":"The name of the field configuration."},"description":{"type":"string","description":"The description of the field configuration."},"isDefault":{"type":"boolean","description":"Whether the field configuration is the default."}},"additionalProperties":false,"description":"Details of a field configuration."},"PageBeanFieldConfiguration":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfiguration"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationItem":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field within the field configuration."},"description":{"type":"string","description":"The description of the field within the field configuration."},"isHidden":{"type":"boolean","description":"Whether the field is hidden in the field configuration."},"isRequired":{"type":"boolean","description":"Whether the field is required in the field configuration."}},"additionalProperties":false,"description":"A field within a field configuration."},"PageBeanFieldConfigurationItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationItem"}}},"additionalProperties":false,"description":"A page of items."},"CreateUpdateRoleRequestBean":{"type":"object","properties":{"name":{"type":"string","description":"The name of the project role. Must be unique. Cannot begin or end with whitespace. The maximum length is 255 characters. Required when creating a project role. Optional when partially updating a project role."},"description":{"type":"string","description":"A description of the project role. Required when fully updating a project role. Optional when creating or partially updating a project role."}},"additionalProperties":false},"ActorInputBean":{"type":"object","properties":{"user":{"type":"array","description":"The account IDs of the users to add as default actors. This parameter accepts a comma-separated list. For example, `\"user\":[\"5b10a2844c20165700ede21g\", \"5b109f2e9729b51b54dc274d\"]`.","items":{"type":"string"}},"group":{"type":"array","description":"The name of the group to add as a default actor. This parameter accepts a comma-separated list. For example, `\"group\":[\"project-admin\", \"jira-developers\"]`.","items":{"type":"string"}}},"additionalProperties":false},"ProjectRoleActorsUpdateBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-2-role-get) to get a list of project role IDs.","format":"int64","readOnly":true},"categorisedActors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"The actors to add to the project role. Add groups using `atlassian-group-role-actor` and a list of group names. For example, `\"atlassian-group-role-actor\":[\"another\",\"administrators\"]}`. Add users using `atlassian-user-role-actor` and a list of account IDs. For example, `\"atlassian-user-role-actor\":[\"12345678-9abc-def1-2345-6789abcdef12\", \"abcdef12-3456-789a-bcde-f123456789ab\"]`."}},"additionalProperties":false,"xml":{"name":"actor"}},"ActorsMap":{"type":"object","properties":{"user":{"type":"array","description":"The user account ID of the user to add.","items":{"type":"string"}},"group":{"type":"array","description":"The name of the group to add.","items":{"type":"string"}}},"additionalProperties":false},"ProjectRoleDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL the project role details.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the project role."},"id":{"type":"integer","description":"The ID of the project role.","format":"int64","readOnly":true},"description":{"type":"string","description":"The description of the project role.","readOnly":true},"admin":{"type":"boolean","description":"Whether this role is the admin role for the project.","readOnly":true},"scope":{"description":"The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"roleConfigurable":{"type":"boolean","description":"Whether the roles are configurable for this project.","readOnly":true},"translatedName":{"type":"string","description":"The translated name of the project role."},"default":{"type":"boolean","description":"Whether this role is the default role for the project.","readOnly":true}},"additionalProperties":false,"description":"Details about a project role."},"IssueTypeScreenScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type screen scheme."},"name":{"type":"string","description":"The name of the issue type screen scheme."},"description":{"type":"string","description":"The description of the issue type screen scheme."}},"additionalProperties":false,"description":"Details of an issue type screen scheme."},"PageBeanIssueTypeScreenScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenScheme"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanScreenScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ScreenScheme"}}},"additionalProperties":false,"description":"A page of items."},"ScreenScheme":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen scheme.","format":"int64"},"name":{"type":"string","description":"The name of the screen scheme."},"description":{"type":"string","description":"The description of the screen scheme."},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme.","allOf":[{"$ref":"#/components/schemas/ScreenTypes"}]},"issueTypeScreenSchemes":{"description":"Details of the issue type screen schemes associated with the screen scheme.","allOf":[{"$ref":"#/components/schemas/PageBeanIssueTypeScreenScheme"}]}},"additionalProperties":false,"description":"A screen scheme."},"ScreenTypes":{"required":["defaultScreen"],"type":"object","properties":{"edit":{"type":"integer","description":"The ID of the edit screen.","format":"int64"},"create":{"type":"integer","description":"The ID of the create screen.","format":"int64"},"view":{"type":"integer","description":"The ID of the view screen.","format":"int64"},"default":{"type":"integer","description":"The ID of the default screen. Required when creating a screen scheme.","format":"int64"}},"additionalProperties":false,"description":"The IDs of the screens for the screen types of the screen scheme.","writeOnly":true},"ScreenSchemeDetails":{"required":["name","screens"],"type":"object","properties":{"name":{"type":"string","description":"The name of the screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen scheme. The maximum length is 255 characters.","writeOnly":true},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.","allOf":[{"$ref":"#/components/schemas/ScreenTypes"}]}},"additionalProperties":false,"description":"Details of a screen scheme."},"ScreenSchemeId":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen scheme.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"The ID of a screen scheme."},"UpdateScreenSchemeDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen scheme. The maximum length is 255 characters.","writeOnly":true},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.","allOf":[{"$ref":"#/components/schemas/UpdateScreenTypes"}]}},"additionalProperties":false,"description":"Details of a screen scheme."},"UpdateScreenTypes":{"type":"object","properties":{"edit":{"type":"string","description":"The ID of the edit screen. To remove the screen association, pass a null.","writeOnly":true},"create":{"type":"string","description":"The ID of the create screen. To remove the screen association, pass a null.","writeOnly":true},"view":{"type":"string","description":"The ID of the view screen. To remove the screen association, pass a null.","writeOnly":true},"default":{"type":"string","description":"The ID of the default screen. When specified, must include a screen ID as a default screen is required.","writeOnly":true}},"additionalProperties":false,"description":"The IDs of the screens for the screen types of the screen scheme.","writeOnly":true},"IssueTypeScreenSchemeItem":{"required":["issueTypeId","issueTypeScreenSchemeId","screenSchemeId"],"type":"object","properties":{"issueTypeScreenSchemeId":{"type":"string","description":"The ID of the issue type screen scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. Only issue types used in classic projects are accepted. When creating an issue screen scheme, an entry for *default* must be provided and defines the mapping for all issue types without a screen scheme. Otherwise, a *default* entry can't be provided."},"screenSchemeId":{"type":"string","description":"The ID of the screen scheme."}},"additionalProperties":false,"description":"The screen scheme for an issue type."},"PageBeanIssueTypeScreenSchemeItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeItem"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeScreenSchemesProjects":{"required":["issueTypeScreenScheme","projectIds"],"type":"object","properties":{"issueTypeScreenScheme":{"description":"Details of an issue type screen scheme.","allOf":[{"$ref":"#/components/schemas/IssueTypeScreenScheme"}]},"projectIds":{"type":"array","description":"The IDs of the projects using the issue type screen scheme.","items":{"type":"string"}}},"additionalProperties":false,"description":"Issue type screen scheme with a list of the projects that use it."},"PageBeanIssueTypeScreenSchemesProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemesProjects"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanProjectDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectDetails"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeScreenSchemeProjectAssociation":{"type":"object","properties":{"issueTypeScreenSchemeId":{"type":"string","description":"The ID of the issue type screen scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Associated issue type screen scheme and project."},"IssueTypeScreenSchemeDetails":{"required":["issueTypeMappings","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type screen scheme. The maximum length is 255 characters.","writeOnly":true},"issueTypeMappings":{"type":"array","description":"The IDs of the screen schemes for the issue type IDs and *default*. A *default* entry is required to create an issue type screen scheme, it defines the mapping for all issue types without a screen scheme.","writeOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeMapping"}}},"additionalProperties":false,"description":"The details of an issue type screen scheme."},"IssueTypeScreenSchemeMapping":{"required":["issueTypeId","screenSchemeId"],"type":"object","properties":{"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. Only issue types used in classic projects are accepted. An entry for *default* must be provided and defines the mapping for all issue types without a screen scheme.","writeOnly":true},"screenSchemeId":{"type":"string","description":"The ID of the screen scheme. Only screen schemes used in classic projects are accepted.","writeOnly":true}},"additionalProperties":false,"description":"The IDs of the screen schemes for the issue type IDs.","writeOnly":true},"IssueTypeScreenSchemeId":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type screen scheme.","readOnly":true}},"additionalProperties":false,"description":"The ID of an issue type screen scheme."},"IssueTypeScreenSchemeUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type screen scheme. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of an issue type screen scheme."},"IssueTypeScreenSchemeMappingDetails":{"required":["issueTypeMappings"],"type":"object","properties":{"issueTypeMappings":{"type":"array","description":"The list of issue type to screen scheme mappings. A *default* entry cannot be specified because a default entry is added when an issue type screen scheme is created.","writeOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeMapping"}}},"additionalProperties":false,"description":"A list of issue type screen scheme mappings."},"UpdateDefaultScreenScheme":{"required":["screenSchemeId"],"type":"object","properties":{"screenSchemeId":{"type":"string","description":"The ID of the screen scheme.","writeOnly":true}},"additionalProperties":false,"description":"The ID of a screen scheme."},"AttachmentMetadata":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the attachment.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the attachment metadata details.","format":"uri","readOnly":true},"filename":{"type":"string","description":"The name of the attachment file.","readOnly":true},"author":{"description":"Details of the user who attached the file.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"created":{"type":"string","description":"The datetime the attachment was created.","format":"date-time","readOnly":true},"size":{"type":"integer","description":"The size of the attachment.","format":"int64","readOnly":true},"mimeType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Additional properties of the attachment.","readOnly":true},"content":{"type":"string","description":"The URL of the attachment.","readOnly":true},"thumbnail":{"type":"string","description":"The URL of a thumbnail representing the attachment.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an issue attachment.","xml":{"name":"attachment"}},"AttachmentSettings":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the ability to add attachments is enabled.","readOnly":true},"uploadLimit":{"type":"integer","description":"The maximum size of attachments permitted, in bytes.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details of the instance's attachment settings."},"AttachmentArchiveEntry":{"type":"object","properties":{"entryIndex":{"type":"integer","format":"int64"},"abbreviatedName":{"type":"string"},"mediaType":{"type":"string"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}},"additionalProperties":false},"AttachmentArchiveImpl":{"type":"object","properties":{"entries":{"type":"array","description":"The list of the items included in the archive.","items":{"$ref":"#/components/schemas/AttachmentArchiveEntry"}},"totalEntryCount":{"type":"integer","description":"The number of items in the archive.","format":"int32"}},"additionalProperties":false},"AttachmentArchive":{"type":"object","properties":{"moreAvailable":{"type":"boolean"},"totalNumberOfEntriesAvailable":{"type":"integer","format":"int32"},"totalEntryCount":{"type":"integer","format":"int32"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentArchiveEntry"}}},"additionalProperties":false},"AttachmentArchiveItemReadable":{"type":"object","properties":{"path":{"type":"string","description":"The path of the archive item.","readOnly":true},"index":{"type":"integer","description":"The position of the item within the archive.","format":"int64","readOnly":true},"size":{"type":"string","description":"The size of the archive item.","readOnly":true},"mediaType":{"type":"string","description":"The MIME type of the archive item.","readOnly":true},"label":{"type":"string","description":"The label for the archive item.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an item in an attachment archive."},"AttachmentArchiveMetadataReadable":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the attachment.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the archive file.","readOnly":true},"entries":{"type":"array","description":"The list of the items included in the archive.","readOnly":true,"items":{"$ref":"#/components/schemas/AttachmentArchiveItemReadable"}},"totalEntryCount":{"type":"integer","description":"The number of items included in the archive.","format":"int64","readOnly":true},"mediaType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an archive (for example a zip) and its contents."},"EventNotification":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional event notification details in the response."},"id":{"type":"integer","description":"The ID of the notification.","format":"int64"},"notificationType":{"type":"string","description":"Identifies the recipients of the notification.","enum":["CurrentAssignee","Reporter","CurrentUser","ProjectLead","ComponentLead","User","Group","ProjectRole","EmailAddress","AllWatchers","UserCustomField","GroupCustomField"]},"parameter":{"type":"string","description":"The value of the `notificationType`:\n\n * `User` The `parameter` is the user account ID.\n * `Group` The `parameter` is the group name.\n * `ProjectRole` The `parameter` is the project role ID.\n * `UserCustomField` The `parameter` is the ID of the custom field.\n * `GroupCustomField` The `parameter` is the ID of the custom field."},"group":{"description":"The specified group.","allOf":[{"$ref":"#/components/schemas/GroupName"}]},"field":{"description":"The custom user or group field.","allOf":[{"$ref":"#/components/schemas/FieldDetails"}]},"emailAddress":{"type":"string","description":"The email address."},"projectRole":{"description":"The specified project role.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"user":{"description":"The specified user.","allOf":[{"$ref":"#/components/schemas/UserDetails"}]}},"additionalProperties":false,"description":"Details about a notification associated with an event."},"NotificationEvent":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the event. The event can be a [Jira system event](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or a [custom event](https://confluence.atlassian.com/x/AIlKLg).","format":"int64"},"name":{"type":"string","description":"The name of the event."},"description":{"type":"string","description":"The description of the event."},"templateEvent":{"description":"The template of the event. Only custom events configured by Jira administrators have template.","allOf":[{"$ref":"#/components/schemas/NotificationEvent"}]}},"additionalProperties":false,"description":"Details about a notification event."},"NotificationScheme":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional notification scheme details in the response."},"id":{"type":"integer","description":"The ID of the notification scheme.","format":"int64"},"self":{"type":"string"},"name":{"type":"string","description":"The name of the notification scheme."},"description":{"type":"string","description":"The description of the notification scheme."},"notificationSchemeEvents":{"type":"array","description":"The notification events and associated recipients.","items":{"$ref":"#/components/schemas/NotificationSchemeEvent"}},"scope":{"description":"The scope of the notification scheme.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"Details about a notification scheme."},"NotificationSchemeEvent":{"type":"object","properties":{"event":{"$ref":"#/components/schemas/NotificationEvent"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/EventNotification"}}},"additionalProperties":false,"description":"Details about a notification scheme event."},"PageBeanNotificationScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/NotificationScheme"}}},"additionalProperties":false,"description":"A page of items."},"IdBean":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the permission scheme to associate with the project. Use the [Get all permission schemes](#api-rest-api-2-permissionscheme-get) resource to get a list of permission scheme IDs.","format":"int64"}},"additionalProperties":false},"Permissions":{"type":"object","properties":{"permissions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UserPermission"},"description":"List of permissions.","readOnly":true}},"additionalProperties":false,"description":"Details about permissions."},"UserPermission":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-2-permissions-get) to get the list of permissions."},"key":{"type":"string","description":"The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-2-permissions-get) to get the list of permissions."},"name":{"type":"string","description":"The name of the permission."},"type":{"type":"string","description":"The type of the permission.","enum":["GLOBAL","PROJECT"]},"description":{"type":"string","description":"The description of the permission."},"havePermission":{"type":"boolean","description":"Whether the permission is available to the user in the queried context."},"deprecatedKey":{"type":"boolean","description":"Indicate whether the permission key is deprecated. Note that deprecated keys cannot be used in the `permissions parameter of Get my permissions. Deprecated keys are not returned by Get all permissions.`"}},"additionalProperties":true,"description":"Details of a permission and its availability to a user."},"BulkPermissionsRequestBean":{"type":"object","properties":{"projectPermissions":{"uniqueItems":true,"type":"array","description":"Project permissions with associated projects and issues to look up.","items":{"$ref":"#/components/schemas/BulkProjectPermissions"}},"globalPermissions":{"uniqueItems":true,"type":"array","description":"Global permissions to look up.","items":{"type":"string"}},"accountId":{"type":"string","description":"The account ID of a user."}},"additionalProperties":false,"description":"Details of global permissions to look up and project permissions with associated projects and issues to look up."},"BulkProjectPermissions":{"required":["permissions"],"type":"object","properties":{"issues":{"uniqueItems":true,"type":"array","description":"List of issue IDs.","items":{"type":"integer","format":"int64"}},"projects":{"uniqueItems":true,"type":"array","description":"List of project IDs.","items":{"type":"integer","format":"int64"}},"permissions":{"uniqueItems":true,"type":"array","description":"List of project permissions.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of project permissions and associated issues and projects to look up."},"BulkPermissionGrants":{"required":["globalPermissions","projectPermissions"],"type":"object","properties":{"projectPermissions":{"uniqueItems":true,"type":"array","description":"List of project permissions and the projects and issues those permissions provide access to.","items":{"$ref":"#/components/schemas/BulkProjectPermissionGrants"}},"globalPermissions":{"uniqueItems":true,"type":"array","description":"List of permissions granted to the user.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of global and project permissions granted to the user."},"BulkProjectPermissionGrants":{"required":["issues","permission","projects"],"type":"object","properties":{"permission":{"type":"string","description":"A project permission,"},"issues":{"uniqueItems":true,"type":"array","description":"IDs of the issues the user has the permission for.","items":{"type":"integer","format":"int64"}},"projects":{"uniqueItems":true,"type":"array","description":"IDs of the projects the user has the permission for.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false,"description":"List of project permissions and the projects and issues those permissions grant access to."},"PermissionsKeysBean":{"required":["permissions"],"type":"object","properties":{"permissions":{"type":"array","description":"A list of permission keys.","items":{"type":"string"}}},"additionalProperties":false},"PermittedProjects":{"type":"object","properties":{"projects":{"type":"array","description":"A list of projects.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIdentifierBean"}}},"additionalProperties":false,"description":"A list of projects in which a user is granted permissions."},"ProjectIdentifierBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the project.","readOnly":true}},"additionalProperties":false,"description":"The identifiers for a project."},"IssueTypeInfo":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue type.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"avatarId":{"type":"integer","description":"The avatar of the issue type.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details of an issue type."},"ProjectIssueTypeHierarchy":{"type":"object","properties":{"projectId":{"type":"integer","description":"The ID of the project.","format":"int64","readOnly":true},"hierarchy":{"type":"array","description":"Details of an issue type hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueTypesHierarchyLevel"}}},"additionalProperties":false,"description":"The hierarchy of issue types within a project."},"ProjectIssueTypesHierarchyLevel":{"type":"object","properties":{"entityId":{"type":"string","description":"The ID of the issue type hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"uuid","readOnly":true},"level":{"type":"integer","description":"The level of the issue type hierarchy level.","format":"int32","readOnly":true},"name":{"type":"string","description":"The name of the issue type hierarchy level.","readOnly":true},"issueTypes":{"type":"array","description":"The list of issue types in the hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeInfo"}}},"additionalProperties":false,"description":"Details of an issue type hierarchy level."},"JqlQueriesToParse":{"required":["queries"],"type":"object","properties":{"queries":{"minLength":1,"type":"array","description":"A list of queries to parse.","items":{"minLength":1,"type":"string"}}},"additionalProperties":false,"description":"A list of JQL queries to parse.","writeOnly":true},"CompoundClause":{"required":["clauses","operator"],"type":"object","properties":{"clauses":{"type":"array","description":"The list of nested clauses.","items":{"$ref":"#/components/schemas/JqlQueryClause"}},"operator":{"type":"string","description":"The operator between the clauses.","enum":["and","or","not"]}},"description":"A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A OR B) AND C\". See Setting the precedence of operators for more information about precedence in JQL queries.`"},"FieldChangedClause":{"required":["field","operator","predicates"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator applied to the field.","enum":["changed"]},"predicates":{"type":"array","description":"The list of time predicates.","items":{"$ref":"#/components/schemas/JqlQueryClauseTimePredicate"}}},"description":"A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator."},"FieldValueClause":{"required":["field","operand","operator"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator between the field and operand.","enum":["=","!=",">","<",">=","<=","in","not in","~","~=","is","is not"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"}},"description":"A clause that asserts the current value of a field. For example, `summary ~ test`."},"FieldWasClause":{"required":["field","operand","operator","predicates"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator between the field and operand.","enum":["was","was in","was not in","was not"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"},"predicates":{"type":"array","description":"The list of time predicates.","items":{"$ref":"#/components/schemas/JqlQueryClauseTimePredicate"}}},"description":"A clause that asserts a previous value of a field. For example, `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator."},"FunctionOperand":{"required":["arguments","function"],"type":"object","properties":{"function":{"type":"string","description":"The name of the function."},"arguments":{"type":"array","description":"The list of function arguments.","items":{"type":"string"}}},"description":"An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions."},"JqlQuery":{"type":"object","properties":{"where":{"$ref":"#/components/schemas/JqlQueryClause"},"orderBy":{"$ref":"#/components/schemas/JqlQueryOrderByClause"}},"additionalProperties":false,"description":"A parsed JQL query."},"JqlQueryClause":{"type":"object","additionalProperties":false,"description":"A JQL query clause.","anyOf":[{"$ref":"#/components/schemas/CompoundClause"},{"$ref":"#/components/schemas/FieldValueClause"},{"$ref":"#/components/schemas/FieldWasClause"},{"$ref":"#/components/schemas/FieldChangedClause"}]},"JqlQueryClauseOperand":{"type":"object","description":"Details of an operand in a JQL clause.","anyOf":[{"$ref":"#/components/schemas/ListOperand"},{"$ref":"#/components/schemas/ValueOperand"},{"$ref":"#/components/schemas/FunctionOperand"},{"$ref":"#/components/schemas/KeywordOperand"}]},"JqlQueryClauseTimePredicate":{"required":["operand","operator"],"type":"object","properties":{"operator":{"type":"string","description":"The operator between the field and the operand.","enum":["before","after","from","to","on","during","by"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"}},"description":"A time predicate for a temporal JQL clause."},"JqlQueryField":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field."},"property":{"type":"array","description":"When the field refers to a value in an entity property, details of the entity property value.","items":{"$ref":"#/components/schemas/JqlQueryFieldEntityProperty"}}},"additionalProperties":false,"description":"A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries."},"JqlQueryFieldEntityProperty":{"required":["entity","key","path"],"type":"object","properties":{"entity":{"type":"string","description":"The object on which the property is set.","example":"issue"},"key":{"type":"string","description":"The key of the property.","example":"stats"},"path":{"type":"string","description":"The path in the property value to query.","example":"comments.count"},"type":{"type":"string","description":"The type of the property value extraction. Not available if the extraction for the property is not registered on the instance with the [Entity property](https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/) module.","example":"number","enum":["number","string","text","date","user"]}},"description":"Details of an entity property."},"JqlQueryOrderByClause":{"required":["fields"],"type":"object","properties":{"fields":{"type":"array","description":"The list of order-by clause fields and their ordering directives.","items":{"$ref":"#/components/schemas/JqlQueryOrderByClauseElement"}}},"additionalProperties":false,"description":"Details of the order-by JQL clause."},"JqlQueryOrderByClauseElement":{"required":["field"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"direction":{"type":"string","description":"The direction in which to order the results.","enum":["asc","desc"]}},"additionalProperties":false,"description":"An element of the order-by JQL clause."},"JqlQueryUnitaryOperand":{"type":"object","description":"An operand that can be part of a list operand.","anyOf":[{"$ref":"#/components/schemas/ValueOperand"},{"$ref":"#/components/schemas/FunctionOperand"},{"$ref":"#/components/schemas/KeywordOperand"}]},"KeywordOperand":{"required":["keyword"],"type":"object","properties":{"keyword":{"type":"string","description":"The keyword that is the operand value.","enum":["empty"]}},"description":"An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords."},"ListOperand":{"required":["values"],"type":"object","properties":{"values":{"minLength":1,"type":"array","description":"The list of operand values.","items":{"$ref":"#/components/schemas/JqlQueryUnitaryOperand"}}},"description":"An operand that is a list of values."},"ParsedJqlQueries":{"required":["queries"],"type":"object","properties":{"queries":{"minLength":1,"type":"array","description":"A list of parsed JQL queries.","items":{"$ref":"#/components/schemas/ParsedJqlQuery"}}},"additionalProperties":false,"description":"A list of parsed JQL queries."},"ParsedJqlQuery":{"minLength":1,"required":["query"],"type":"object","properties":{"query":{"type":"string","description":"The JQL query that was parsed and validated."},"structure":{"description":"The syntax tree of the query. Empty if the query was invalid.","allOf":[{"$ref":"#/components/schemas/JqlQuery"}]},"errors":{"uniqueItems":true,"type":"array","description":"The list of syntax or validation errors.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of a parsed JQL query."},"ValueOperand":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The operand value."}},"description":"An operand that is a user-provided value."},"PageBeanUserKey":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserKey"}}},"additionalProperties":false,"description":"A page of items."},"UserKey":{"type":"object","properties":{"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import."}},"additionalProperties":false,"description":"List of user account IDs."},"PageBeanUser":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}}},"additionalProperties":false,"description":"A page of items."},"SearchResults":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional search result details in the response.","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"issues":{"type":"array","description":"The list of issues found by the search.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueBean"}},"warningMessages":{"type":"array","description":"Any warnings related to the JQL query.","readOnly":true,"items":{"type":"string","readOnly":true}},"names":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"The ID and name of each field in the search results.","readOnly":true},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonTypeBean"},"description":"The schema describing the field types in the search results.","readOnly":true}},"additionalProperties":false,"description":"The result of a JQL search."},"SearchRequestBean":{"type":"object","properties":{"jql":{"type":"string","description":"A [JQL](https://confluence.atlassian.com/x/egORLQ) expression."},"startAt":{"type":"integer","description":"The index of the first item to return in the page of results (page offset). The base index is `0`.","format":"int32"},"maxResults":{"type":"integer","description":"The maximum number of items to return per page.","format":"int32","default":50},"fields":{"type":"array","description":"A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nThe default is `*navigable`.\n\nExamples:\n\n * `summary,comment` Returns the summary and comments fields only.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nMultiple `fields` parameters can be included in a request.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-2-issue-issueIdOrKey-get) where the default is all fields.","items":{"type":"string"}},"validateQuery":{"type":"string","description":"Determines how to validate the JQL query and treat the validation results. Supported values:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nThe default is `strict`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.","enum":["strict","warn","none","true","false"]},"expand":{"type":"array","description":"Use [expand](em>#expansion) to include additional information about issues in the response. Note that, unlike the majority of instances where `expand` is specified, `expand` is defined as a list of values. The expand options are:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.","items":{"type":"string"}},"properties":{"type":"array","description":"A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list.","items":{"type":"string"}},"fieldsByKeys":{"type":"boolean","description":"Reference fields by their key (rather than ID). The default is `false`."}},"additionalProperties":false},"FieldReferenceData":{"type":"object","properties":{"value":{"type":"string","description":"The field identifier."},"displayName":{"type":"string","description":"The display name contains the following:\n\n * for system fields, the field name. For example, `Summary`.\n * for collapsed custom fields, the field name followed by a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`.\n * for other custom fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`."},"orderable":{"type":"string","description":"Whether the field can be used in a query's `ORDER BY` clause.","enum":["true","false"]},"searchable":{"type":"string","description":"Whether the content of this field can be searched.","enum":["true","false"]},"auto":{"type":"string","description":"Whether the field provide auto-complete suggestions.","enum":["true","false"]},"cfid":{"type":"string","description":"If the item is a custom field, the ID of the custom field."},"operators":{"type":"array","description":"The valid search operators for the field.","items":{"type":"string"}},"types":{"type":"array","description":"The data types of items in the field.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of a field that can be used in advanced searches."},"FunctionReferenceData":{"type":"object","properties":{"value":{"type":"string","description":"The function identifier."},"displayName":{"type":"string","description":"The display name of the function."},"isList":{"type":"string","description":"Whether the function can take a list of arguments.","enum":["true","false"]},"types":{"type":"array","description":"The data types returned by the function.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of functions that can be used in advanced searches."},"JQLReferenceData":{"type":"object","properties":{"visibleFieldNames":{"type":"array","description":"List of fields usable in JQL queries.","items":{"$ref":"#/components/schemas/FieldReferenceData"}},"visibleFunctionNames":{"type":"array","description":"List of functions usable in JQL queries.","items":{"$ref":"#/components/schemas/FunctionReferenceData"}},"jqlReservedWords":{"type":"array","description":"List of JQL query reserved words.","items":{"type":"string"}}},"additionalProperties":false,"description":"Lists of JQL reference data."},"SearchAutoCompleteFilter":{"type":"object","properties":{"projectIds":{"type":"array","description":"List of project IDs used to filter the visible field details returned.","items":{"type":"integer","format":"int64"}},"includeCollapsedFields":{"type":"boolean","description":"Include collapsed fields for fields that have non-unique names.","default":false}},"additionalProperties":false,"description":"Details of how to filter and list search auto complete information."},"AutoCompleteSuggestion":{"type":"object","properties":{"value":{"type":"string","description":"The value of a suggested item."},"displayName":{"type":"string","description":"The display name of a suggested item. If `fieldValue` or `predicateValue` are provided, the matching text is highlighted with the HTML bold tag."}},"additionalProperties":false,"description":"A field auto-complete suggestion."},"AutoCompleteSuggestions":{"type":"object","properties":{"results":{"type":"array","description":"The list of suggested item.","items":{"$ref":"#/components/schemas/AutoCompleteSuggestion"}}},"additionalProperties":false,"description":"The results from a JQL query."},"JQLPersonalDataMigrationRequest":{"type":"object","properties":{"queryStrings":{"type":"array","description":"A list of queries with user identifiers. Maximum of 100 queries.","items":{"type":"string"}}},"additionalProperties":false,"description":"The JQL queries to be converted."},"ConvertedJQLQueries":{"type":"object","properties":{"queryStrings":{"type":"array","description":"The list of converted query strings with account IDs in place of user identifiers.","items":{"type":"string"}},"queriesWithUnknownUsers":{"type":"array","description":"List of queries containing user information that could not be mapped to an existing user","items":{"$ref":"#/components/schemas/JQLQueryWithUnknownUsers"}}},"additionalProperties":false,"description":"The converted JQL queries."},"JQLQueryWithUnknownUsers":{"type":"object","properties":{"originalQuery":{"type":"string","description":"The original query, for reference"},"convertedQuery":{"type":"string","description":"The converted query, with accountIDs instead of user identifiers, or 'unknown' for users that could not be found"}},"additionalProperties":false,"description":"JQL queries that contained users that could not be found"},"Filter":{"required":["name"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the filter.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the filter.","readOnly":true},"name":{"type":"string","description":"The name of the filter. Must be unique."},"description":{"type":"string","description":"A description of the filter."},"owner":{"description":"The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"jql":{"type":"string","description":"The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*."},"viewUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.","format":"uri","readOnly":true},"searchUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-2-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/2/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.","format":"uri","readOnly":true},"favourite":{"type":"boolean","description":"Whether the filter is selected as a favorite."},"favouritedCount":{"type":"integer","description":"The count of how many users have selected this filter as a favorite, including the filter owner.","format":"int64","readOnly":true},"sharePermissions":{"type":"array","description":"The groups and projects that the filter is shared with.","items":{"$ref":"#/components/schemas/SharePermission"}},"sharedUsers":{"description":"A paginated list of the users that the filter is shared with. This includes users that are members of the groups or can browse the projects that the filter is shared with.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserList"}]},"subscriptions":{"description":"A paginated list of the users that are subscribed to the filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/FilterSubscriptionsList"}]}},"additionalProperties":false,"description":"Details about a filter.","xml":{"name":"filter"}},"FilterSubscription":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the filter subscription.","format":"int64","readOnly":true},"user":{"description":"The user subscribing to filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"group":{"description":"The group subscribing to filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/GroupName"}]}},"additionalProperties":false,"description":"Details of a user or group subscribing to a filter."},"FilterSubscriptionsList":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterSubscription"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paginated list of subscriptions to a filter."},"UserList":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with."},"FilterDetails":{"required":["name"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the filter.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the filter.","readOnly":true},"name":{"type":"string","description":"The name of the filter. Must be unique."},"description":{"type":"string","description":"A description of the filter."},"owner":{"description":"The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"jql":{"type":"string","description":"The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*.","readOnly":true},"viewUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.","format":"uri","readOnly":true},"searchUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-2-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/2/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.","format":"uri","readOnly":true},"favourite":{"type":"boolean","description":"Whether the filter is selected as a favorite by any users, not including the filter owner.","readOnly":true},"favouritedCount":{"type":"integer","description":"The count of how many users have selected this filter as a favorite, including the filter owner.","format":"int64","readOnly":true},"sharePermissions":{"type":"array","description":"The groups and projects that the filter is shared with. This can be specified when updating a filter, but not when creating a filter.","items":{"$ref":"#/components/schemas/SharePermission"}},"subscriptions":{"type":"array","description":"The users that are subscribed to the filter.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterSubscription"}}},"additionalProperties":false,"description":"Details of a filter."},"PageBeanFilterDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterDetails"}}},"additionalProperties":false,"description":"A page of items."},"DefaultShareScope":{"required":["scope"],"type":"object","properties":{"scope":{"type":"string","description":"The scope of the default sharing for new filters and dashboards:\n\n * `AUTHENTICATED` Shared with all logged-in users.\n * `GLOBAL` Shared with all logged-in users. This shows as `AUTHENTICATED` in the response.\n * `PRIVATE` Not shared with any users.","enum":["GLOBAL","AUTHENTICATED","PRIVATE"]}},"additionalProperties":false,"description":"Details of the scope of the default sharing for new filters and dashboards.","xml":{"name":"defaultShareScope"}},"SharePermissionInputBean":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the share permission.Specify the type as follows:\n\n * `user` Share with a user.\n * `group` Share with a group. Specify `groupname` as well.\n * `project` Share with a project. Specify `projectId` as well.\n * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well.\n * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.\n * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.","enum":["user","project","group","projectRole","global","authenticated"]},"projectId":{"type":"string","description":"The ID of the project to share the filter with. Set `type` to `project`."},"groupname":{"type":"string","description":"The name of the group to share the filter with. Set `type` to `group`."},"projectRoleId":{"type":"string","description":"The ID of the project role to share the filter with. Set `type` to `projectRole` and the `projectId` for the project that the role is in."},"accountId":{"type":"string","description":"The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user."},"rights":{"type":"integer","description":"The rights for the share permission.","format":"int32"}},"additionalProperties":false},"UserMigrationBean":{"type":"object","properties":{"key":{"type":"string"},"username":{"type":"string"},"accountId":{"type":"string"}},"additionalProperties":false},"UnrestrictedUserEmail":{"type":"object","properties":{"accountId":{"type":"string","description":"The accountId of the user"},"email":{"type":"string","description":"The email of the user"}},"additionalProperties":false},"PageBeanString":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"type":"string","readOnly":true}}},"additionalProperties":false,"description":"A page of items."},"GroupDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"groupId":{"type":"string","description":"The ID of the group, if available, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*."}},"additionalProperties":false,"description":"Details about a group."},"PageBeanGroupDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/GroupDetails"}}},"additionalProperties":false,"description":"A page of items."},"IssuesAndJQLQueries":{"required":["issueIds","jqls"],"type":"object","properties":{"jqls":{"type":"array","description":"A list of JQL queries.","items":{"type":"string","description":"A list of JQL queries."}},"issueIds":{"uniqueItems":true,"type":"array","description":"A list of issue IDs.","items":{"type":"integer","description":"A list of issue IDs.","format":"int64"}}},"additionalProperties":false,"description":"List of issues and JQL queries."},"IssueMatches":{"required":["matches"],"type":"object","properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/IssueMatchesForJQL"}}},"additionalProperties":false,"description":"A list of matched issues or errors for each JQL query, in the order the JQL queries were passed."},"IssueMatchesForJQL":{"required":["errors","matchedIssues"],"type":"object","properties":{"matchedIssues":{"uniqueItems":true,"type":"array","description":"A list of issue IDs.","items":{"type":"integer","description":"A list of issue IDs.","format":"int64"}},"errors":{"uniqueItems":true,"type":"array","description":"A list of errors.","items":{"type":"string","description":"A list of errors."}}},"additionalProperties":false,"description":"A list of the issues matched to a JQL query or details of errors encountered during matching."},"OperationMessage":{"required":["message","statusCode"],"type":"object","properties":{"message":{"type":"string","description":"The human-readable message that describes the result."},"statusCode":{"type":"integer","description":"The status code of the response."}},"additionalProperties":false,"example":{"message":"An example message.","statusCode":200}},"ErrorMessage":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"The error message."}},"additionalProperties":false,"example":{"message":"The request is not from a Connect app."}},"ConnectModules":{"required":["modules"],"type":"object","properties":{"modules":{"type":"array","description":"A list of app modules in the same format as the `modules` property in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).","items":{"$ref":"#/components/schemas/ConnectModule"}}},"example":{"jiraEntityProperties":[{"keyConfigurations":[{"extractions":[{"objectName":"extension","type":"text","alias":"attachmentExtension"}],"propertyKey":"attachment"}],"entityType":"issue","name":{"value":"Attachment Index Document"},"key":"dynamic-attachment-entity-property"}],"jiraIssueFields":[{"description":{"value":"A dynamically added single-select field"},"type":"single_select","extractions":[{"path":"category","type":"text","name":"categoryName"}],"name":{"value":"Dynamic single select"},"key":"dynamic-select-field"}]}},"ConnectModule":{"type":"object","description":"A [Connect module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/) in the same format as in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).","example":{"description":{"value":"field with team"},"type":"single_select","extractions":[{"path":"category","type":"text","name":"categoryName"}],"name":{"value":"Team"},"key":"team-field"}},"WorkflowRulesSearch":{"required":["ruleIds","workflowEntityId"],"type":"object","properties":{"workflowEntityId":{"type":"string","description":"The workflow ID.","format":"uuid","example":"a498d711-685d-428d-8c3e-bc03bb450ea7"},"ruleIds":{"maxItems":10,"minItems":1,"type":"array","description":"The list of workflow rule IDs.","items":{"type":"string","description":"Workflow rule ID.","format":"uuid","example":"55d44f1d-c859-42e5-9c27-2c5ec3f340b1"}},"expand":{"type":"string","description":"Use expand to include additional information in the response. This parameter accepts `transition` which, for each rule, returns information about the transition the rule is assigned to.","example":"transition"}},"description":"Details of the workflow and its transition rules."},"WorkflowRulesSearchDetails":{"type":"object","properties":{"workflowEntityId":{"type":"string","description":"The workflow ID.","format":"uuid","example":"a498d711-685d-428d-8c3e-bc03bb450ea7"},"invalidRules":{"type":"array","description":"List of workflow rule IDs that do not belong to the workflow or can not be found.","items":{"type":"string","description":"Workflow rule ID.","format":"uuid","example":"55d44f1d-c859-42e5-9c27-2c5ec3f340b1"}},"validRules":{"type":"array","description":"List of valid workflow transition rules.","items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"description":"Details of workflow transition rules."},"EntityPropertyDetails":{"required":["entityId","key","value"],"type":"object","properties":{"entityId":{"type":"number","description":"The entity property ID.","example":123},"key":{"type":"string","description":"The entity property key.","example":"mykey"},"value":{"type":"string","description":"The new value of the entity property.","example":"newValue"}}},"ConnectCustomFieldValue":{"required":["_type","fieldID","issueID"],"type":"object","properties":{"_type":{"type":"string","description":"The type of custom field.","writeOnly":true,"enum":["StringIssueField","NumberIssueField","RichTextIssueField","SingleSelectIssueField","MultiSelectIssueField","TextIssueField"]},"issueID":{"type":"integer","description":"The issue ID.","writeOnly":true},"fieldID":{"type":"integer","description":"The custom field ID.","writeOnly":true},"string":{"type":"string","description":"The value of string type custom field when `_type` is `StringIssueField`."},"number":{"type":"number","description":"The value of number type custom field when `_type` is `NumberIssueField`."},"richText":{"type":"string","description":"The value of richText type custom field when `_type` is `RichTextIssueField`."},"optionID":{"type":"string","description":"The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or `MultiSelectIssueField`."},"text":{"type":"string","description":"The value of of text custom field type when `_type` is `TextIssueField`."}},"description":"A list of custom field details.","writeOnly":true},"ConnectCustomFieldValues":{"type":"object","properties":{"updateValueList":{"type":"array","description":"The list of custom field update details.","items":{"$ref":"#/components/schemas/ConnectCustomFieldValue"}}},"additionalProperties":false,"description":"Details of updates for a custom field.","writeOnly":true}},"securitySchemes":{"basicAuth":{"type":"http","description":"You can access this resource via basic auth.","scheme":"basic"},"OAuth2":{"type":"oauth2","description":"OAuth2 scopes for Jira","flows":{"authorizationCode":{"authorizationUrl":"https://auth.atlassian.com/authorize","tokenUrl":"https://auth.atlassian.com/oauth/token","scopes":{"read:jira-user":"View user information in Jira that you have access to, including usernames, email addresses, and avatars.","read:jira-work":"Read project and issue data. Search for issues and objects associated with issues (such as attachments and worklogs).","write:jira-work":"Create and edit issues in Jira, post comments, create worklogs, and delete issues.","manage:jira-project":"Create and edit project settings and create new project-level objects, for example, versions, components.","manage:jira-configuration":"Configure Jira settings that require the Jira administrators permission, for example, create projects and custom fields, view workflows, manage issue link types.","manage:jira-webhook":"Manage Jira webhooks. Enables an OAuth app to register and unregister dynamic webhooks in Jira. It also provides for fetching of registered webhooks."}}}}}},"x-atlassian-narrative":{"documents":[{"title":"About","anchor":"about","body":"The Jira REST API enables you to interact with Jira programmatically. Use this API to \n[build apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/), script interactions with \nJira, or develop any other type of integration. This page documents the REST resources available in Jira Cloud, including \nthe HTTP response codes and example requests and responses."},{"title":"Version","anchor":"version","body":"This documentation is for **version 2** of the Jira Cloud platform REST API. \n\nThe latest version of the Jira Cloud platform REST API is [version 3](https://developer.atlassian.com/cloud/jira/platform/rest/v3/), \nwhich is in beta. Version 2 and 3 of the API offer the same collection of operations. However, version 3\nprovides support for the [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/) \n(ADF). The ADF features in version 3 are under development.\n"},{"title":"Authentication and authorization","anchor":"authentication","body":"### Connect apps\n\nFor Connect apps, authentication (JWT-based) is built into the Connect libraries. Authorization is implemented using either \nscopes (shown as _App scope required_ for operations on this page) or user impersonation. See \n[Security for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/) \nfor details.\n\nThe URIs for Connect app REST API calls have this structure:\n\n`https:///rest/api/3/`\n\nFor example, `https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`\n\n### Other integrations\n\nFor integrations that are not Connect apps, use OAuth 2.0 authorization code grants (3LO) for security \n(3LO scopes are shown as for operations _OAuth scopes required_). See \n[OAuth 2.0 (3LO) apps](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/) \nfor details.\n\nThe URIs for OAuth 2.0 (3LO) app REST API calls have this structure:\n\n`https://api.atlassian.com/ex/jira/dd/rest/api/3/`\n\nFor example, `https://api.atlassian.com/ex/jira/35273b54-3f06-40d2-880f-dd28cf8daafa/rest/api/3/issue/DEMO-1`\n\n### Ad-hoc API calls\n\nFor personal scripts, bots, and ad-hoc execution of the REST APIs use basic authentication. See [Basic auth for REST APIs](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/) for details. \n\nThe URIs for basic authentication REST API calls have this structure:\n\n`https:///rest/api/3/`\n\nFor example, `https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`"},{"title":"Permissions","anchor":"permissions","body":"### Operation permissions\n\nMost operations in this API require permissions. The calling user must have the required permissions for an operation to \nuse it. Note that for Connect apps, the app user must have the required permissions for the operation and the app must \nhave scopes that permit the operation.\n\nA permission can be granted to a group, project role, or issue role that the user is a member of, or granted directly to a user. \nSee [Permissions overview](https://confluence.atlassian.com/x/FQiiLQ) for details. The most common permissions are:\n\n- **Administer the Cloud site**: Users in the _site-admins_ group have this \npermission. See [Manage groups](https://confluence.atlassian.com/x/24xjL) for details.\n- **Administer Jira**: Granted by the _Jira Administrators_ global permission. There is a default group for this permission. \nSee [Manage groups](https://confluence.atlassian.com/x/24xjL) and [Managing global permissions](https://confluence.atlassian.com/x/x4dKLg) for details.\n- **Administer a project in Jira**: Granted by the _Administer projects_ project permission for a project. This can be \ngranted to a user, a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for details.\n- **Access a project in Jira**: Granted by the _Browse projects_ project permission for a project. This can be \ngranted to a user, a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for details.\n- **Access Jira**: Granted by the _Jira Users_ global permission. Users in the default product access group (for example, \n_jira-software-users-acmesite_) have this permission. \nSee [Manage groups](https://confluence.atlassian.com/x/24xjL) and \n[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg) for details.\n\n### Anonymous access\n\nSome operations provide support for anonymous access. However, anonymous access is only available if \nthe Jira permission needed to access the object or records returned by the operation is granted to \nthe _Public_ group. See [Allowing anonymous access to your project](https://confluence.atlassian.com/x/GDxxLg) \nfor details.\n\nIf an operation is called anonymously and anonymous access is not available, the operation will return \nan error. Note that not all operations that correspond to objects that can be given public access \nprovide for anonymous access.\n"},{"title":"Expansion, pagination, and ordering","anchor":"expansion","body":"### Expansion\n\nThe Jira REST API uses resource expansion, which means that some parts of a resource are not returned unless specified \nin the request. This simplifies responses and minimizes network traffic.\n\nTo expand part of a resource in a request, use the expand query parameter and specify the object(s) to be expanded. \nIf you need to expand nested objects, use the `.` dot notation. If you need to expand multiple objects, use a \ncomma-separated list. \n\nFor example, the following request expands the `names` and `renderedFields` properties for the _JRACLOUD-34423_ issue:\n\n`GET issue/JRACLOUD-34423?expand=names,renderedFields`\n\nTo discover which object can be expanded, refer to the `expand` property in the object. \nIn the JSON example below, the resource declares `widgets` as expandable.\n\n```json\n{\n \"expand\": \"widgets\", \n \"self\": \"https://your-domain.atlassian.net/rest/api/3/resource/KEY-1\", \n \"widgets\": {\n \"widgets\": [],\n \"size\": 5\n }\n}\n```\n\n### Pagination\n\nThe Jira REST API uses pagination to improve performance. Pagination is enforced for operations that could return a large \ncollection of items. When you make a request to a paginated resource, the response wraps the returned array of values in \na JSON object with paging metadata. For example:\n\n```json\n{\n \"startAt\" : 0,\n \"maxResults\" : 10,\n \"total\": 200,\n \"isLast\": false,\n \"values\": [\n { /* result 0 */ },\n { /* result 1 */ },\n { /* result 2 */ }\n ]\n}\n```\n\n* `startAt` is the index of the first item returned in the page.\n* `maxResults` is the maximum number of items that a page can return. Each operation can have a different limit for\n the number of items returned, and these limits may change without notice. To find the maximum number of items \n that an operation could return, set `maxResults` to a large number—for example, over 1000—and if the returned value of `maxResults` is less than the requested value, the returned value is the maximum.\n* `total` is the total number of items contained in all pages. This number **_may change_** as the client \nrequests the subsequent pages, therefore the client should always assume that the requested page can be empty. Note \nthat this property is not returned for all operations.\n* `isLast` indicates whether the page returned is the last one. Note that this property is not returned for all operations.\n\n### Ordering\n\nSome operations support ordering the elements of a response by a field. Check the documentation for the operation to \nconfirm whether ordering of a response is supported and which fields can be used. Responses are listed in ascending order \nby default. You can change the order using the `orderby` query parameter with a `-` or `+` symbol. For example:\n\n* `?orderBy=name` to order by `name` field ascending.\n* `?orderBy=+name` to order by `name` field ascending.\n* `?orderBy=-name` to order by `name` field descending.\n\n\n"},{"title":"Special headers","anchor":"special-request-headers","body":"The following request and response headers define important metadata for the Jira Cloud REST API resources.\n\n- `X-Atlassian-Token` (request): Operations that accept multipart/form-data must include the `X-Atlassian-Token: no-check`\nheader in requests. Otherwise the request is blocked by cross-site request forgery (CSRF/XSRF) protection.\n- `X-Force-Accept-Language` (request): controls how the standard HTTP `Accept-Language` header is processed.\nBy default `Accept-Language` is ignored and the response is in the language configured in the user's profile or,\nwhen no language is configured for the user, the default Jira instance language. For the response to recognize\n`Accept-Language` send `X-Force-Accept-Language = true` as well. If `Accept-Language` requests a language that Jira\ncan return the response is in that language, otherwise Jira returns the response in the default language. If\n`Accept-Language` is not specified the response is in the default language.\n- `X-AAccountId` (response): This response header contains the Atlassian account ID of the authenticated user."},{"title":"Anonymous operations","anchor":"anonymous-operations","body":" Jira provides for all permissions, except the [global permission](https://confluence.atlassian.com/x/x4dKLg) Administer Jira, to be assigned to *Anyone*. Once a permission is assigned to *Anyone*, anyone knowing a project's URL is able to use the features in Jira enabled by the permission. However, the Jira REST API does not enable anonymous access for operations by default. This means that an anonymous user who may be able to perform an action through Jira, may not be able to perform the same action where it's enabled by the REST API. \n\n The operations that provide anonymous access are annotated \"This operation can be accessed anonymously.\""},{"title":"Asynchronous operations","anchor":"async-operations","body":"Some Jira REST API operations may trigger long-running or computationally expensive tasks. In these cases, the operation \nwill schedule an asynchronous task and return a `303 (See Other)` response, indicating the location of the queued task \nin the `Location` header. You can query this task to get progress updates.\n\nWhen the task finishes, the response object will contain the `result` field. The content of the field is specific to the \noperation that created the task. Refer to the operation’s documentation for more information.\n\nNote that asynchronous tasks are not guaranteed to be run in order. In other words, if you need your tasks to execute \nin a certain order, you should start a task only after the prerequisite task(s) have finished."},{"title":"Experimental features","anchor":"experimental","body":"Features and methods marked as experimental may change without notice. Feedback on experimental functionality is welcome. \nReport your suggestions and bugs in the [ACJIRA project](https://ecosystem.atlassian.net/projects/ACJIRA) (preferred) or use the \n**Give docs feedback** link at the top of this page. \n"},{"title":"Status codes","anchor":"status-codes","body":"The Jira Cloud platform REST API uses the [standard HTTP status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).\n\nOperations that return an error status code may also return a response body containing details of the error or errors. \nThe schema for the response body is shown below:\n\n\n```json\n{\n \"id\": \"https://docs.atlassian.com/jira/REST/schema/error-collection#\",\n \"title\": \"Error Collection\",\n \"type\": \"object\",\n \"properties\": {\n \"errorMessages\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"errors\": {\n \"type\": \"object\",\n \"patternProperties\": {\n \".+\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"status\": { \n \"type\": \"integer\"\n }\n },\n \"additionalProperties\": false\n}\n```"}]}} \ No newline at end of file diff --git a/src/main/resources/META-INF/jira-cloud-v3.openapi.json b/src/main/resources/META-INF/jira-cloud-v3.openapi.json index f4b1147..b66973b 100644 --- a/src/main/resources/META-INF/jira-cloud-v3.openapi.json +++ b/src/main/resources/META-INF/jira-cloud-v3.openapi.json @@ -1 +1 @@ -{"openapi":"3.0.1","info":{"title":"The Jira Cloud platform REST API","description":"Jira Cloud platform REST API documentation","termsOfService":"http://atlassian.com/terms/","contact":{"email":"ecosystem@atlassian.com"},"license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"version":"1001.0.0-SNAPSHOT"},"externalDocs":{"description":"Find out more about Atlassian products and services.","url":"http://www.atlassian.com"},"servers":[{"url":"https://your-domain.atlassian.com"}],"tags":[{"name":"Application roles","description":"This resource represents application roles. Use it to get details of an application role or all application roles."},{"name":"Audit records","description":"This resource represents audits that record activities undertaken in Jira. Use it to get a list of audit records."},{"name":"Avatars","description":"This resource represents system and custom avatars. Use it to obtain the details of system or custom avatars as well as add and remove avatars from a project or issue type."},{"name":"Dashboards","description":"This resource represents dashboards. Use it to obtain the details of dashboards as well as add and remove item properties from dashboards."},{"name":"Filters","description":"This resource represents [filters](https://confluence.atlassian.com/x/eQiiLQ). Use it to get, create, update, or delete filters. Also use it to configure the columns for a filter and set favorite filters."},{"name":"Filter sharing","description":"This resource represents options for sharing [filters](#api-group-Filters). Use it to get share scopes as well as add and remove share scopes from filters."},{"name":"Group and user picker","description":"This resource represents a list of users and a list of groups. Use it to obtain the details to populate user and group picker suggestions list."},{"name":"Groups","description":"This resource represents groups of users. Use it to get, create, find, and delete groups as well as add and remove users from groups."},{"name":"Issues","description":"This resource represents Jira issues. Use it to:\n\n * create or edit issues, individually or in bulk.\n * retrieve metadata about the options for creating or editing issues.\n * delete an issue.\n * assign a user to an issue.\n * get issue changelogs.\n * send notifications about an issue.\n * get details of the transitions available for an issue.\n * transition an issue."},{"name":"Issue attachments","description":"This resource represents issue attachments and the attachment settings for Jira. Use it to get the metadata for an attachment, delete an attachment, and view the metadata for the contents of an attachment. Also, use it to get the attachment settings for Jira."},{"name":"Issue comments","description":"This resource represents issue comments. Use it to:\n\n * get, create, update, and delete a comment from an issue.\n * get all comments from issue.\n * get a list of comments by comment ID."},{"name":"Issue comment properties","description":"This resource represents [issue comment](#api-group-Issue-comments) properties, which provides for storing custom data against an issue comment. Use is to get, set, and delete issue comment properties as well as obtain the keys of all properties on a comment. Comment properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue fields","description":"This resource represents issue fields, both system and custom fields. Use it to get fields, field configurations, and create custom fields."},{"name":"Issue field configurations","description":"This resource represents issue field configurations. Use it to get, set, and delete field configurations and field configuration schemes."},{"name":"Issue custom field contexts","description":"This resource represents issue custom field contexts. Use it to:\n\n * delete custom field contexts."},{"name":"Issue custom field options","description":"This resource represents custom issue field select list options created in Jira or using the REST API. See [Issue custom field options (apps)](#api-group-Issue-custom-field-options--apps-) to manipulate custom issue field select list options created by a Connect app.\n\nA select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select an option from a list. Use this resource to retrieve, add, delete and reorder the options of a select list issue field."},{"name":"Issue custom field options (apps)","description":"This resource represents custom issue field select list options created by a Connect app. See [Issue custom field options](#api-group-Issue-custom-field-options) to manipulate options created in Jira or using the REST API.\n\nA select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select an option from a list. Use this resource to add, remove, and update the options of a select list issue field."},{"name":"Issue links","description":"This resource represents links between issues. Use it to get, create, and delete links between issues.\n\nTo use this resource, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled."},{"name":"Issue link types","description":"This resource represents [issue link](#api-group-Issue-links) types. Use it to get, create, update, and delete link issue types as well as get lists of all link issue types.\n\nTo use this resource, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled."},{"name":"Issue navigator settings","description":"This resource represents issue navigator settings. Use it to get and set issue navigator default columns."},{"name":"Issue notification schemes","description":"This resource represents notification schemes, lists of events and the recipients who will receive notifications for those events. Use this resource to get details of a notification scheme and a list of notification schemes."},{"name":"Issue priorities","description":"This resource represents issue priorities. Use it to obtain a list of issue priorities and details for individual issue priorities."},{"name":"Issue properties","description":"This resource represents [issue](#api-group-Issues) properties, which provides for storing custom data against an issue. Use it to get, set, and delete issue properties as well as obtain details of all properties on an issue. Operations to bulk update and delete issue properties are also provided. Issue properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue remote links","description":"This resource represents remote issue links, a way of linking Jira to information in other systems. Use this resource to get, create, update, and delete remote issue links either by ID or global ID. The global ID provides a way of accessing remote issue links using information about the item's remote system host and remote system identifier."},{"name":"Issue resolutions","description":"This resource represents issue resolution values. Use it to obtain a list of all issue resolution values and the details of individual resolution values."},{"name":"Issue search","description":"This resource represents various ways to search for issues. Use it to search for issues with a JQL query and find issues to populate an issue picker."},{"name":"Issue security level","description":"This resource represents issue security levels. Use it to obtain the details of any issue security level. For more information about issue security levels, see [Configuring issue-level security](https://confluence.atlassian.com/x/J4lKLg)."},{"name":"Issue security schemes","description":"This resource represents issue security schemes. Use it to get an issue security scheme or list of issues security schemes.\n\nIssue security schemes control which users or groups of users can view an issue. When an issue security scheme is associated with a project, its security levels can be applied to issues in that project. Sub-tasks also inherit the security level of their parent issue."},{"name":"Issue types","description":"This resource represents issues types. Use it to:\n\n * get, create, update, and delete issue types.\n * get all issue types for a user.\n * get alternative issue types.\n * set an avatar for an issue type."},{"name":"Issue type schemes","description":"This resource represents issue type schemes in classic projects. Use it to:\n\n * get issue type schemes and a list of the projects that use them.\n * associate issue type schemes with projects.\n * add issue types to issue type schemes.\n * delete issue types from issue type schemes.\n * create, update, and delete issue type schemes.\n * change the order of issue types in issue type schemes."},{"name":"Issue type screen schemes","description":"This resource represents issue type screen schemes. Use it to:\n\n * get issue type screen schemes and a list of the projects that use them.\n * create issue type screen schemes.\n * update issue type screen schemes.\n * delete issue type screen schemes.\n * associate issue type screen schemes with projects."},{"name":"Issue type properties","description":"This resource represents [issue type](#api-group-Issue-types) properties, which provides for storing custom data against an issue type. Use it to get, create, and delete issue type properties as well as obtain the keys of all properties on a issues type. Issue type properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue votes","description":"This resource represents votes cast by users on an issue. Use it to get details of votes on an issue as well as cast and withdrawal votes."},{"name":"Issue watchers","description":"This resource represents users watching an issue. Use it to get details of users watching an issue as well as start and stop a user watching an issue."},{"name":"Issue worklogs","description":"This resource represents issue worklogs. Use it to:\n\n * get, create, update, and delete worklogs.\n * obtain lists of updated or deleted worklogs."},{"name":"Issue worklog properties","description":"This resource represents [issue worklog](#api-group-Issue-worklogs) properties, which provides for storing custom data against an issue worklog. Use it to get, create, and delete issue worklog properties as well as obtain the keys of all properties on a issue worklog. Issue worklog properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Jira expressions","description":"This resource is a collection of operations for [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/)."},{"name":"Jira settings","description":"This resource represents various settings in Jira. Use it to get and update Jira settings and properties."},{"name":"JQL","description":"This resource represents JQL search auto-complete details. Use it to obtain JQL search auto-complete data and suggestions for use in programmatic construction of queries or custom query builders. It also provides an operation to convert one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs."},{"name":"Labels","description":"This resource represents available labels. Use it to get available labels for the global label field."},{"name":"Myself","description":"This resource represents information about the current user, such as basic details, group membership, application roles, preferences, and locale. Use it to get, create, update, and delete (restore default) values of the user's preferences and locale."},{"name":"Permissions","description":"This resource represents permissions. Use it to obtain details of all permissions and determine whether the user has certain permissions."},{"name":"Permission schemes","description":"This resource represents permission schemes. Use it to get, create, update, and delete permission schemes as well as get, create, update, and delete details of the permissions granted in those schemes."},{"name":"Projects","description":"This resource represents projects. Use this resource to get, create, update, and delete projects. Also get statuses available to a project, a project's notification schemes, and update a project's type."},{"name":"Project avatars","description":"This resource represents avatars associated with a project. Use it to get, load, set, and remove project avatars."},{"name":"Project categories","description":"This resource represents project categories. Use it to create, update, and delete project categories as well as obtain a list of all project categories and details of individual categories. For more information on managing project categories, see [Adding, assigning, and deleting project categories](https://confluence.atlassian.com/x/-A5WMg)."},{"name":"Project components","description":"This resource represents project components. Uses to get, create, update, and delete project components. Also get components for project and get a count of issues by component."},{"name":"Project email","description":"This resource represents the email address used to send a project's notifications. Use this resource to get and set the [project's sender email address](https://confluence.atlassian.com/x/dolKLg)."},{"name":"Project key and name validation","description":"This resource provides validation for project keys and names."},{"name":"Project permission schemes","description":"This resource represents permission schemes for a project. Use this resource to:\n\n * get details of a project's issue security levels available to the calling user.\n * get the permission scheme associated with the project or assign different permission scheme to the project.\n * get details of a project's issue security scheme.\n\nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes."},{"name":"Project properties","description":"This resource represents [project](#api-group-Projects) properties, which provides for storing custom data against a project. Use it to get, create, and delete project properties as well as get a list of property keys for a project. Project properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Project roles","description":"This resource represents the roles that users can play in projects. Use this resource to get, create, update, and delete project roles."},{"name":"Project role actors","description":"This resource represents the users assigned to [project roles](#api-group-Issue-comments). Use this resource to get, add, and remove default users from project roles. Also use this resource to add and remove users from a project role associated with a project."},{"name":"Project types","description":"This resource represents project types. Use it to obtain a list of all project types, a list of project types accessible to the calling user, and details of a project type."},{"name":"Project versions","description":"This resource represents project versions. Use it to get, get lists of, create, update, move, merge, and delete project versions. This resource also provides counts of issues by version."},{"name":"Screens","description":"This resource represents the screens used to record issue details. Use this resource to:\n\n * get details of all screens.\n * get details of all the fields available for use on screens.\n * create screens.\n * delete screens.\n * update screens.\n * add a field to the default screen."},{"name":"Screen tabs","description":"This resource represents the screen tabs used to record issue details. Use this resource to get, create, update, move, and delete screen tabs."},{"name":"Screen tab fields","description":"This resource represents the screen tab fields used to record issue details. Use this resource to get, add, move, and remove fields from screen tabs."},{"name":"Screen schemes","description":"This resource represents screen schemes in classic projects. Use it to get, create, update, and delete screen schemes."},{"name":"Server info","description":"This resource provides information about the Jira instance."},{"name":"Tasks","description":"This resource represents a [long-running asynchronous tasks](#async-operations). Use it to obtain details about the progress of a long-running task or cancel a long-running task."},{"name":"Time tracking","description":"This resource represents time tracking and time tracking providers. Use it to get and set the time tracking provider, get and set the time tracking options, and disable time tracking."},{"name":"Users","description":"This resource represent users. Use this resource to:\n\n * get, get a list of, create, and delete users.\n * get, set, and reset a user's default issue table columns.\n * get a list of the groups the user belongs to.\n * get a list of user account IDs for a list of usernames or user keys."},{"name":"User properties","description":"This resource represents [user](#api-group-Users) properties and provides for storing custom data against a user. Use it to get, create, and delete user properties as well as get a list of property keys for a user. This resourse is designed for integrations and apps to store per-user data and settings. This enables data used to customized the user experience to be kept in the Jira Cloud instance's database. User properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).\n\nThis resource does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira."},{"name":"User search","description":"This resource represents various ways to search for and find users. Use it to obtain list of users including users assignable to projects and issues, users with permissions, user lists for pickup fields, and user lists generated using structured queries. Note that the operations in this resource only return users found within the first 1000 users."},{"name":"Webhooks","description":"This resource represents webhooks. Webhooks are calls sent to a URL when an event occurs in Jira for issues specified by a JQL query. Only Connect apps can register webhooks. For more information, see [Webhooks](https://developer.atlassian.com/cloud/jira/platform/webhooks/#registering-a-webhook-via-the-jira-rest-api-for-connect-apps)."},{"name":"Workflows","description":"This resource represents workflows. Use it to get a list of workflows."},{"name":"Workflow transition rules","description":"This resource represents workflow transition rules. Workflow transition rules define a Connect app routine, such as a [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) that is executed in association with the workflow. Use this resource to read and modify configuration of workflow transition rules."},{"name":"Workflow schemes","description":"This resource represents workflow schemes. Use this resource to manage workflow schemes and the workflow scheme's workflows and issue types.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. When an active workflow scheme is edited, a draft copy of the scheme is created. The draft workflow scheme is then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information."},{"name":"Workflow scheme project associations","description":"This resource represents the associations between workflow schemes and projects.\n\nFor more information, see [Managing your workflows](https://confluence.atlassian.com/x/q4hKLg)."},{"name":"Workflow scheme drafts","description":"This resource represents draft workflow schemes. Use this resource to manage drafts of workflow schemes.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. Editing an active workflow scheme creates a draft copy of the scheme. The draft workflow scheme can then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information."},{"name":"Workflow statuses","description":"This resource represents issue workflow statuses. Use it to obtain a list of all statuses associated with workflows and the details of a status."},{"name":"Workflow status categories","description":"This resource represents status categories. Use it to obtain a list of all status categories and the details of a category. Status categories provided a mechanism for categorizing [statuses](#api-group-Workflow-statuses)."},{"name":"Workflow transition properties","description":"This resource represents workflow transition properties, which provides for storing custom data against a workflow transition. Use it to get, create, and delete workflow transition properties as well as get a list of property keys for a workflow transition. Workflow transition properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"App properties","description":"This resource represents app properties. Use it to store arbitrary data for your\n[Connect app](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect)."},{"name":"Dynamic modules","description":"This resource represents [modules registered dynamically](https://developer.atlassian.com/cloud/jira/platform/dynamic-modules/)\nby [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect)."}],"paths":{"/rest/api/3/application-properties":{"get":{"tags":["Jira settings"],"summary":"Get application property","description":"Returns all application properties or an application property.\n\nIf you specify a value for the `key` parameter, then an application property is returned as an object (not in an array). Otherwise, an array of all editable application properties is returned. See [Set application property](#api-rest-api-3-application-properties-id-put) for descriptions of editable properties.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getApplicationProperty","parameters":[{"name":"key","in":"query","description":"The key of the application property.","schema":{"type":"string"}},{"name":"permissionLevel","in":"query","description":"The permission level of all items being returned in the list.","schema":{"type":"string"}},{"name":"keyFilter","in":"query","description":"When a `key` isn't provided, this filters the list of results by the application property `key` using a regular expression. For example, using `jira.lf.*` will return all application properties with keys that start with *jira.lf.*.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationProperty"}},"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 -\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the application property is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/application-properties/advanced-settings":{"get":{"tags":["Jira settings"],"summary":"Get advanced settings","description":"Returns the application properties that are accessible on the *Advanced Settings* page. To navigate to the *Advanced Settings* page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration** and then click **Advanced Settings** (in the upper right).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAdvancedSettings","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationProperty"}},"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 -\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/application-properties/{id}":{"put":{"tags":["Jira settings"],"summary":"Set application property","description":"Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values.\n\n#### Advanced settings ####\n\nThe advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | \n| `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | \n| `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | \n| `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | \n| `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | \n| `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | \n| `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` | \n| `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | \n| `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | \n| `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | \n\n\n#### Look and feel ####\n\nThe settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | \n| `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | \n| `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | \n| `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | \n| `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | \n| `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | \n| `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | \n| `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | \n| `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | \n| `jira.lf.top.adg3.bgcolour` | The background color of the sidebar. | `#0747A6` | \n| `jira.lf.top.adg3.textcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | \n| `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | \n| `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | \n| `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | \n| `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | \n\n\n#### Other settings ####\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | \n\n\n*Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).*\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setApplicationProperty","parameters":[{"name":"id","in":"path","description":"The key of the application property to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleApplicationPropertyBean"},"example":{"id":"jira.home","value":"/var/jira/jira-home"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationProperty"}}}},"400":{"description":"Returned if the data type of the `value` does not match the application property's data type. For example, a string is provided instead of an integer."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the property."},"404":{"description":"Returned if the property is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/applicationrole":{"get":{"tags":["Application roles"],"summary":"Get all application roles","description":"Returns all application roles. In Jira, application roles are managed using the [Application access configuration](https://confluence.atlassian.com/x/3YxjL) page.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllApplicationRoles","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRole"}},"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}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/applicationrole/{key}":{"get":{"tags":["Application roles"],"summary":"Get application role","description":"Returns an application role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getApplicationRole","parameters":[{"name":"key","in":"path","description":"The key of the application role. Use the [Get all application roles](#api-rest-api-3-applicationrole-get) operation to get the key for each application role.","required":true,"schema":{"type":"string","example":"jira-software"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationRole"},"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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."},"404":{"description":"Returned if the role is not found."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/attachment/meta":{"get":{"tags":["Issue attachments"],"summary":"Get Jira attachment settings","description":"Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.\n\nNote that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether users can create and delete attachments.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAttachmentMeta","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentSettings"},"example":"{\"enabled\":true,\"uploadLimit\":1000000}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/attachment/{id}":{"get":{"tags":["Issue attachments"],"summary":"Get attachment metadata","description":"Returns the metadata for an attachment. Note that the attachment itself is not returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getAttachment","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentMetadata"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.851+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/secure/thumbnail/10000/picture.jpg\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Issue attachments"],"summary":"Delete attachment","description":"Deletes an attachment from an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the project holding the issue containing the attachment:\n\n * *Delete own attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by the calling user.\n * *Delete all attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by any user.","operationId":"removeAttachment","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/attachment/{id}/expand/human":{"get":{"tags":["Issue attachments"],"summary":"Get all metadata for an expanded attachment","description":"Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.\n\nUse this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-raw-get), which only returns the metadata for the attachment's contents.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"expandAttachmentForHumans","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentArchiveMetadataReadable"},"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\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"The user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."},"409":{"description":"Returned if the attachment is an archive, but not a supported archive format."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/attachment/{id}/expand/raw":{"get":{"tags":["Issue attachments"],"summary":"Get contents metadata for an expanded attachment","description":"Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported.\n\nUse this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-human-get) which also returns the metadata for the attachment itself, such as the attachment's ID and name.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"expandAttachmentForMachines","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentArchiveImpl"},"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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"The user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."},"409":{"description":"Returned if the attachment is an archive, but not a supported archive format."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/auditing/record":{"get":{"tags":["Audit records"],"summary":"Get audit records","description":"Returns a list of audit records. The list can be filtered to include items:\n\n * containing a string in at least one field. For example, providing *up* will return all audit records where one or more fields contains words such as *update*.\n * created on or after a date and time.\n * created or or before a date and time.\n * created during a time period.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAuditRecords","parameters":[{"name":"offset","in":"query","description":"The number of records to skip before returning the first result.","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to return.","schema":{"type":"integer","format":"int32","default":1000}},{"name":"filter","in":"query","description":"The query string.","schema":{"type":"string"}},{"name":"from","in":"query","description":"The date and time on or after which returned audit records must have been created. If `to` is provided `from` must be before `to` or no audit records are returned.","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"The date and time on or before which returned audit results must have been created. If `from` is provided `to` must be after `from` or no audit records are returned.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditRecords"},"example":"{\"offset\":0,\"limit\":1000,\"total\":1,\"records\":[{\"id\":1,\"summary\":\"User created\",\"remoteAddress\":\"192.168.1.1\",\"authorKey\":\"administrator\",\"authorAccountId\":\"5ab8f18d741e9c2c7e9d4538\",\"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\"}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the required permissions.\n * all Jira products are on free plans. Audit logs are available when at least one Jira product is on a paid plan."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/avatar/{type}/system":{"get":{"tags":["Avatars"],"summary":"Get system avatars by type","description":"Returns a list of system avatar details by owner type, where the owner types are issue type, project, or user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllSystemAvatars","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","example":"project","enum":["issuetype","project","user"]},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemAvatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"500":{"description":"Returned if an error occurs while retrieving the list of avatars."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/comment/list":{"post":{"tags":["Issue comments"],"summary":"Get comments by IDs","description":"Returns a [paginated](#pagination) list of just the comments for a list of comments specified by comment IDs.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are returned where the user:\n\n * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentsByIds","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedBody` Returns the comment body rendered in HTML.\n * `properties` Returns the comment's properties.","schema":{"type":"string"}}],"requestBody":{"description":"The list of comment IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCommentListRequestBean"},"example":{"ids":[1,2,5,10]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanComment"},"example":"{\"maxResults\":1048576,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.894+0000\",\"updated\":\"2020-10-28T05:46:15.894+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}]}"}}},"400":{"description":"Returned if the request contains more than 1000 IDs or is empty."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/comment/{commentId}/properties":{"get":{"tags":["Issue comment properties"],"summary":"Get comment property keys","description":"Returns the keys of all the properties of a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentPropertyKeys","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the comment ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/comment/{commentId}/properties/{propertyKey}":{"get":{"tags":["Issue comment properties"],"summary":"Get comment property","description":"Returns the value of a comment property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment or the property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue comment properties"],"summary":"Set comment property","description":"Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.","operationId":"setCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the comment property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the comment property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue comment properties"],"summary":"Delete comment property","description":"Deletes a comment property.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.","operationId":"deleteCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment or the property is not found or the user has the necessary project permissions but isn't a member of the role or group visibility of the comment is restricted to."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/component":{"post":{"tags":["Project components"],"summary":"Create component","description":"Creates a component. Use components to provide containers for issues within a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the component is created or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createComponent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":{"isAssigneeTypeValid":false,"name":"Component 1","description":"This is a Jira component","project":"HSP","assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a2844c20165700ede21g"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `name` is not provided.\n * `name` is over 255 characters in length.\n * `projectId` is not provided.\n * `assigneeType` is an invalid value."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if the project is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/component/{id}":{"get":{"tags":["Project components"],"summary":"Get component","description":"Returns a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.","operationId":"getComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the component is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project components"],"summary":"Update component","description":"Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string (\"\") the component lead is removed.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":{"isAssigneeTypeValid":false,"name":"Component 1","description":"This is a Jira component","assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a2844c20165700ede21g"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Component"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `assigneeType` is an invalid value.\n * `name` is over 255 characters in length."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if the component is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project components"],"summary":"Delete component","description":"Deletes a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}},{"name":"moveIssuesTo","in":"query","description":"The ID of the component to replace the deleted component. If this value is null no replacement is made.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if:\n\n * the component is not found.\n * the replacement component is not found.\n * the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/component/{id}/relatedIssueCounts":{"get":{"tags":["Project components"],"summary":"Get component issues count","description":"Returns the counts of issues assigned to the component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getComponentRelatedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentIssuesCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"issueCount\":23}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the component is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/configuration":{"get":{"tags":["Jira settings"],"summary":"Get global settings","description":"Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this operation also returns the time tracking configuration.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getConfiguration","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"},"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\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/configuration/timetracking":{"get":{"tags":["Time tracking"],"summary":"Get selected time tracking provider","description":"Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a successful but empty response is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getSelectedTimeTrackingImplementation","parameters":[],"responses":{"200":{"description":"Returned if the request is successful and time tracking is enabled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingProvider"},"example":"{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\",\"url\":\"/example/config/url\"}"}}},"204":{"description":"Returned if the request is successful but time tracking is disabled.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Time tracking"],"summary":"Select time tracking provider","description":"Selects a time tracking provider.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"selectTimeTrackingImplementation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingProvider"},"example":{"key":"Jira"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the time tracking provider is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/configuration/timetracking/list":{"get":{"tags":["Time tracking"],"summary":"Get all time tracking providers","description":"Returns all time tracking providers. By default, Jira only has one time tracking provider: *JIRA provided time tracking*. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more information on time tracking providers, see the documentation for the [ Time Tracking Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAvailableTimeTrackingImplementations","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TimeTrackingProvider"}},"example":"[{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\",\"url\":\"/example/config/url\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/configuration/timetracking/options":{"get":{"tags":["Time tracking"],"summary":"Get time tracking settings","description":"Returns the time tracking settings. This includes settings such as the time format, default time unit, and others. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getSharedTimeTrackingConfiguration","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":"{\"workingHoursPerDay\":7.6,\"workingDaysPerWeek\":5.5,\"timeFormat\":\"pretty\",\"defaultUnit\":\"hour\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Time tracking"],"summary":"Set time tracking settings","description":"Sets the time tracking settings.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setSharedTimeTrackingConfiguration","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":{"defaultUnit":"hour","workingHoursPerDay":7.6,"workingDaysPerWeek":5.5,"timeFormat":"pretty"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":"{\"workingHoursPerDay\":7.6,\"workingDaysPerWeek\":5.5,\"timeFormat\":\"pretty\",\"defaultUnit\":\"hour\"}"}}},"400":{"description":"Returned if the request object is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/customField/{fieldId}/option":{"get":{"tags":["Issue custom field options"],"summary":"Get options for field","description":"Returns a [paginated](#pagination) list of options and, where the custom select field is of the type *Select List (cascading)*, cascading options for custom select fields. Cascading options are included in the item count when determining pagination. Only options from the global context are returned.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getOptionsForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1000}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldOptionDetails"},"example":"{\"maxResults\":2,\"startAt\":0,\"total\":100,\"isLast\":false,\"values\":[{\"id\":10000,\"value\":\"Option value\",\"cascadingOptions\":[\"Child option\",\"Child option 2\"]},{\"id\":10001,\"value\":\"Other option value\",\"cascadingOptions\":[]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue custom field options"],"summary":"Update custom field options","description":"Updates the options on a custom select field. Where an updated option is in use on an issue, the value on the issue is also updated. Options that are not found are ignored. A maximum of 1000 options, including sub-options of *Select List (cascading)* fields, can be updated per request. The options are updated on the global context of the field.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateCustomFieldOptions","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomFieldOption"},"example":{"options":[{"newValue":"New option","value":"Option"},{"cascadingOptions":[{"newValue":"New first child option","value":"First child option"}],"newValue":"Second option","value":"Second option"},{"cascadingOptions":[{"newValue":"New second child option","value":"Second child option"},{"newValue":"New third child option","value":"Third child option"}],"newValue":"New third option value","value":"Third option value"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the field is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue custom field options"],"summary":"Create custom field options","description":"Creates options and, where the custom select field is of the type *Select List (cascading)*, cascading options for a custom select field. The options are added to the global context of the field.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomFieldOptions","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. Note: This is the numeric part of the of the field ID. For example, for a field with the ID *customfield\\_10075* use *10075*.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCreateCustomFieldOptionRequest"},"example":{"options":[{"cascadingOptions":[],"value":"Option value"},{"cascadingOptions":["Child option"],"value":"Other option value"},{"cascadingOptions":["Sub-option","Sub-option 2"],"value":"Third option value"}]}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the field is not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/customFieldOption/{id}":{"get":{"tags":["Issue custom field options"],"summary":"Get custom field option","description":"Returns a custom field option. For example, an option in a select list.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The custom field option is returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the custom field is used in, and the field is visible in at least one layout the user has permission to view.","operationId":"getCustomFieldOption","parameters":[{"name":"id","in":"path","description":"The ID of the custom field option.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/customFieldOption/10000\",\"value\":\"To Do\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the custom field option is not found.\n * the user does not have permission to view the custom field."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/dashboard":{"get":{"tags":["Dashboards"],"summary":"Get all dashboards","description":"Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllDashboards","parameters":[{"name":"filter","in":"query","description":"The filter applied to the list of dashboards. Valid values are:\n\n * `favourite` Returns dashboards the user has marked as favorite.\n * `my` Returns dashboards owned by the user.","schema":{"type":"string","enum":["my","favourite"]}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfDashboards"},"example":"{\"startAt\":10,\"maxResults\":10,\"total\":143,\"prev\":\"https://your-domain.atlassian.net/rest/api/3/dashboard?startAt=0\",\"next\":\"https://your-domain.atlassian.net/rest/api/3/dashboard?startAt=10\",\"dashboards\":[{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"},{\"id\":\"20000\",\"isFavourite\":true,\"name\":\"Build Engineering\",\"owner\":{\"key\":\"Mia\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"name\":\"mia\",\"displayName\":\"Mia Krystof\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/20000\",\"sharePermissions\":[{\"id\":10105,\"type\":\"group\",\"group\":{\"name\":\"administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=administrators\"}}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=20000\"}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Dashboards"],"summary":"Create dashboard","description":"Creates a dashboard.\n\n**[Permissions](#permissions) required:** None.","operationId":"createDashboard","parameters":[],"requestBody":{"description":"Dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/dashboard/search":{"get":{"tags":["Dashboards"],"summary":"Search for dashboards","description":"Returns a [paginated](#pagination) list of dashboards. This operation is similar to [Get dashboards](#api-rest-api-3-dashboard-get) except that the results can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The following dashboards that match the query parameters are returned:\n\n * Dashboards owned by the user. Not returned for anonymous users.\n * Dashboards shared with a group that the user is a member of. Not returned for anonymous users.\n * Dashboards shared with a private project that the user can browse. Not returned for anonymous users.\n * Dashboards shared with a public project.\n * Dashboards shared with the public.","operationId":"getDashboardsPaginated","parameters":[{"name":"dashboardName","in":"query","description":"String used to perform a case-insensitive partial match with `name`.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with the `owner` parameter.","schema":{"maxLength":128,"type":"string"}},{"name":"owner","in":"query","description":"This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return dashboards with the matching `owner.name`. This parameter cannot be used with the `accountId` parameter.","schema":{"type":"string"}},{"name":"groupname","in":"query","description":"Group name used to returns dashboards that are shared with a group that matches `sharePermissions.group.name`.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`.","schema":{"type":"integer","format":"int64"}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by dashboard popularity.\n * `id` Sorts by dashboard ID.\n * `is_favourite` Sorts by whether the dashboard is marked as a favorite.\n * `name` Sorts by dashboard name.\n * `owner` Sorts by dashboard owner name.","schema":{"type":"string","enum":["description","-description","+description","favorite_count","-favorite_count","+favorite_count","id","-id","+id","is_favorite","-is_favorite","+is_favorite","name","-name","+name","owner","-owner","+owner"],"default":"name"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the dashboard.\n * `owner` Returns the owner of the dashboard.\n * `viewUrl` Returns the URL that is used to view the dashboard.\n * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.\n * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.\n * `sharePermissions` Returns details of the share permissions defined for the dashboard.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanDashboard"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/search?expand=owner&maxResults=50&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"description\":\"Testing program\",\"id\":\"1\",\"isFavourite\":true,\"name\":\"Testing\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\",\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/1\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=1\"},{\"description\":\"Quantum initiative\",\"id\":\"2\",\"isFavourite\":false,\"name\":\"Quantum \",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\",\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}},\"popularity\":0,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/2\",\"sharePermissions\":[{\"type\":\"loggedin\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=2\"}]}"}}},"400":{"description":"Returned if:\n\n * `orderBy` is invalid.\n * `expand` includes an invalid value.\n * `accountId` and `owner` are provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"401 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties":{"get":{"tags":["Dashboards"],"summary":"Get dashboard item property keys","description":"Returns the keys of all properties for a dashboard item.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or be shared the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboardItemPropertyKeys","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the dashboard or dashboard item is not found, or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}":{"get":{"tags":["Dashboards"],"summary":"Get dashboard item property","description":"Returns the key and value of a dashboard item property.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or be shared the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the dashboard, the dashboard item, or dashboard item property is not found, or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Dashboards"],"summary":"Set dashboard item property","description":"Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard item.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.","operationId":"setDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the dashboard item property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the dashboard item property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not the owner of the dashboard."},"404":{"description":"Returned if the dashboard item is not found or the dashboard is not shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Dashboards"],"summary":"Delete dashboard item property","description":"Deletes a dashboard item property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.","operationId":"deleteDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the dashboard item property is deleted."},"400":{"description":"Returned if the dashboard or dashboard item ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not the owner of the dashboard."},"404":{"description":"Returned if the dashboard item is not found or the dashboard is not shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/dashboard/{id}":{"get":{"tags":["Dashboards"],"summary":"Get dashboard","description":"Returns a dashboard.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.\n\nHowever, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Dashboards"],"summary":"Update dashboard","description":"Updates a dashboard, replacing all the dashboard details with those provided.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be updated must be owned by the user.","operationId":"updateDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Replacement dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Dashboards"],"summary":"Delete dashboard","description":"Deletes a dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be deleted must be owned by the user.","operationId":"deleteDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the dashboard is deleted."},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/dashboard/{id}/copy":{"post":{"tags":["Dashboards"],"summary":"Copy dashboard","description":"Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be copied must be owned by or shared with the user.","operationId":"copyDashboard","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by or shared with the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/expression/analyse":{"post":{"tags":["Jira expressions"],"summary":"Analyse Jira expression","description":"Analyses and validates Jira expressions.\n\nAs an experimental feature, this operation can also attempt to type-check the expressions.\n\nLearn more about Jira expressions in the [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).\n\n**[Permissions](#permissions) required**: None.","operationId":"analyseExpression","parameters":[{"name":"check","in":"query","description":"The check to perform:\n\n * `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are validated. For example, the expression's length.\n * `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors that would result in the expression failure at runtime are reported. For example, accessing properties that don't exist or passing the wrong number of arguments to functions. Also performs the syntax check.\n * `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each expression may execute.","schema":{"type":"string","enum":["syntax","type","complexity"],"default":"syntax"}}],"requestBody":{"description":"The Jira expressions to analyse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionForAnalysis"},"example":{"contextVariables":{"listOfStrings":"List","record":"{ a: Number, b: String }","value":"User"},"expressions":["issues.map(issue => issue.properties['property_key'])"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionsAnalysis"},"example":"{\"results\":[{\"expression\":\"analysed expression\",\"errors\":[{\"line\":1,\"column\":4,\"message\":\"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, new, [ or { expected, > encountered.\",\"type\":\"syntax\"},{\"message\":\"Jira expression is too long (1040), limit: 1000 characters\",\"type\":\"other\"},{\"message\":\"Jira expression has too many nodes (150), limit: 100 leaves\",\"type\":\"other\"}],\"valid\":false},{\"expression\":\"issues.map(i => {idAndKey: [i.id, i.key], summary: i.summary, comments: i.comments})\",\"valid\":true,\"type\":\"List<{idAndKey: [Number, String], summary: String, comments: List}>\",\"complexity\":{\"expensiveOperations\":\"N\",\"variables\":{\"N\":\"issues\"}}},{\"expression\":\"issues.map(i => i.id > '0')\",\"errors\":[{\"expression\":\"i.id > 0\",\"message\":\"Can't compare Number to String.\",\"type\":\"type\"}],\"valid\":false,\"type\":\"TypeError\"}]}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"404 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/expression/eval":{"post":{"tags":["Jira expressions"],"summary":"Evaluate Jira expression","description":"Evaluates a Jira expression and returns its value.\n\nThis resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.\n\n#### Context variables ####\n\nThe following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions.\n\n * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous.\n * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The Connect app that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).\n * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object.\n * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object.\n * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object.\n * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object.\n * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object.\n * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object.\n * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. \nPermission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`).","operationId":"evaluateJiraExpression","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions.","schema":{"type":"string"}}],"requestBody":{"description":"The Jira expression and the evaluation context.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionEvalRequestBean"},"example":{"expression":"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }","context":{"issue":{"key":"ACJIRA-1470"},"sprint":10001,"project":{"key":"ACJIRA"},"serviceDesk":10023,"issues":{"jql":{"maxResults":100,"query":"project = HSP","startAt":0,"validation":"strict"}},"board":10100,"customerRequest":1450}}}},"required":true},"responses":{"200":{"description":"Returned if the evaluation results in a value. The result is a JSON primitive value, list, or object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionResult"},"example":"{\"value\":\"The expression's result. This value can be any JSON, not necessarily a String\",\"meta\":{\"complexity\":{\"steps\":{\"value\":1,\"limit\":10000},\"expensiveOperations\":{\"value\":3,\"limit\":10},\"beans\":{\"value\":0,\"limit\":1000},\"primitiveValues\":{\"value\":1,\"limit\":10000}},\"issues\":{\"jql\":{\"startAt\":0,\"maxResults\":1000,\"count\":140,\"totalCount\":140,\"validationWarnings\":[\"There is a problem with the JQL query.\"]}}}}"}}},"400":{"description":"Returned if:\n\n * the request is invalid, that is:\n \n * invalid data is provided, such as a request including issue ID and key.\n * the expression is invalid and can not be parsed.\n * evaluation fails at runtime. This may happen for various reasons. For example, accessing a property on a null object (such as the expression `issue.id` where `issue` is `null`). In this case an error message is provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Evaluation failed: \\\"issue['a' + 'b']\\\" - Unrecognized property of `issue`: \\\"ab\\\" ('a' + 'b'). Available properties of type 'Issue' are: 'assignee', 'comments', 'description', 'id', 'issueType', 'key', 'priority', 'project', 'properties', 'reporter', 'status', 'summary'\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if any object provided in the request context is not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Issue does not exist or you do not have permission to see it.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/field":{"get":{"tags":["Issue fields"],"summary":"Get fields","description":"Returns system and custom issue fields according to the following rules:\n\n * Fields that cannot be added to the issue navigator are always returned.\n * Fields that cannot be placed on an issue screen are always returned.\n * Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking fields, subtasks, votes, and watches.\n * For all other fields, this operation only returns the fields that the user has permission to view (that is, the field is used in at least one project that the user has *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.)\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getFields","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FieldDetails"}},"example":"[{\"id\":\"description\",\"name\":\"Description\",\"custom\":false,\"orderable\":true,\"navigable\":true,\"searchable\":true,\"clauseNames\":[\"description\"],\"schema\":{\"type\":\"string\",\"system\":\"description\"}},{\"id\":\"summary\",\"key\":\"summary\",\"name\":\"Summary\",\"custom\":false,\"orderable\":true,\"navigable\":true,\"searchable\":true,\"clauseNames\":[\"summary\"],\"schema\":{\"type\":\"string\",\"system\":\"summary\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue fields"],"summary":"Create custom field","description":"Creates a custom field.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomField","parameters":[],"requestBody":{"description":"Definition of the custom field to be created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldDefinitionJsonBean"},"example":{"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","name":"New custom field","description":"Custom field for picking groups","type":"com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"}}},"required":true},"responses":{"201":{"description":"Returned if the custom field is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldDetails"},"example":"{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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}}"}}},"400":{"description":"Returned if:\n\n * the user does not have permission to create custom fields.\n * any of the request object properties have invalid or missing values."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/search":{"get":{"tags":["Issue fields"],"summary":"Get fields paginated","description":"Returns a [paginated](#pagination) list of fields for Classic Jira projects. The list can include:\n\n * all fields.\n * specific fields, by defining `id`.\n * fields that contain a string in the field name or description, by defining `query`.\n * specific fields that contain a string in the field name or description, by defining `id` and `query`.\n\nOnly custom fields can be queried, `type` must be set to `custom`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldsPaginated","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"type","in":"query","description":"The type of fields to search.","schema":{"type":"array","items":{"type":"string","enum":["custom","system"]}}},{"name":"id","in":"query","description":"The IDs of the custom fields to return or, where`query is specified, filter. IDs should be provided in the format customfield_XXXXX.`","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"query","in":"query","description":"String used to perform a case-insensitive partial match with field names or descriptions.","schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `contextsCount` Sorts by the number of contexts related to a field.\n * `lastUsed` Sorts by the date when the value of the field last changed.\n * `name` Sorts by the field name.\n * `screensCount` Sorts by the number of screens related to a field.","schema":{"type":"string","enum":["contextsCount","-contextsCount","+contextsCount","lastUsed","-lastUsed","+lastUsed","name","-name","+name","screensCount","-screensCount","+screensCount"]}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `key` Returns the key for each field.\n * `lastUsed` Returns the date when the value of the field last changed.\n * `screensCount` Returns the number of screens related to a field.\n * `contextsCount` Returns the number of contexts related to a field.\n * `isLocked` Returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanField"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":false,\"values\":[{\"id\":\"customfield_10000\",\"name\":\"Approvers\",\"description\":\"Contains users needed for approval. This custom field was created by Jira Service Desk.\",\"key\":\"customfield_10000\",\"isLocked\":true,\"screensCount\":2,\"contextsCount\":2,\"lastUsed\":{\"type\":\"TRACKED\",\"value\":\"2019-09-12T10:10:00.816+0000\"}},{\"id\":\"customfield_10001\",\"name\":\"Change reason\",\"description\":\"Choose the reason for the change request\",\"key\":\"customfield_10001\",\"isLocked\":false,\"screensCount\":2,\"contextsCount\":2}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only custom fields can be queried.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can access fields.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldId}/context/{contextId}":{"delete":{"tags":["Issue custom field contexts"],"summary":"Delete custom field context","description":"Deletes [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).\n\nOnly custom field contexts used in classic projects can be deleted.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the context is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The contextId has to be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field or the context was not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldId}/context/{contextId}/option":{"get":{"tags":["Issue custom field options"],"summary":"Get options for field (context)","description":"Returns a [paginated](#pagination) list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getOptionsForContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"optionId","in":"query","description":"The ID of the option.","schema":{"type":"integer","format":"int64"}},{"name":"onlyOptions","in":"query","description":"Whether only options are returned.","schema":{"type":"boolean","default":false}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1000}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContextOption"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"id\":\"10001\",\"value\":\"New York\"},{\"id\":\"10002\",\"value\":\"Boston\",\"disabled\":true},{\"id\":\"10004\",\"value\":\"Denver\"},{\"id\":\"10003\",\"value\":\"Brooklyn\",\"optionId\":\"10001\"}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found or the context doesn't match the custom field.","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldId}/context/{contextId}/option/move":{"put":{"tags":["Issue custom field options"],"summary":"Reorder options (context)","description":"Changes the order of custom field options or cascading options in a context.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"reorderCustomFieldOptions","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderOfCustomFieldOptions"},"example":{"position":"First","customFieldOptionIds":["10001","10002"]}}},"required":true},"responses":{"204":{"description":"Returned if options are reordered.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"'after' and 'position' were provided. Only 'after' or 'position' can be specified.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, the context, or one or more of the options is not found..","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldId}/context/{contextId}/option/{optionId}":{"delete":{"tags":["Issue custom field options"],"summary":"Delete custom field option (context)","description":"Deletes a custom field option.\n\nOptions with cascading options cannot be deleted without deleting the cascading options first.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteCustomFieldOption","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field. IDs should be provided in the format *customfield\\_XXXXX*.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context from which an option should be deleted.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"optionId","in":"path","description":"The ID of the option to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the option is deleted."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, the context, or the option is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"Custom field not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldId}/contexts":{"get":{"tags":["Issue fields"],"summary":"Get contexts for a field","description":"Returns a [paginated](#pagination) list of the contexts a field is used in.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getContextsForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field to return contexts for.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanContext"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":10001,\"name\":\"Default Context\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldId}/screens":{"get":{"tags":["Screens"],"summary":"Get screens for a field","description":"Returns a [paginated](#pagination) list of the screens a field is used in.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreensForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field to return screens for.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreen"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":10001,\"name\":\"Default Screen\",\"description\":\"Provides for the update of all system fields.\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get all issue field options","description":"Returns a [paginated](#pagination) list of all the options of a select list issue field. A select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a value from a list of options.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"getAllIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}]}"}}},"400":{"description":"Returned if the field is not found or does not support options."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"post":{"tags":["Issue custom field options (apps)"],"summary":"Create issue field option","description":"Creates an option for a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"createIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOptionCreateBean"},"example":{"value":"Team 1","config":{"scope":{"projects2":[{"attributes":["notSelectable"],"id":1002},{"attributes":["notSelectable"],"id":1001}],"projects":[],"global":{}},"attributes":[]},"properties":{"leader":{"name":"Leader Name","email":"lname@example.com"},"members":42,"founded":"2016-06-06","description":"The team's description"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the option is invalid."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option/suggestions/edit":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get selectable issue field options","description":"Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed and selected by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getSelectableIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"Filters the results to options that are only available in the specified project.","schema":{"type":"integer","format":"int64"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option/suggestions/search":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get visible issue field options","description":"Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getVisibleIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32"}},{"name":"projectId","in":"query","description":"Filters the results to options that are only available in the specified project.","schema":{"type":"integer","format":"int64"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option/{optionId}":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get issue field option","description":"Returns an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"getIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be returned.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the requested option is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the field is not found or does not support options."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the option is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"put":{"tags":["Issue custom field options (apps)"],"summary":"Update issue field option","description":"Updates or creates an option for a select list issue field. This operation requires that the option ID is provided when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID provided in the path and body must be identical.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"updateIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be updated.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":{"id":1,"value":"Team 1","config":{"scope":{"projects2":[{"attributes":["notSelectable"],"id":1002},{"attributes":["notSelectable"],"id":1001}],"projects":[],"global":{}},"attributes":[]},"properties":{"leader":{"name":"Leader Name","email":"lname@example.com"},"members":42,"founded":"2016-06-06","description":"The team's description"}}}},"required":true},"responses":{"200":{"description":"Returned if the option is updated or created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the option is invalid, or the *ID* in the request object does not match the *optionId* parameter."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["Issue custom field options (apps)"],"summary":"Delete issue field option","description":"Deletes an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"deleteIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be deleted.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the field option is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the field or option is not found."},"409":{"description":"Returned if the option is selected for the field in any issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option/{optionId}/issue":{"delete":{"tags":["Issue custom field options (apps)"],"summary":"Replace issue field option","description":"Deselects an issue-field select-list option from all issues where it is selected. A different option can be selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL query.\n\nThis is an [asynchronous operation](#async). The response object contains a link to the long-running task.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"replaceIssueFieldOption","parameters":[{"name":"replaceWith","in":"query","description":"The ID of the option that will replace the currently selected option.","schema":{"type":"integer","format":"int64"}},{"name":"jql","in":"query","description":"A JQL query that specifies the issues to be updated. For example, *project=10000*.","schema":{"type":"string"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be deselected.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"303":{"description":"Returned if the long-running task to deselect the option is started.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanRemoveOptionFromIssuesResult"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/task/1\",\"id\":\"1\",\"description\":\"Remove option 1 from issues matched by '*', and replace with option 3\",\"status\":\"COMPLETE\",\"result\":{\"modifiedIssues\":[10001,10010],\"unmodifiedIssues\":[10005],\"errors\":{\"errors\":{},\"errorMessages\":[\"Option 2 cannot be set on issue MKY-5 as it is not in the correct scope\"],\"httpStatusCode\":{\"present\":true}}},\"elapsedRuntime\":42}"}}},"400":{"description":"Returned if the JQL query is invalid."},"404":{"description":"Returned if the field is not found or does not support options, or the options to be replaced are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/fieldconfiguration":{"get":{"tags":["Issue field configurations"],"summary":"Get all field configurations","description":"Returns a [paginated](#pagination) list of all field configurations.\n\nOnly field configurations used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllFieldConfigurations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"isDefault","in":"query","description":"If *true* returns the default field configuration only.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfiguration"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":10000,\"name\":\"Default Field Configuration\",\"description\":\"The default field configuration description\",\"isDefault\":true},{\"id\":10001,\"name\":\"My Field Configuration\",\"description\":\"My field configuration description\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/fieldconfiguration/{id}/fields":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration items","description":"Returns a [paginated](#pagination) list of all fields for a configuration.\n\nOnly the fields from configurations used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationItems","parameters":[{"name":"id","in":"path","description":"The ID of the field configuration.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationItem"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"environment\",\"description\":\"For example operating system, software platform and/or hardware specifications (include as appropriate for the issue).\",\"isHidden\":false,\"isRequired\":false},{\"id\":\"description\",\"isHidden\":false,\"isRequired\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the field configuration is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/fieldconfigurationscheme":{"get":{"tags":["Issue field configurations"],"summary":"Get all field configuration schemes","description":"Returns a [paginated](#pagination) list of field configuration schemes.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllFieldConfigurationSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationScheme"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Field Configuration Scheme for Bugs\",\"description\":\"This field configuration scheme is for bugs only.\"},{\"id\":\"10001\",\"name\":\"Field Configuration Scheme for software related projects\",\"description\":\"We can use this one for software projects.\"},{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for Epics\",\"description\":\"Use this one for Epic issue type.\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/fieldconfigurationscheme/mapping":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration issue type items","description":"Returns a [paginated](#pagination) list of field configuration issue type items.\n\nOnly items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationSchemeMappings","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"fieldConfigurationSchemeId","in":"query","description":"The list of field configuration scheme IDs. To include multiple field configuration schemes separate IDs with ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`.","schema":{"maxItems":50,"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64","example":10020}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationIssueTypeItem"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":5,\"isLast\":true,\"values\":[{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\":\"10000\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\":\"10001\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\":\"10021\",\"issueTypeId\":\"10002\",\"fieldConfigurationId\":\"10000\"},{\"fieldConfigurationSchemeId\":\"10022\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"10011\"},{\"fieldConfigurationSchemeId\":\"10023\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"10000\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if no field configuration schemes are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/fieldconfigurationscheme/project":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration schemes for projects","description":"Returns a [paginated](#pagination) list of field configuration schemes and, for each scheme, a list of the projects that use it.\n\nThe list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to the default field configuration scheme.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationSchemeProjectMapping","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationSchemeProjects"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":5,\"isLast\":true,\"values\":[{\"projectIds\":[\"10\",\"11\"]},{\"fieldConfigurationScheme\":{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for software related projects\",\"description\":\"We can use this one for software projects.\"},\"projectIds\":[\"12\",\"13\",\"14\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue field configurations"],"summary":"Assign field configuration scheme to project","description":"Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.\n\nField configuration schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignFieldConfigurationSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldConfigurationSchemeProjectAssociation"},"example":{"fieldConfigurationSchemeId":"10000","projectId":"10000"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the project is not a classic project.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have field configuration schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access field configurations.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the project is missing.","content":{"application/json":{"example":"{\"errorMessages\":[\"The project was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/filter":{"get":{"tags":["Filters"],"summary":"Get filters","description":"Returns all filters. Deprecated, use [ Search for filters](#api-rest-api-3-filter-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-changes":[{"type":"removed","announced":"2018-10-19","effective":"2019-04-19","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/"}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Filters"],"summary":"Create filter","description":"Creates a filter. The filter is shared according to the [default share scope](#api-rest-api-3-filter-post). The filter is not selected as a favorite.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"createFilter","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"requestBody":{"description":"The filter to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":{"jql":"type = Bug and resolution is empty","name":"All Open Bugs","description":"Lists all open bugs"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/filter/defaultShareScope":{"get":{"tags":["Filter sharing"],"summary":"Get default share scope","description":"Returns the default sharing settings for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getDefaultShareScope","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":"{\"scope\":\"GLOBAL\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filter sharing"],"summary":"Set default share scope","description":"Sets the default sharing for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setDefaultShareScope","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":{"scope":"GLOBAL"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":"{\"scope\":\"GLOBAL\"}"}}},"400":{"description":"Returned if an invalid scope is set."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/filter/favourite":{"get":{"tags":["Filters"],"summary":"Get favorite filters","description":"Returns the visible favorite filters of the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** A favorite filter is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.","operationId":"getFavouriteFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}}],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/filter/my":{"get":{"tags":["Filters"],"summary":"Get my filters","description":"Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are also returned.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.","operationId":"getMyFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}},{"name":"includeFavourites","in":"query","description":"Include the user's favorite filters in the response.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}}],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/filter/search":{"get":{"tags":["Filters"],"summary":"Search for filters","description":"Returns a [paginated](#pagination) list of filters. Use this operation to get:\n\n * specific filters, by defining `id` only.\n * filters that match all of the specified attributes. For example, all filters for a user with a particular word in their name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters that match the query parameters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getFiltersPaginated","parameters":[{"name":"filterName","in":"query","description":"String used to perform a case-insensitive partial match with `name`.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"User account ID used to return filters with the matching `owner.accountId`. This parameter cannot be used with `owner`.","schema":{"maxLength":128,"type":"string"}},{"name":"owner","in":"query","description":"This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return filters with the matching `owner.name`. This parameter cannot be used with `accountId`.","schema":{"type":"string"}},{"name":"groupname","in":"query","description":"Group name used to returns filters that are shared with a group that matches `sharePermissions.group.groupname`.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"Project ID used to returns filters that are shared with a project that matches `sharePermissions.project.id`.","schema":{"type":"integer","format":"int64"}},{"name":"id","in":"query","description":"The list of filter IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by filter description. Note that this sorting works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by the count of how many users have this filter as a favorite.\n * `is_favourite` Sorts by whether the filter is marked as a favorite.\n * `id` Sorts by filter ID.\n * `name` Sorts by filter name.\n * `owner` Sorts by the ID of the filter owner.","schema":{"type":"string","enum":["description","-description","+description","favorite_count","-favorite_count","+favorite_count","id","-id","+id","is_favorite","-is_favorite","+is_favorite","name","-name","+name","owner","-owner","+owner"],"default":"name"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the filter.\n * `favourite` Returns an indicator of whether the user has set the filter as a favorite.\n * `favouritedCount` Returns a count of how many users have set this filter as a favorite.\n * `jql` Returns the JQL query that the filter uses.\n * `owner` Returns the owner of the filter.\n * `searchUrl` Returns a URL to perform the filter's JQL query.\n * `sharePermissions` Returns the share permissions defined for the filter.\n * `subscriptions` Returns the users that are subscribed to the filter.\n * `viewUrl` Returns a URL to view the filter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFilterDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/search?accountId=&maxResults=50&filterName=&orderBy=name&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":[]},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}}],\"subscriptions\":[{\"id\":1,\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}}]}]}"}}},"400":{"description":"Returned if:\n\n * `owner` and `accountId` are provided.\n * `expand` includes an invalid value.\n * `orderBy` is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/filter/{id}":{"get":{"tags":["Filters"],"summary":"Get filter","description":"Returns a filter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, the filter is only returned where it is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.","operationId":"getFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to return.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the filter is not found or the user does not have permission to view it."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filters"],"summary":"Update filter","description":"Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must own the filter.","operationId":"updateFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to update.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"requestBody":{"description":"The filter to update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":{"jql":"type = Bug and resolution is empty","name":"All Open Bugs","description":"Lists all open bugs"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Delete filter","description":"Delete a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the filter is not found."},"401":{"description":"Returned if the user does not have permission to delete the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/filter/{id}/columns":{"get":{"tags":["Filters"],"summary":"Get columns","description":"Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed in *List View* with the *Columns* set to *Filter*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, column details are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}},"example":"[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"Summary\",\"value\":\"summary\"}]"}}},"400":{"description":"Returned if the user does not have permission to view the filter."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if a column configuration is not set for the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filters"],"summary":"Set columns","description":"Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get fields](#api-rest-api-3-field-get) to get the list fields in Jira. A navigable field has `navigable` set to `true`.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/filter/10000/columns`\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only set for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"setColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The IDs of the fields to set as columns. In the form data, specify each field as `columns=id`, where `id` is the *id* of a field (as seen in the response for [Get fields](#api-rest-api--field-get)). For example, `columns=summary`.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * a non-navigable field is set as a column.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Reset columns","description":"Reset the user's column configuration for the filter to the default.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only reset for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"resetColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/filter/{id}/favourite":{"put":{"tags":["Filters"],"summary":"Add filter as favorite","description":"Add a filter as a favorite for the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, the user can only favorite:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"setFavouriteForFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to favorite the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Remove filter as favorite","description":"Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from the user's favorites list. For example, if the user favorites a public filter that is subsequently made private (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"deleteFavouriteForFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/filter/{id}/permission":{"get":{"tags":["Filter sharing"],"summary":"Get share permissions","description":"Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, share permissions are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getSharePermissions","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharePermission"}},"example":"[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY\",\"id\":\"10002\",\"key\":\"MKY\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"},\"deleted\":true,\"retentionTillDate\":\"2020-12-27T05:46:13.936+0000\",\"deletedDate\":\"2020-10-28T05:46:13.936+0000\",\"deletedBy\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}},\"role\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}},{\"id\":10010,\"type\":\"group\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Filter sharing"],"summary":"Add share permission","description":"Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the public) it will overwrite all share permissions for the filter.\n\nBe aware that this operation uses different objects for updating share permissions compared to [Update filter](#api-rest-api-3-filter-id-put).\n\n**[Permissions](#permissions) required:** *Share dashboards and filters* [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the filter.","operationId":"addSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePermissionInputBean"},"example":{"type":"group","groupname":"jira-administrators"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharePermission"}},"example":"[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY\",\"id\":\"10002\",\"key\":\"MKY\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"},\"deleted\":true,\"retentionTillDate\":\"2020-12-27T05:46:13.936+0000\",\"deletedDate\":\"2020-10-28T05:46:13.936+0000\",\"deletedBy\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}},\"role\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}},{\"id\":10010,\"type\":\"group\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"}}]"}}},"400":{"description":"Returned if:\n\n * the request object is invalid. For example, it contains an invalid type, the ID does not match the type, or the project or group is not found.\n * the user does not own the filter.\n * the user does not have the required permissions."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/filter/{id}/permission/{permissionId}":{"get":{"tags":["Filter sharing"],"summary":"Get share permission","description":"Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, a share permission is only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the share permission.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePermission"},"example":"{\"id\":10000,\"type\":\"global\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the permission is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Filter sharing"],"summary":"Delete share permission","description":"Deletes a share permission from a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira and the user must own the filter.","operationId":"deleteSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the share permission.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not own the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/group":{"get":{"tags":["Groups"],"summary":"Get group","description":"This operation is deprecated, use [`group/member`](#api-rest-api-3-group-member-get).\n\nReturns all users in a group.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"List of fields to expand.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the Administer Jira global permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Groups"],"summary":"Create group","description":"Creates a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"createGroup","parameters":[],"requestBody":{"description":"The name of the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddGroupBean"},"example":{"name":"power-users"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"},"example":"{\"name\":\"power-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=power-users\",\"users\":{\"size\":1,\"items\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}],\"max-results\":50,\"start-index\":0,\"end-index\":0},\"expand\":\"users\"}"}}},"400":{"description":"Returned if group name is not specified or the group name is in use."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Groups"],"summary":"Remove group","description":"Deletes a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* strategic [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"swapGroup","in":"query","description":"The group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/group/bulk":{"get":{"tags":["Groups"],"summary":"Bulk get groups","description":"Returns a [paginated](#pagination) list of the groups specified by one or more group IDs.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetGroups","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"groupId","in":"query","description":"The ID of a group. To specify multiple groups, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"type":"array","example":"3571b9a7-348f-414a-9087-8e1ea03a7df8","items":{"type":"string","example":"3571b9a7-348f-414a-9087-8e1ea03a7df8"}},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanGroupDetails"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"name\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user doesn't have permission to view the list of groups."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/group/member":{"get":{"tags":["Groups"],"summary":"Get users from group","description":"Returns a [paginated](#pagination) list of all users in a group.\n\nNote that users are ordered by username, however the username is not returned in the results due to privacy reasons.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUsersFromGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"includeInactiveUsers","in":"query","description":"Include inactive users.","schema":{"type":"boolean","default":false}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUserDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=2&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=4&maxResults=2\",\"maxResults\":2,\"startAt\":3,\"total\":5,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"name\":\"\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{},\"displayName\":\"Mia\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"accountType\":\"atlassian\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a0effa615349cb016cd8\",\"name\":\"\",\"key\":\"\",\"accountId\":\"5b10a0effa615349cb016cd8\",\"emailAddress\":\"will@example.com\",\"avatarUrls\":{},\"displayName\":\"Will\",\"active\":false,\"timeZone\":\"Australia/Sydney\",\"accountType\":\"atlassian\"}]}"}}},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the Administer Jira global permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/group/user":{"post":{"tags":["Groups"],"summary":"Add user to group","description":"Adds a user to a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"addUserToGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group (case sensitive).","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The user to add to the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserToGroupBean"},"example":{"accountId":"5b10ac8d82e05b22cc7d4ef5"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Returned if:\n\n * `groupname` is not provided.\n * `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the calling user does not have the necessary permission."},"404":{"description":"Returned if the group or user are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Groups"],"summary":"Remove user from group","description":"Removes a user from a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeUserFromGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * `groupName` is missing.\n * `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the group or user are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/groups/picker":{"get":{"tags":["Groups"],"summary":"Find groups","description":"Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude groups from the results.\n\nThe primary use case for this resource is to populate a group picker suggestions list. To this end, the returned object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker, specifically *Showing X of Y matching groups*.\n\nThe list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users without the required permission return an empty list.","operationId":"findGroups","parameters":[{"name":"accountId","in":"query","description":"This parameter is deprecated, setting it does not affect the results. To find groups containing a particular user, use [Get user groups](#api-rest-api-3-user-groups-get).","schema":{"type":"string"}},{"name":"query","in":"query","description":"The string to find in group names.","schema":{"type":"string","example":"query"}},{"name":"exclude","in":"query","description":"A group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"maxResults","in":"query","description":"The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`.","schema":{"type":"integer","format":"int32"}},{"name":"userName","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundGroups"},"example":"{\"header\":\"Showing 20 of 25 matching groups\",\"total\":25,\"groups\":[{\"name\":\"jdog-developers\",\"html\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"html\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/groupuserpicker":{"get":{"tags":["Group and user picker"],"summary":"Find users and groups","description":"Returns a list of users and groups matching a string. The string is used:\n\n * for users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.\n * for groups, to find a case-sensitive match with group name.\n\nFor example, if the string *tin* is used, records with the display name *Tina*, email address *sarah@tinplatetraining.com*, and the group *accounting* would be returned.\n\nOptionally, the search can be refined to:\n\n * the projects and issue types associated with a custom field, such as a user picker. The search can then be further refined to return only users and groups that have permission to view specific:\n \n * projects.\n * issue types.\n \n If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.\n * not return Connect app users and groups.\n * return groups that have a case-insensitive match with the query.\n\nThe primary use case for this resource is to populate a picker field suggestion list with users or groups. To this end, the returned object includes an `html` field for each list. This field highlights the matched query term in the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for use in a picker, specifically *Showing X of Y matching groups*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"findUsersAndGroups","parameters":[{"name":"query","in":"query","description":"The search string.","required":true,"schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"The maximum number of items to return in each list.","schema":{"type":"integer","format":"int32","default":50}},{"name":"showAvatar","in":"query","description":"Whether the user avatar should be returned. If an invalid value is provided, the default value is used.","schema":{"type":"boolean","default":false}},{"name":"fieldId","in":"query","description":"The custom field ID of the field this request is for.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"The ID of a project that returned users and groups must have permission to view. To include multiple projects, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`. This parameter is only used when `fieldId` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issueTypeId","in":"query","description":"The ID of an issue type that returned users and groups must have permission to view. To include multiple issue types, provide an ampersand-separated list. For example, `issueTypeId=10000&issueTypeId=10001`. Special values, such as `-1` (all standard issue types) and `-2` (all subtask issue types), are supported. This parameter is only used when `fieldId` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"avatarSize","in":"query","description":"The size of the avatar to return. If an invalid value is provided, the default value is used.","schema":{"type":"string","enum":["xsmall","xsmall@2x","xsmall@3x","small","small@2x","small@3x","medium","medium@2x","medium@3x","large","large@2x","large@3x","xlarge","xlarge@2x","xlarge@3x","xxlarge","xxlarge@2x","xxlarge@3x","xxxlarge","xxxlarge@2x","xxxlarge@3x"],"default":"xsmall"}},{"name":"caseInsensitive","in":"query","description":"Whether the search for groups should be case insensitive.","schema":{"type":"boolean","default":false}},{"name":"excludeConnectAddons","in":"query","description":"Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided, the default value is used.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundUsersAndGroups"},"example":"{\"users\":{\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"mia\",\"key\":\"mia\",\"html\":\"Mia Krystof - mia@example.com (mia)\",\"displayName\":\"Mia Krystof\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}],\"total\":25,\"header\":\"Showing 20 of 25 matching groups\"},\"groups\":{\"header\":\"Showing 20 of 25 matching groups\",\"total\":25,\"groups\":[{\"name\":\"jdog-developers\",\"html\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"html\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}}"}}},"400":{"description":"Returned if the query parameter is not provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue":{"post":{"tags":["Issues"],"summary":"Create issue","description":"Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.\n\nThe content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These are the same fields that appear on the issue's create screen. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).\n * `parent` must contain the ID or key of the parent issue.\n\nIn a next-gen project any issue may be made a child providing that the parent and child are members of the same project. In a classic project the parent field is only valid for subtasks.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created.","operationId":"createIssue","parameters":[{"name":"updateHistory","in":"query","description":"Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"update":{},"fields":{"summary":"Main order flow broken","parent":{"key":"PROJ-123"},"issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Occurs on all orders","type":"text"}]}]},"customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"10000"},"description":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Order entry fails when selecting supplier.","type":"text"}]}]},"reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"remainingEstimate":"5","originalEstimate":"10"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"UAT","type":"text"}]}]},"versions":[{"id":"10000"}],"duedate":"2019-05-11","customfield_60000":"jira-software-users","customfield_50000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Could impact day-to-day work.","type":"text"}]}]},"assignee":{"id":"5b109f2e9729b51b54dc274d"}}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssue"},"example":"{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10000\",\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\":{}}}}"}}},"400":{"description":"Returned if the request:\n\n * is missing required fields.\n * contains invalid field values.\n * contains fields that cannot be set for the issue type.\n * is by a user who does not have the necessary permission.\n * is to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * is invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Field 'priority' is required\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/bulk":{"post":{"tags":["Issues"],"summary":"Bulk create issue","description":"Creates issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue properties set.\n\nThe content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These are the same fields that appear on the issues' create screens. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).\n * `parent` the must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which each issue or subtask is created.","operationId":"createIssues","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesUpdateBean"},"example":{"issueUpdates":[{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2019-07-05T11:05:00.000+0000"}}]},"fields":{"summary":"Main order flow broken","issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Occurs on all orders","type":"text"}]}]},"customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"10000"},"description":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Order entry fails when selecting supplier.","type":"text"}]}]},"reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"remainingEstimate":"5","originalEstimate":"10"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"UAT","type":"text"}]}]},"versions":[{"id":"10000"}],"duedate":"2011-03-11","customfield_60000":"jira-software-users","customfield_50000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Could impact day-to-day work.","type":"text"}]}]},"assignee":{"id":"5b109f2e9729b51b54dc274d"}}},{"update":{},"fields":{"summary":"Order stuck in pending","issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Occurs on all orders","type":"text"}]}]},"customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"1000"},"description":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Order remains pending after approved.","type":"text"}]}]},"reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["new_release"],"timetracking":{"remainingEstimate":"5","originalEstimate":"15"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"UAT","type":"text"}]}]},"versions":[{"id":"10000"}],"duedate":"2019-04-16","customfield_60000":"jira-software-users","customfield_50000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Could impact day-to-day work.","type":"text"}]}]},"assignee":{"id":"5b109f2e9729b51b54dc274d"}}}]}}},"required":true},"responses":{"201":{"description":"Returned if any of the issue or subtask creation requests were successful. A request may be unsuccessful when it:\n\n * is missing required fields.\n * contains invalid field values.\n * contains fields that cannot be set for the issue type.\n * is by a user who does not have the necessary permission.\n * is to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * is invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssues"},"example":"{\"issues\":[{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10000\",\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\":{}}}},{\"id\":\"10001\",\"key\":\"ED-25\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10001\"}],\"errors\":[]}"}}},"400":{"description":"Returned if all requests are invalid. Requests may be unsuccessful when they:\n\n * are missing required fields.\n * contain invalid field values.\n * contain fields that cannot be set for the issue type.\n * are by a user who does not have the necessary permission.\n * are to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * are invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssues"},"example":"{\"issues\":[],\"errors\":[{\"status\":400,\"elementErrors\":{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\",\"project\":\"Sub-tasks must be created in the same project as the parent.\"}},\"failedElementNumber\":0},{\"status\":400,\"elementErrors\":{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\",\"project\":\"Sub-tasks must be created in the same project as the parent.\"}},\"failedElementNumber\":1}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/createmeta":{"get":{"tags":["Issues"],"summary":"Get create issue metadata","description":"Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in [ Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).\n\nThe request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.","operationId":"getCreateIssueMeta","parameters":[{"name":"projectIds","in":"query","description":"List of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using an ampersand-separated list. For example, `projectIds=10000,10001&projectIds=10020,10021`. This parameter may be provided with `projectKeys`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"projectKeys","in":"query","description":"List of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided using an ampersand-separated list. For example, `projectKeys=proj1,proj2&projectKeys=proj3`. This parameter may be provided with `projectIds`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issuetypeIds","in":"query","description":"List of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided using an ampersand-separated list. For example, `issuetypeIds=10000,10001&issuetypeIds=10020,10021`. This parameter may be provided with `issuetypeNames`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issuetypeNames","in":"query","description":"List of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be provided using an ampersand-separated list. For example, `issuetypeNames=name1,name2&issuetypeNames=name3`. This parameter may be provided with `issuetypeIds`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about issue metadata in the response. This parameter accepts `projects.issuetypes.fields`, which returns information about the fields in the issue creation screen for each issue type. Fields hidden from the screen are not returned. Use the information to populate the `fields` and `update` fields in [Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCreateMetadata"},"example":"{\"projects\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/ED\",\"id\":\"10000\",\"key\":\"ED\",\"name\":\"Edison Project\",\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000&avatarId=10011\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000&avatarId=10011\",\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?pid=10000&avatarId=10011\"},\"issuetypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"An error in the code\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png\",\"name\":\"Bug\",\"subtask\":false,\"fields\":{\"issuetype\":{\"required\":true,\"name\":\"Issue Type\",\"key\":\"issuetype\",\"hasDefaultValue\":false,\"operations\":[\"set\"]}}}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/picker":{"get":{"tags":["Issue search"],"summary":"Get issue picker suggestions","description":"Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the user is looking for an issue using a word or string.\n\nThis operation returns two lists:\n\n * `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain the string in the `query` parameter.\n * `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the `query` parameter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getIssuePickerResource","parameters":[{"name":"query","in":"query","description":"A string to match against text fields in the issue such as title, description, or comments.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"currentJQL","in":"query","description":"A JQL query defining a list of issues to search for the query term. Note that `username` and `userkey` cannot be used as search terms for this parameter, due to privacy reasons. Use `accountId` instead.","schema":{"type":"string"}},{"name":"currentIssueKey","in":"query","description":"The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform this query.","schema":{"type":"string"}},{"name":"currentProjectId","in":"query","description":"The ID of a project that suggested issues must belong to.","schema":{"type":"string"}},{"name":"showSubTasks","in":"query","description":"Indicate whether to include subtasks in the suggestions list.","schema":{"type":"boolean"}},{"name":"showSubTaskParent","in":"query","description":"When `currentIssueKey` is a subtask, whether to include the parent issue in the suggestions if it matches the query.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuePickerSuggestions"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/properties":{"post":{"tags":["Issue properties"],"summary":"Bulk set issues properties","description":"Sets the values of entity properties on issues. It can set up to 10 entity properties on up to 10,000 issues.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum length of single issue property value is 32768 characters. This operation can be accessed anonymously.\n\nThis operation is:\n\n * transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"bulkSetIssuesProperties","parameters":[],"requestBody":{"description":"Issue properties to be set or updated with values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueEntityProperties"}}},"required":true},"responses":{"303":{"description":"Returned if the operation is successful."},"400":{"description":"Return if the request is invalid or the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/properties/{propertyKey}":{"put":{"tags":["Issue properties"],"summary":"Bulk set issue property","description":"Sets a property value on multiple issues. The issues to be updated can be specified by a filter.\n\nThe filter identifies issues eligible for update using these criteria:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n * `hasProperty`:\n \n * If *true*, only issues with the property are eligible.\n * If *false*, only issues without the property are eligible.\n\nIf more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible.\n\nIf an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value).\n\nThe filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either all eligible issues are updated or, when errors occur, none are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.","operationId":"bulkSetIssueProperty","parameters":[{"name":"propertyKey","in":"path","description":"The key of the property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkIssuePropertyUpdateRequest"},"example":{"filter":{"hasProperty":true,"entityIds":[10100,100010],"currentValue":{"owner":"admin","weight":50}},"value":{"owner":"admin","weight":100}}}},"required":true},"responses":{"303":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue properties"],"summary":"Bulk delete issue property","description":"Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.\n\nThe criteria the filter used to identify eligible issues are:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n\nIf both criteria is specified, they are joined with the logical *AND*: only issues that satisfy both criteria are considered eligible.\n\nIf no filter criteria are specified, all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.","operationId":"bulkDeleteIssueProperty","parameters":[{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFilterForBulkPropertyDelete"},"example":{"entityIds":[10100,100010],"currentValue":"deprecated value"}}},"required":true},"responses":{"303":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}":{"get":{"tags":["Issues"],"summary":"Get issue","description":"Returns the details for an issue.\n\nThe issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is **not** returned. The issue key returned in the response is the key of the issue found.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all (default) fields except description.\n * `*navigable,-comment` Returns all navigable fields except comment.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2& fields=field3`.\n\nNote: All fields are returned by default. This differs from [Search for issues using JQL (GET)](#api-rest-api-3-search-get) and [Search for issues using JQL (POST)](#api-rest-api-3-search-post) where the default is all navigable fields.","schema":{"type":"array","items":{"type":"string","default":"*all"}}},{"name":"fieldsByKeys","in":"query","description":"Whether fields in `fields` are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID.","schema":{"type":"boolean","default":false}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the `fields` parameter is ignored.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:\n\n * `*all` Returns all issue properties.\n * Any issue property key, prefixed with a minus to exclude.\n\nExamples:\n\n * `*all` Returns all properties.\n * `*all,-prop1` Returns all properties except `prop1`.\n * `prop1,prop2` Returns `prop1` and `prop2` properties.\n\nThis parameter may be specified multiple times. For example, `properties=prop1,prop2& properties=prop3`.","schema":{"type":"array","items":{"type":"string","default":"null"}}},{"name":"updateHistory","in":"query","description":"Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. This also populates the [JQL issues search](#api-rest-api-3-search-get) `lastViewed` field.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueBean"},"example":"{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.851+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/secure/thumbnail/10000/picture.jpg\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Main order flow broken\"}]}]},\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.894+0000\",\"updated\":\"2020-10-28T05:46:15.894+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2020-10-28T05:46:15.899+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:15.898+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}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issues"],"summary":"Edit issue","description":"Edits an issue. A transition may be applied and issue properties updated as part of the edit.\n\nThe edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are determined using [ Get edit issue metadata](#api-rest-api-3-issue-issueIdOrKey-editmeta-get).\n\nThe parent field may be set by key or ID. For standard issue types, the parent may be removed by setting `update.parent.set.none` to *true*. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content.\n\nConnect app users with admin permissions (from user permissions and app scopes) can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"editIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether a notification email about the issue update is sent to all watchers. To disable the notification, administer Jira or administer project permissions are required. If the user doesn't have the necessary permission the request is ignored.","schema":{"type":"boolean","default":true}},{"name":"overrideScreenSecurity","in":"query","description":"Whether screen security should be overridden to enable hidden fields to be edited. Available to Connect app users with admin permissions.","schema":{"type":"boolean","default":false}},{"name":"overrideEditableFlag","in":"query","description":"Whether screen security should be overridden to enable uneditable fields to be edited. Available to Connect app users with admin permissions.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"historyMetadata":{"actor":{"avatarUrl":"http://mysystem/avatar/tony.jpg","displayName":"Tony","id":"tony","type":"mysystem-user","url":"http://mysystem/users/tony"},"extraData":{"Iteration":"10a","Step":"4"},"description":"From the order testing process","generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"activityDescription":"Complete order processing","type":"myplugin:type"},"update":{"summary":[{"set":"Bug in business logic"}],"components":[{"set":""}],"timetracking":[{"edit":{"remainingEstimate":"4d","originalEstimate":"1w 1d"}}],"labels":[{"add":"triaged"},{"remove":"blocker"}]},"fields":{"summary":"Completed orders still displaying in pending","customfield_10010":1,"customfield_10000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Investigation underway","type":"text"}]}]}},"properties":[{"value":"Order number 10784","key":"key1"},{"value":"Order number 10923","key":"key2"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the request body is missing.\n * the user does not have the necessary permission to edit one or more fields.\n * the request includes one or more fields that are not found or are not associated with the issue's edit screen.\n * the request includes an invalid transition."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user uses `overrideScreenSecurity` or `overrideEditableFlag` but doesn't have the necessary permission."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issues"],"summary":"Delete issue","description":"Deletes an issue.\n\nAn issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`. This causes the issue's subtasks to be deleted with the issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Delete issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"deleteSubtasks","in":"query","description":"Whether the issue's subtasks are deleted when the issue is deleted.","schema":{"type":"string","enum":["true","false"],"default":"false"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue has subtasks and `deleteSubtasks` is not set to *true*."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to delete the issue."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/assignee":{"put":{"tags":["Issues"],"summary":"Assign issue","description":"Assigns an issue to a user. Use this operation when the calling user does not have the *Edit Issues* permission but has the *Assign issue* permission for the project that the issue is in.\n\nIf `name` or `accountId` is set to:\n\n * `\"-1\"`, the issue is assigned to the default assignee for the project.\n * `null`, the issue is set to unassigned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* and *Assign Issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"assignIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue to be assigned.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The request object with the user that the issue is assigned to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":{"accountId":"5b10ac8d82e05b22cc7d4ef5"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `name`, `key`, or `accountId` is missing.\n * more than one of `name`, `key`, and `accountId` are provided."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/attachments":{"post":{"tags":["Issue attachments"],"summary":"Add attachment","description":"Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)).\n\nNote that:\n\n * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information.\n * The name of the multipart/form-data parameter that contains the attachments must be `file`.\n\nThe following example uploads a file called *myfile.txt* to the issue *TEST-123*:\n\n`curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: no-check\" -F \"file=@myfile.txt\" https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments`\n\nTip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** \n\n * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addAttachment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue that attachments are added to.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"id\":\"10001\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"2020-10-28T05:46:20.145+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/secure/thumbnail/10000/picture.jpg\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10001\",\"filename\":\"dbeuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"2020-10-28T05:46:20.145+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/secure/attachments/10001/dbeuglog.txt\"}]"}}},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * the issue is not found.\n * the user does not have permission to view the issue."},"413":{"description":"The attachments exceed the maximum attachment size for issues. See [Configuring file attachments](https://confluence.atlassian.com/x/wIXKM) for details."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/changelog":{"get":{"tags":["Issues"],"summary":"Get change logs","description":"Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getChangeLogs","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanChangelog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?startAt=2&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?&startAt=4&maxResults=2\",\"maxResults\":2,\"startAt\":2,\"total\":5,\"isLast\":false,\"values\":[{\"id\":\"10001\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:50.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"\",\"to\":null,\"toString\":\"label-1\"}]},{\"id\":\"10002\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:51.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"label-1\",\"to\":null,\"toString\":\"label-1 label-2\"}]}]}"}}},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/{issueIdOrKey}/comment":{"get":{"tags":["Issue comments"],"summary":"Get comments","description":"Returns all comments for an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is restricted to.","operationId":"getComments","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field. Accepts *created* to sort comments by their created date.","schema":{"type":"string","enum":["created","-created","+created"]}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfComments"},"example":"{\"startAt\":0,\"maxResults\":1,\"total\":1,\"comments\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.894+0000\",\"updated\":\"2020-10-28T05:46:15.894+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}]}"}}},"400":{"description":"Returned if `orderBy` is set to a value other than *created*."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue comments"],"summary":"Add comment","description":"Adds a comment to an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":{"visibility":{"type":"role","value":"Administrators"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"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.","type":"text"}]}]}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.894+0000\",\"updated\":\"2020-10-28T05:46:15.894+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/comment/{id}":{"get":{"tags":["Issue comments"],"summary":"Get comment","description":"Returns a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"getComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.894+0000\",\"updated\":\"2020-10-28T05:46:15.894+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue comments"],"summary":"Update comment","description":"Updates a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or *Edit own comments* to update comment created by the user.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"updateComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":{"visibility":{"type":"role","value":"Administrators"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"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.","type":"text"}]}]}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.894+0000\",\"updated\":\"2020-10-28T05:46:15.894+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"400":{"description":"Returned if the user does not have permission to edit the comment or the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue comments"],"summary":"Delete comment","description":"Deletes a comment.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or *Delete own comments* to delete comment created by the user,\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"deleteComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the user does not have permission to delete the comment."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."},"405":{"description":"Returned if an anonymous call is made to the operation."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/editmeta":{"get":{"tags":["Issues"],"summary":"Get edit issue metadata","description":"Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to populate the requests in [Edit issue](#api-rest-api-3-issue-issueIdOrKey-put).\n\nConnect app users with admin permissions (from user permissions and app scopes) can return additional details using:\n\n * `overrideScreenSecurity` Returns hidden fields.\n * `overrideEditableFlag` Returns uneditable fields. For example, where an issue has a workflow status of closed none of its fields are editable.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote: For any fields to be editable the user must have the *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the issue.","operationId":"getEditIssueMeta","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"overrideScreenSecurity","in":"query","description":"Whether hidden fields should be returned. Available to connect app users with admin permissions.","schema":{"type":"boolean","default":false}},{"name":"overrideEditableFlag","in":"query","description":"Whether non-editable fields should be returned. Available to connect app users with admin permissions.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateMetadata"},"example":"{\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user uses an override parameter but doesn't have permission to do so."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/{issueIdOrKey}/notify":{"post":{"tags":["Issues"],"summary":"Send notification for issue","description":"Creates an email notification for an issue and adds it to the mail queue.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"notify","parameters":[{"name":"issueIdOrKey","in":"path","description":"ID or key of the issue that the notification is sent for.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The request object for the notification and recipients.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Notification"},"example":{"htmlBody":"The latest test results for this ticket are now available.","subject":"Latest test results","textBody":"The latest test results for this ticket are now available.","to":{"voters":true,"watchers":true,"groups":[{"name":"notification-group"}],"reporter":false,"assignee":false,"users":[{"accountId":"5b10a2844c20165700ede21g","active":false}]},"restrict":{"permissions":[{"key":"BROWSE"}],"groups":[{"name":"notification-group"}]}}}},"required":true},"responses":{"204":{"description":"Returned if the email is queued for sending.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the recipient is the same as the calling user.\n * the recipient is invalid. For example, the recipient is set to the assignee, but the issue is unassigned.\n * the request is invalid. For example, required fields are missing or have invalid values."},"403":{"description":"Returned if:\n\n * outgoing emails are disabled.\n * no SMTP server is configured."},"404":{"description":"Returned if the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/properties":{"get":{"tags":["Issue properties"],"summary":"Get issue property keys","description":"Returns the URLs and keys of an issue's properties.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Property details are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssuePropertyKeys","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"404":{"description":"Returned if the issue is not found or the user does not have permissions to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}":{"get":{"tags":["Issue properties"],"summary":"Get issue property","description":"Returns the key and value of an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or property is not found or the user does not have permission to see the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue properties"],"summary":"Set issue property","description":"Sets the value of an issue's property. Use this resource to store custom data against an issue.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"setIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the issue property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the issue property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the issue."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue properties"],"summary":"Delete issue property","description":"Deletes an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or property is not found, or the user does not have permission to edit the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/remotelink":{"get":{"tags":["Issue remote links"],"summary":"Get remote issue links","description":"Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getRemoteIssueLinks","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"globalId","in":"query","description":"The global ID of the remote issue link.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLink"},"example":"[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/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\":\"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\":\"https://your-domain.atlassian.net/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 item\",\"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/mia.gif\",\"title\":\"Tested by Mia Krystof\",\"link\":\"http://www.anothercompany.com/tester/person?accountId=5b10a2844c20165700ede21g\"}}}}]"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if issue linking is disabled."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue remote links"],"summary":"Create or update remote issue link","description":"Creates or updates a remote issue link for an issue.\n\nIf a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without values in the request are set to null. Otherwise, the remote issue link is created.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"createOrUpdateRemoteIssueLink","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkRequest"},"example":{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","relationship":"causes","object":{"summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1","status":{"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed"},"resolved":true}}}}},"required":true},"responses":{"200":{"description":"Returned if the remote issue link is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkIdentifies"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"}"}}},"201":{"description":"Returned if the remote issue link is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkIdentifies"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue remote links"],"summary":"Delete remote issue link by global ID","description":"Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security permission to view the issue.","operationId":"deleteRemoteIssueLinkByGlobalId","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"globalId","in":"query","description":"The global ID of a remote issue link.","required":true,"schema":{"type":"string","example":"system=http://www.mycompany.com/support&id=1"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if a global ID isn't provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/remotelink/{linkId}":{"get":{"tags":["Issue remote links"],"summary":"Get remote issue link by ID","description":"Returns a remote issue link for an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getRemoteIssueLinkById","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","description":"The ID of the remote issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLink"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/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\":\"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\"}}}}"}}},"400":{"description":"Returned if the link ID is invalid or the remote issue link does not belong to the issue."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if issue linking is disabled."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue remote links"],"summary":"Update remote issue link by ID","description":"Updates a remote issue link for an issue.\n\nNote: Fields without values in the request are set to null.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"updateRemoteIssueLink","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"linkId","in":"path","description":"The ID of the remote issue link.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkRequest"},"example":{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","relationship":"causes","object":{"summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1","status":{"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed"},"resolved":true}}}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the link ID is invalid.\n * the remote issue link does not belong to the issue.\n * the request body is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue remote links"],"summary":"Delete remote issue link by ID","description":"Deletes a remote issue link from an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects*, *Edit issues*, and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteRemoteIssueLinkById","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"linkId","in":"path","description":"The ID of a remote issue link.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the link ID is invalid or the remote issue link does not belong to the issue."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/transitions":{"get":{"tags":["Issues"],"summary":"Get transitions","description":"Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's status.\n\nNote, if a request is made for a transition that does not exist or cannot be performed on the issue, given its status, the response will return any empty transitions list.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required: A list or transition is returned only when the user has:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nHowever, if the user does not have the *Transition issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.","operationId":"getTransitions","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about transitions in the response. This parameter accepts `transitions.fields`, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the `fields` and `update` fields in [Transition issue](#api-rest-api-3-issue-issueIdOrKey-transitions-post).","schema":{"type":"string"}},{"name":"transitionId","in":"query","description":"The ID of the transition.","schema":{"type":"string"}},{"name":"skipRemoteOnlyCondition","in":"query","description":"Whether transitions with the condition *Hide From User Condition* are included in the response.","schema":{"type":"boolean","default":false}},{"name":"includeUnavailableTransitions","in":"query","description":"Whether details of transitions that fail a condition are included in the response","schema":{"type":"boolean","default":false}},{"name":"sortByOpsBarAndStatus","in":"query","description":"Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transitions"},"example":"{\"transitions\":[{\"id\":\"2\",\"name\":\"Close Issue\",\"to\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},\"hasScreen\":false,\"isGlobal\":false,\"isInitial\":false,\"isAvailable\":true,\"isConditional\":false,\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}},{\"id\":\"711\",\"name\":\"QA Review\",\"to\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}},\"hasScreen\":true,\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"},\"colour\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issues"],"summary":"Transition issue","description":"Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.\n\nsortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update` parameters in the request body. Get details about the fields using [ Get transitions](#api-rest-api-3-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Transition issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"doTransition","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"historyMetadata":{"actor":{"avatarUrl":"http://mysystem/avatar/tony.jpg","displayName":"Tony","id":"tony","type":"mysystem-user","url":"http://mysystem/users/tony"},"extraData":{"Iteration":"10a","Step":"4"},"description":"From the order testing process","generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"activityDescription":"Complete order processing","type":"myplugin:type"},"update":{"comment":[{"add":{"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Bug has been fixed","type":"text"}]}]}}}]},"fields":{"assignee":{"name":"bob"},"resolution":{"name":"Fixed"}},"transition":{"id":"5"}}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * no transition is specified.\n * the user does not have permission to transition the issue.\n * a field that isn't included on the transition screen is defined in `fields` or `update`.\n * a field is specified in both `fields` and `update`.\n * the request is invalid for any other reason."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/votes":{"get":{"tags":["Issue votes"],"summary":"Get votes","description":"Returns details about the votes on an issue.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote that users with the necessary permissions for this operation but without the *View voters and watchers* project permissions are not returned details in the `voters` field.","operationId":"getVotes","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Votes"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/votes\",\"votes\":24,\"hasVoted\":true,\"voters\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the user does not have permission to view the issue.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue votes"],"summary":"Add vote","description":"Adds the user's vote to an issue. This is the equivalent of the user clicking *Vote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addVote","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue votes"],"summary":"Delete vote","description":"Deletes a user's vote from an issue. This is the equivalent of the user clicking *Unvote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"removeVote","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the user has not voted on the issue.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/watchers":{"get":{"tags":["Issue watchers"],"summary":"Get issue watchers","description":"Returns the watchers for an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To see details of users on the watchlist other than themselves, *View voters and watchers* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"getIssueWatchers","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Watchers"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue watchers"],"summary":"Add watcher","description":"Adds a user as a watcher of an issue by passing the account ID of the user. For example, `\"5b10ac8d82e05b22cc7d4ef5\"`. If no user is specified the calling user is added.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To add users other than themselves to the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"addWatcher","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The account ID of the user. Note that username cannot be used due to privacy changes.","content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the permission to manage the watcher list."},"404":{"description":"Returned if the issue or the user is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue watchers"],"summary":"Delete watcher","description":"Deletes a user as a watcher of an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To remove users other than themselves from the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"removeWatcher","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if `accountId` is not supplied."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the permission to manage the watcher list."},"404":{"description":"Returned if the issue or the user is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/worklog":{"get":{"tags":["Issue worklogs"],"summary":"Get issue worklogs","description":"Returns worklogs for an issue, starting from the oldest worklog or from the worklog started on or after a date and time.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Workloads are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getIssueWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1048576}},{"name":"startedAfter","in":"query","description":"The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned.","schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts`properties`, which returns worklog properties.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfWorklogs"},"example":"{\"startAt\":0,\"maxResults\":1,\"total\":1,\"worklogs\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2020-10-28T05:46:15.899+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:15.898+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue is not found or the user does not have permission to view the issue.\n * `startAt` or `maxResults` has non-numeric values.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue worklogs"],"summary":"Add worklog","description":"Adds a worklog to an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Work on issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key the issue.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Reduces the estimate by amount specified in `reduceBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"reduceBy","in":"query","description":"The amount to reduce the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m). For example, *2d*. Required when `adjustEstimate` is `manual`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts `properties`, which returns worklog properties.","schema":{"type":"string","default":""}},{"name":"overrideEditableFlag","in":"query","description":"Whether the worklog entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Only connect app users with admin scope permission can use this flag.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":{"timeSpentSeconds":12000,"visibility":{"type":"group","value":"jira-developers"},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"I did some work here.","type":"text"}]}]},"started":"2020-10-28T05:46:15.898+0000"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"}}}},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid.\n * the user does not have permission to add the worklog.\n * the request JSON is malformed."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/worklog/{id}":{"get":{"tags":["Issue worklogs"],"summary":"Get worklog","description":"Returns a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts\n\n`properties`, which returns worklog properties.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2020-10-28T05:46:15.899+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:15.898+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or the user does not have permission to view it.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled.\n\n."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue worklogs"],"summary":"Update worklog","description":"Updates a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"updateWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `auto` Updates the estimate by the difference between the original and updated value of `timeSpent` or `timeSpentSeconds`.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties`, which returns worklog properties.","schema":{"type":"string","default":""}},{"name":"overrideEditableFlag","in":"query","description":"Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue is closed. Only connect app users with admin permissions can use this flag.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":{"timeSpentSeconds":12000,"visibility":{"type":"group","value":"jira-developers"},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"I did some work here.","type":"text"}]}]},"started":"2020-10-28T05:46:15.898+0000"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2020-10-28T05:46:15.899+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:15.898+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}"}}},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * the user does not have permission to update the worklog.\n * the request JSON is malformed."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or user does not have permission to view the issue.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue worklogs"],"summary":"Delete worklog","description":"Deletes a worklog from an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or *Delete own worklogs* to delete worklogs created by the user,\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"deleteWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Increases the estimate by amount specified in `increaseBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"increaseBy","in":"query","description":"The amount to increase the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `manual`.","schema":{"type":"string"}},{"name":"overrideEditableFlag","in":"query","description":"Whether the work log entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Only connect app users with admin permissions can use this flag.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid.\n * the user does not have permission to delete the worklog."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or user does not have permission to view the issue.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties":{"get":{"tags":["Issue worklog properties"],"summary":"Get worklog property keys","description":"Returns the keys of all properties for a worklog.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklogPropertyKeys","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue or worklog is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}":{"get":{"tags":["Issue worklog properties"],"summary":"Get worklog property","description":"Returns the value of a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue, worklog, or property is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue worklog properties"],"summary":"Set worklog property","description":"Sets the value of a worklog property. Use this operation to store custom data against the worklog.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"setWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the worklog property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the worklog property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the worklog."},"404":{"description":"Returned if:\n\n * the issue or worklog is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue worklog properties"],"summary":"Delete worklog property","description":"Deletes a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"deleteWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the worklog property is removed."},"400":{"description":"Returned if the worklog key or id is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the worklog."},"404":{"description":"Returned if:\n\n * the issue, worklog, or property is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issueLink":{"post":{"tags":["Issue links"],"summary":"Create issue link","description":"Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally add a comment to the from (outward) issue. To use this resource the site must have [Issue Linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use `https://your-domain.atlassian.net/rest/api/3/issue/[linked issue key]?fields=issuelinks`.\n\nIf the link request duplicates a link, the response indicates that the issue link was created. If the request included a comment, the comment is added.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues to be linked,\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from (outward) issue,\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"linkIssues","parameters":[],"requestBody":{"description":"The issue link request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkIssueRequestJsonBean"},"example":{"outwardIssue":{"key":"MKY-1"},"comment":{"visibility":{"type":"group","value":"jira-software-users"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Linked related issue!","type":"text"}]}]}},"inwardIssue":{"key":"HSP-1"},"type":{"name":"Duplicate"}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the comment is not created. The response contains an error message indicating why the comment wasn't created. The issue link is also not created."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the user cannot view one or both of the issues. For example, the user doesn't have *Browse project* project permission for a project containing one of the issues.\n * the user does not have *link issues* project permission.\n * either of the link issues are not found.\n * the issue link type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issueLink/{linkId}":{"get":{"tags":["Issue links"],"summary":"Get issue link","description":"Returns an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the linked issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.","operationId":"getIssueLink","parameters":[{"name":"linkId","in":"path","description":"The ID of the issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLink"},"example":"{\"id\":\"10001\",\"type\":{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"},\"inwardIssue\":{\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}},\"priority\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/5\",\"statusColor\":\"#cfcfcf\",\"description\":\"Very little impact.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\",\"name\":\"Trivial\",\"id\":\"2\"},\"issuetype\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}}},\"outwardIssue\":{\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},\"priority\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"},\"issuetype\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1}}}}"}}},"400":{"description":"Returned if the issue link ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link is not found.\n * the user doesn't have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Issue links"],"summary":"Delete issue link","description":"Deletes an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues in the link.\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects containing issues in the link.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.","operationId":"deleteIssueLink","parameters":[{"name":"linkId","in":"path","description":"The ID of the issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"200 response"},"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue link ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link is not found.\n * the user doesn't have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issueLinkType":{"get":{"tags":["Issue link types"],"summary":"Get issue link types","description":"Returns a list of all issue link types.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.","operationId":"getIssueLinkTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkTypes"},"example":"{\"issueLinkTypes\":[{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"},{\"id\":\"1010\",\"name\":\"Blocks\",\"inward\":\"Blocked by\",\"outward\":\"Blocks\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1010\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if issue linking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue link types"],"summary":"Create issue link type","description":"Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The issue link type consists of a name and descriptions for a link's inward and outward relationships.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueLinkType","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":{"inward":"Duplicated by","name":"Duplicate","outward":"Duplicates"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type name is in use.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issueLinkType/{issueLinkTypeId}":{"get":{"tags":["Issue link types"],"summary":"Get issue link type","description":"Returns an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.","operationId":"getIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the issue link type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue link types"],"summary":"Update issue link type","description":"Updates an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":{"inward":"Duplicated by","name":"Duplicate","outward":"Duplicates"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the issue link type ID or the request body are invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue link types"],"summary":"Delete issue link type","description":"Deletes an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue link type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuesecurityschemes":{"get":{"tags":["Issue security schemes"],"summary":"Get issue security schemes","description":"Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueSecuritySchemes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySchemes"},"example":"{\"issueSecuritySchemes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer issue security schemes."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/issuesecurityschemes/{id}":{"get":{"tags":["Issue security schemes"],"summary":"Get issue security scheme","description":"Returns an issue security scheme along with its security levels.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the requested issue security scheme.","operationId":"getIssueSecurityScheme","parameters":[{"name":"id","in":"path","description":"The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021,\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the administrator permission and the scheme is not used in any project where the user has administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/issuesecurityschemes/{issueSecuritySchemeId}/members":{"get":{"tags":["Issue security level"],"summary":"Get issue security level members","description":"Returns issue security level members.\n\nOnly issue security level members in context of classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueSecurityLevelMembers","parameters":[{"name":"issueSecuritySchemeId","in":"path","description":"The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueSecurityLevelId","in":"query","description":"The list of issue security level IDs. To include multiple issue security levels separate IDs with ampersand: `issueSecurityLevelId=10000&issueSecurityLevelId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueSecurityLevelMember"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":10000,\"issueSecurityLevelId\":10020,\"holder\":{\"type\":\"user\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"expand\":\"user\"}},{\"id\":10001,\"issueSecurityLevelId\":10020,\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"}},{\"id\":10002,\"issueSecurityLevelId\":10021,\"holder\":{\"type\":\"assignee\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if no issue security level members are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/issuetype":{"get":{"tags":["Issue types"],"summary":"Get all issue types for user","description":"Returns all issue types.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issue types are only returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue types are returned.\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, the issue types associated with the projects the user has permission to browse are returned.","operationId":"getIssueAllTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue types"],"summary":"Create issue type","description":"Creates an issue type and adds it to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueType","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeCreateBean"},"example":{"name":"name","description":"description","type":"standard"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"}}}},"400":{"description":"Returned if the request is invalid because:\n\n * no content is sent.\n * the issue type name exceeds 60 characters.\n * a subtask issue type is requested on an instance where subtasks are disabled."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"409":{"description":"Returned if the issue type name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetype/{id}":{"get":{"tags":["Issue types"],"summary":"Get issue type","description":"Returns an issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated with or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue types"],"summary":"Update issue type","description":"Updates the issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeUpdateBean"},"example":{"avatarId":1,"name":"name","description":"description"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"}}}},"400":{"description":"Returned if the request is invalid because:\n\n * no content is sent.\n * the issue type name exceeds 60 characters.\n * the avatar is not associated with this issue type."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type is not found."},"409":{"description":"Returned if the issue type name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue types"],"summary":"Delete issue type","description":"Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue types](#api-rest-api-3-issuetype-id-alternatives-get) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"alternativeIssueTypeId","in":"query","description":"The ID of the replacement issue type.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if any issues cannot be updated with the alternative issue type."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the issue type is in use and an alternative issue type is not specified.\n * the issue type or alternative issue type is not found."},"409":{"description":"Returned if the issue type is in use and:\n\n * also specified as the alternative issue type.\n * is a *standard* issue type and the alternative issue type is a *subtask*."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetype/{id}/alternatives":{"get":{"tags":["Issue types"],"summary":"Get alternative issue types","description":"Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAlternativeIssueTypes","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issuetype/{id}/avatar2":{"post":{"tags":["Issue types"],"summary":"Load issue type avatar","description":"Loads an avatar for the issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST \\ --user email@example.com: \\ --header 'X-Atlassian-Token: no-check' \\ --header 'Content-Type: image/< image_type>' \\ --data-binary \"<@/path/to/file/with/your/avatar>\" \\ --url 'https://your-domain.atlassian.net/rest/api/3/issuetype/{issueTypeId}'This`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar, use [ Update issue type](#api-rest-api-3-issuetype-id-put) to set it as the issue type's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeAvatar","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image.\n * `cropSize` is missing.\n * the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetype/{issueTypeId}/properties":{"get":{"tags":["Issue type properties"],"summary":"Get issue type property keys","description":"Returns all the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys of the issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any issue types associated with the projects the user has permission to browse.","operationId":"getIssueTypePropertyKeys","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issuetype/{issueTypeId}/properties/{propertyKey}":{"get":{"tags":["Issue type properties"],"summary":"Get issue type property","description":"Returns the key and value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue types associated with the projects the user has permission to browse.","operationId":"getIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. Use [Get issue type property keys](#api-rest-api-3-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue type or property is not found or the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue type properties"],"summary":"Set issue type property","description":"Creates or updates the value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). Use this resource to store and update data against an issue type.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue type property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{},"example":{"number":5,"string":"string-value"}}},"required":true},"responses":{"200":{"description":"Returned if the issue type property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the issue type property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * the issue type ID is invalid.\n * a property value is not provided.\n * the property value JSON content is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to modify the issue type."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the permission view the issue type."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type properties"],"summary":"Delete issue type property","description":"Deletes the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. Use [Get issue type property keys](#api-rest-api-3-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the issue type property is deleted."},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme":{"get":{"tags":["Issue type schemes"],"summary":"Get all issue type schemes","description":"Returns a [paginated](#pagination) list of issue type schemes.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllIssueTypeSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScheme"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\"},{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue type schemes"],"summary":"Create issue type scheme","description":"Creates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeDetails"},"example":{"defaultIssueTypeId":"10002","issueTypeIds":["10001","10002","10003"],"name":"Kanban Issue Type Scheme","description":"A collection of issue types suited to use in a kanban style project."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeID"},"example":"{\"issueTypeSchemeId\":\"10010\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type ID has to be present in issue type IDs list.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the scheme name is used by another scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/mapping":{"get":{"tags":["Issue type schemes"],"summary":"Get issue type scheme items","description":"Returns a [paginated](#pagination) list of issue type scheme items.\n\nOnly issue type scheme items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeSchemesMapping","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueTypeSchemeId","in":"query","description":"The list of issue type scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `issueTypeSchemeId=10000&issueTypeSchemeId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeSchemeMapping"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10000\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10001\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10002\"},{\"issueTypeSchemeId\":\"10001\",\"issueTypeId\":\"10000\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/project":{"get":{"tags":["Issue type schemes"],"summary":"Get issue type schemes for projects","description":"Returns a [paginated](#pagination) list of issue type schemes and, for each issue type scheme, a list of the projects that use it.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeSchemeForProjects","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple project IDs, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeSchemeProjects"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"issueTypeScheme\":{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},\"projectIds\":[\"10000\",\"10001\"]},{\"issueTypeScheme\":{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\"},\"projectIds\":[\"10002\"]},{\"issueTypeScheme\":{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\"},\"projectIds\":[\"10003\",\"10004\",\"10005\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue type schemes"],"summary":"Assign issue type scheme to project","description":"Assigns an issue type scheme to a project.\n\nIf any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To complete the assignment those issues must be updated to use issue types in the new scheme.\n\nIssue type schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignIssueTypeSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeProjectAssociation"},"example":{"issueTypeSchemeId":"10000","projectId":"10000"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"This issue type scheme can't be assigned to the project. This is because some issues in this project use issue types not present in the scheme. Before assigning the scheme to the project, update the issue types on these issues: 7\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme or the project is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/{issueTypeSchemeId}":{"put":{"tags":["Issue type schemes"],"summary":"Update issue type scheme","description":"Updates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeUpdateDetails"},"example":{"defaultIssueTypeId":"10002","name":"Kanban Issue Type Scheme","description":"A collection of issue types suited to use in a kanban style project."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type has to be one of the issue types of the scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type schemes"],"summary":"Delete issue type scheme","description":"Deletes an issue type scheme.\n\nOnly issue type schemes used in classic projects can be deleted.\n\nAny projects assigned to the scheme are reassigned to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the issue type scheme is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is to delete the default issue type scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type scheme can't be removed.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype":{"put":{"tags":["Issue type schemes"],"summary":"Add issue types to issue type scheme","description":"Adds issue types to an issue type scheme.\n\nThe added issue types are appended to the issue types list.\n\nIf any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addIssueTypesToIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIDs"},"example":{"issueTypeIds":["10000","10002","10003"]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types were not added because they are already present in the issue type scheme: 10002, 10003\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type or the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types were not found: 10000, 10002\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype/move":{"put":{"tags":["Issue type schemes"],"summary":"Change order of issue types","description":"Changes the order of issue types in an issue type scheme.\n\nThe request body parameters must meet the following requirements:\n\n * all of the issue types must belong to the issue type scheme.\n * either `after` or `position` must be provided.\n * the issue type in `after` must not be in the issue type list.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"reorderIssueTypesInIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderOfIssueTypes"},"example":{"issueTypeIds":["10001","10004","10002"],"after":"10008"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme does not include some of the specified issue types. Issue type IDs missing from the scheme are: 10007, 10008\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype/{issueTypeId}":{"delete":{"tags":["Issue type schemes"],"summary":"Remove issue type from issue type scheme","description":"Removes an issue type from an issue type scheme.\n\nThis operation cannot remove:\n\n * any issue type used by issues.\n * any issue types from the default issue type scheme.\n * the last standard issue type from an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeIssueTypeFromIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Can't remove the last standard issue type from the issue type scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is missing or the issue type is not found in the issue type scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type was not found in the issue type scheme.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen schemes","description":"Returns a [paginated](#pagination) list of issue type screen schemes.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of issue type screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenScheme"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},{\"id\":\"10000\",\"name\":\"Office issue type screen scheme\",\"description\":\"Managing office projects\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue type screen schemes"],"summary":"Create issue type screen scheme","description":"Creates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeScreenScheme","parameters":[],"requestBody":{"description":"An issue type screen scheme bean.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeDetails"},"example":{"name":"Scrum issue type screen scheme","issueTypeMappings":[{"issueTypeId":"default","screenSchemeId":"10001"},{"issueTypeId":"10001","screenSchemeId":"10002"},{"issueTypeId":"10002","screenSchemeId":"10002"}]}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeId"},"example":"{\"id\":\"10001\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more issue type IDs are repeated, an issue type ID can only be specified once.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type or screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more issue type IDs were not found.\"],\"errors\":{}}"}}},"409":{"description":"Returned when the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/mapping":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen scheme items","description":"Returns a [paginated](#pagination) list of issue type screen scheme items.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemeMappings","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueTypeScreenSchemeId","in":"query","description":"The list of issue type screen scheme IDs. To include multiple issue type screen schemes, separate IDs with ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenSchemeItem"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"issueTypeScreenSchemeId\":\"10020\",\"issueTypeId\":\"10000\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10021\",\"issueTypeId\":\"10001\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10022\",\"issueTypeId\":\"10002\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10023\",\"issueTypeId\":\"default\",\"screenSchemeId\":\"10011\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/project":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen schemes for projects","description":"Returns a [paginated](#pagination) list of issue type screen schemes and, for each issue type screen scheme, a list of the projects that use it.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemeProjectAssociations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenSchemesProjects"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"issueTypeScreenScheme\":{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},\"projectIds\":[\"10000\",\"10001\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue type screen schemes"],"summary":"Assign issue type screen scheme to project","description":"Assigns an issue type screen scheme to a project.\n\nIssue type screen schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignIssueTypeScreenSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeProjectAssociation"},"example":{"issueTypeScreenSchemeId":"10001","projectId":"10002"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if:\n\n * project is not found.\n * issue type screen scheme is not found.\n * the project is not a classic project.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have issue type screen schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme or the project are missing.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}":{"put":{"tags":["Issue type screen schemes"],"summary":"Update issue type screen scheme","description":"Updates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type screen scheme update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeUpdateDetails"},"example":{"name":"Scrum scheme","description":"Screens for scrum issue types."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme name is in use.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type screen schemes"],"summary":"Delete issue type screen scheme","description":"Deletes an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the issue type screen scheme is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme cannot be deleted because it is assigned to one or more projects.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."},"404":{"description":"Returned if the issue type screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/jql/autocompletedata":{"get":{"tags":["JQL"],"summary":"Get field reference data","description":"Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAutoComplete","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLReferenceData"},"example":"{\"visibleFieldNames\":[{\"value\":\"summary\",\"displayName\":\"summary\",\"orderable\":\"true\",\"searchable\":\"true\",\"operators\":[\"~\",\"!~\",\"is\",\"is not\"],\"types\":[\"java.lang.String\"]},{\"value\":\"Sprint\",\"displayName\":\"Sprint - cf[10880]\",\"orderable\":\"true\",\"searchable\":\"true\",\"auto\":\"true\",\"cfid\":\"cf[10880]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.greenhopper.service.sprint.Sprint\"]}],\"visibleFunctionNames\":[{\"value\":\"standardIssueTypes()\",\"displayName\":\"standardIssueTypes()\",\"isList\":\"true\",\"types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"]}],\"jqlReservedWords\":[\"empty\",\"and\",\"or\",\"in\",\"distinct\"]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/jql/autocompletedata/suggestions":{"get":{"tags":["JQL"],"summary":"Get field auto complete suggestions","description":"Returns the JQL search auto complete suggestions for a field.\n\nSuggestions can be obtained by providing:\n\n * `fieldName` to get a list of all values for the field.\n * `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.\n * `fieldName` and `predicateName` to get a list of all predicate values for the field.\n * `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in `predicateValue`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getFieldAutoCompleteForQueryString","parameters":[{"name":"fieldName","in":"query","description":"The name of the field.","schema":{"type":"string","example":"reporter"},"x-showInExample":"true"},{"name":"fieldValue","in":"query","description":"The partial field item name entered by the user.","schema":{"type":"string"}},{"name":"predicateName","in":"query","description":"The name of the [ CHANGED operator predicate](https://confluence.atlassian.com/x/hQORLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for which the suggestions are generated. The valid predicate operators are *by*, *from*, and *to*.","schema":{"type":"string"}},{"name":"predicateValue","in":"query","description":"The partial predicate item name entered by the user.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCompleteSuggestions"},"example":"{\"results\":[{\"value\":\"ActiveObjects\",\"displayName\":\"ActiveObjects (AO)\"},{\"value\":\"Atlassian Connect\",\"displayName\":\"Atlassian Connect (AC)\"},{\"value\":\"Atlassian Connect in Jira\",\"displayName\":\"Atlassian Connect in Jira (ACJIRA)\"}]}"}}},"400":{"description":"Returned if an invalid combination of parameters is passed."},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/jql/match":{"post":{"tags":["Issue search"],"summary":"Check issues against JQL","description":"Checks whether one or more issues would be returned by one or more JQL queries.\n\n**[Permissions](#permissions) required:** None, however, issues are only matched against JQL queries where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"matchIssues","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesAndJQLQueries"},"example":{"issueIds":[10001,1000,10042],"jqls":["project = FOO","issuetype = Bug","summary ~ \"some text\" AND project in (FOO, BAR)"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueMatches"},"example":"{\"matches\":[{\"matchedIssues\":[10000,10004],\"errors\":[]},{\"matchedIssues\":[100134,10025,10236],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[\"Invalid JQL: broken = value\"]}]}"}}},"400":{"description":"Returned if `jqls` exceeds the maximum number of JQL queries or `issueIds` exceeds the maximum number of issue IDs."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/jql/parse":{"post":{"tags":["JQL"],"summary":"Parse JQL query","description":"Parses and validates JQL queries.\n\nValidation is performed in context of the current user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"parseJqlQueries","parameters":[{"name":"validation","in":"query","description":"How to validate the JQL query and treat the validation results. Validation options include:\n\n * `strict` Returns all errors. If validation fails, the query structure is not returned.\n * `warn` Returns all errors. If validation fails but the JQL query is correctly formed, the query structure is returned.\n * `none` No validation is performed. If JQL query is correctly formed, the query structure is returned.","schema":{"type":"string","enum":["strict","warn","none"],"default":"strict"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JqlQueriesToParse"},"example":{"queries":["summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER startOfMonth(-1M) ORDER BY updated DESC","invalid query","summary = test","summary in test","project = INVALID","universe = 42"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParsedJqlQueries"},"example":"{\"queries\":[{\"query\":\"summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER -5d ORDER BY updated DESC\",\"structure\":{\"where\":{\"clauses\":[{\"field\":{\"name\":\"summary\"},\"operator\":\"~\",\"operand\":{\"value\":\"test\"}},{\"clauses\":[{\"field\":{\"name\":\"labels\"},\"operator\":\"in\",\"operand\":{\"values\":[{\"value\":\"urgent\"},{\"value\":\"blocker\"}]}},{\"field\":{\"name\":\"lastCommentedBy\",\"property\":[{\"entity\":\"issue\",\"key\":\"propertyKey\",\"path\":\"path.in.property\",\"type\":\"user\"}]},\"operator\":\"=\",\"operand\":{\"function\":\"currentUser\",\"arguments\":[]}}],\"operator\":\"or\"},{\"field\":{\"name\":\"status\"},\"operator\":\"changed\",\"predicates\":[{\"operator\":\"after\",\"operand\":{\"function\":\"startOfMonth\",\"arguments\":[\"-1M\"]}}]}],\"operator\":\"and\"},\"orderBy\":{\"fields\":[{\"field\":{\"name\":\"updated\"},\"direction\":\"desc\"}]}}},{\"query\":\"invalid query\",\"errors\":[\"Error in the JQL Query: Expecting operator but got 'query'. The valid operators are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN', 'IS' and 'IS NOT'. (line 1, character 9)\"]},{\"query\":\"summary = test\",\"errors\":[\"The operator '=' is not supported by the 'summary' field.\"]},{\"query\":\"summary in test\",\"errors\":[\"Operator 'in' does not support the non-list value '\\\"test\\\"' for field 'summary'.\"]},{\"query\":\"project = INVALID\",\"errors\":[\"The value 'INVALID' does not exist for the field 'project'.\"]},{\"query\":\"universe = 42\",\"errors\":[\"Field 'universe' does not exist or you do not have permission to view it.\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/jql/pdcleaner":{"post":{"tags":["JQL"],"summary":"Convert user identifiers to account IDs in JQL queries","description":"Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs.\n\nYou may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For more information about GDPR-related changes, see the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"migrateQueries","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLPersonalDataMigrationRequest"},"example":{"queryStrings":["assignee = mia","issuetype = Bug AND assignee in (mia) AND reporter in (alana) order by lastViewed DESC"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. Note that the JQL queries are returned in the same order that they were passed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertedJQLQueries"},"example":"{\"queryStrings\":[\"issuetype = Bug AND assignee in (abcde-12345) AND reporter in (abc551-c4e99) order by lastViewed DESC\"],\"queriesWithUnknownUsers\":[{\"originalQuery\":\"assignee = mia\",\"convertedQuery\":\"assignee = unknown\"}]}"}}},"400":{"description":"Returned if at least one of the queries cannot be converted. For example, the JQL has invalid operators or invalid keywords, or the users in the query cannot be found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/label":{"get":{"tags":["Labels"],"summary":"Get all labels","description":"Returns a [paginated](#pagination) list of labels.","operationId":"getAllLabels","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1000}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanString"},"example":"{\"maxResults\":2,\"startAt\":0,\"total\":100,\"isLast\":false,\"values\":[\"performance\",\"security\"]}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/mypermissions":{"get":{"tags":["Permissions"],"summary":"Get my permissions","description":"Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be obtained in a global, project, or issue context.\n\nThe user is reported as having a project permission:\n\n * in the global context, if the user has the project permission in any project.\n * for a project, where the project permission is determined using issue data, if the user meets the permission's criteria for any issue in the project. Otherwise, if the user has the project permission in the project.\n * for an issue, where a project permission is determined using issue data, if the user has the permission in the issue. Otherwise, if the user has the project permission in the project containing the issue.\n\nThis means that users may be shown as having an issue permission (such as EDIT\\_ISSUES) in the global context or a project context but may not have the permission for any or all issues. For example, if Reporters have the EDIT\\_ISSUES permission a user would be shown as having this permission in the global context or the context of a project, because any user can be a reporter. However, if they are not the user who reported the issue queried they would not have EDIT\\_ISSUES permission for that issue.\n\nGlobal permissions are unaffected by context.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getMyPermissions","parameters":[{"name":"projectKey","in":"query","description":"The key of project. Ignored if `projectId` is provided.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"The ID of project.","schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The key of the issue. Ignored if `issueId` is provided.","schema":{"type":"string"}},{"name":"issueId","in":"query","description":"The ID of the issue.","schema":{"type":"string"}},{"name":"permissions","in":"query","description":"A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available permissions, use [Get all permissions](#api-rest-api-3-permissions-get).","schema":{"type":"string","example":"BROWSE_PROJECTS,EDIT_ISSUES"},"x-showInExample":"true","x-changes":[{"type":"required","announced":"2018-08-01","effective":"2019-02-01","details":"https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/"}]},{"name":"projectUuid","in":"query","schema":{"type":"string"}},{"name":"projectConfigurationUuid","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"},"example":"{\"permissions\":{\"EDIT_ISSUES\":{\"id\":\"12\",\"key\":\"EDIT_ISSUES\",\"name\":\"Edit Issues\",\"type\":\"PROJECT\",\"description\":\"Ability to edit issues.\",\"havePermission\":true}}}"}}},"400":{"description":"Returned if `permissions` is empty or the permission key it contains is not found or deprecated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the project or issue is not found or the user does not have permission to view the project or issue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/mypreferences":{"get":{"tags":["Myself"],"summary":"Get preference","description":"Returns the value of a preference of the current user.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default this is not set and the user takes the locale of the instance.\n * *jira.user.timezone* The time zone of the user. By default this is not set and the user takes the timezone of the instance.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPreference","parameters":[{"name":"key","in":"query","description":"The key of the preference.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key is not provided or not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"},"put":{"tags":["Myself"],"summary":"Set preference","description":"Creates a preference for the user or updates a preference's value by sending a plain text string. For example, `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the following keys define system preferences that can be set or created:\n\n * *user.notifications.mimetype* The mime type used in notifications sent to the user. Defaults to `html`.\n * *user.notify.own.changes* Whether the user gets notified of their own changes. Defaults to `false`.\n * *user.default.share.private* Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private. Defaults to `true`.\n * *user.keyboard.shortcuts.disabled* Whether keyboard shortcuts are disabled. Defaults to `false`.\n * *user.autowatch.disabled* Whether the user automatically watches issues they create or add a comment to. By default, not set: the user takes the instance autowatch setting.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setPreference","parameters":[{"name":"key","in":"query","description":"The key of the preference. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The value of the preference as a plain text string. The maximum length is 255 characters.","content":{"application/json":{"schema":{"type":"string"}},"text/plain":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key or value is not provided or invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"},"delete":{"tags":["Myself"],"summary":"Delete preference","description":"Deletes a preference of the user, which restores the default value of system defined settings.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"removePreference","parameters":[{"name":"key","in":"query","description":"The key of the preference.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key is not provided or not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"}},"/rest/api/3/mypreferences/locale":{"get":{"tags":["Myself"],"summary":"Get locale","description":"Returns the locale for the user.\n\nIf the user has no language preference set (which is the default setting) or this resource is accessed anonymous, the browser locale detected by Jira is returned. Jira detects the browser locale using the *Accept-Language* header in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getLocale","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locale"},"example":"{\"locale\":\"en_US\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ACT_AS_USER"},"put":{"tags":["Myself"],"summary":"Set locale","description":"Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nSets the locale of the user. The locale must be one supported by the instance of Jira.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setLocale","parameters":[],"requestBody":{"description":"The locale defined in a LocaleBean.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locale"},"example":{"locale":"en_US"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Myself"],"summary":"Delete locale","description":"Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nDeletes the locale of the user, which restores the default setting.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"deleteLocale","parameters":[],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/myself":{"get":{"tags":["Myself"],"summary":"Get current user","description":"Returns details for the current user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getCurrentUser","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about user in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` Returns all groups, including nested groups, the user belongs to.\n * `applicationRoles` Returns the application roles the user is assigned to.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/notificationscheme":{"get":{"tags":["Issue notification schemes"],"summary":"Get notification schemes paginated","description":"Returns a [paginated](#pagination) list of [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by display name.\n\n### About notification schemes ###\n\nA notification scheme is a list of events and recipients who will receive notifications for those events. The list is contained within the `notificationSchemeEvents` object and contains pairs of `events` and `notifications`:\n\n * `event` Identifies the type of event. The events can be [Jira system events](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or [custom events](https://confluence.atlassian.com/x/AIlKLg).\n * `notifications` Identifies the [recipients](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-recipientsRecipients) of notifications for each event. Recipients can be any of the following types:\n \n * `CurrentAssignee`\n * `Reporter`\n * `CurrentUser`\n * `ProjectLead`\n * `ComponentLead`\n * `User` (the `parameter` is the user key)\n * `Group` (the `parameter` is the group name)\n * `ProjectRole` (the `parameter` is the project role ID)\n * `EmailAddress`\n * `AllWatchers`\n * `UserCustomField` (the `parameter` is the ID of the custom field)\n * `GroupCustomField`(the `parameter` is the ID of the custom field)\n\n*Note that you should allow for events without recipients to appear in responses.*\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must have permission to administer at least one project associated with a notification scheme for it to be returned.","operationId":"getNotificationSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. Only returns notification schemes that the user has permission to access. An empty list is returned if the user lacks permission to access all notification schemes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanNotificationScheme"},"example":"{\"maxResults\":6,\"startAt\":1,\"total\":5,\"isLast\":false,\"values\":[{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/3/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/notificationscheme/{id}":{"get":{"tags":["Issue notification schemes"],"summary":"Get notification scheme","description":"Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the recipients who will receive notifications for those events.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must have permission to administer at least one project associated with the notification scheme.","operationId":"getNotificationScheme","parameters":[{"name":"id","in":"path","description":"The ID of the notification scheme. Use [Get notification schemes paginated](#api-rest-api-3-notificationscheme-get) to get a list of notification scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationScheme"},"example":"{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/3/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the notification scheme is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissions":{"get":{"tags":["Permissions"],"summary":"Get all permissions","description":"Returns all permissions, including:\n\n * global permissions.\n * project permissions.\n * global permissions added by plugins.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllPermissions","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"},"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.\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissions/check":{"post":{"tags":["Permissions"],"summary":"Get bulk permissions","description":"Returns:\n\n * for a list of global permissions, the global permissions granted to a user.\n * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate.\n\nIf no account ID is provided, the operation returns details for the logged in user.\n\nNote that:\n\n * Invalid project and issue IDs are ignored.\n * A maximum of 1000 projects and 1000 issues can be checked.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none.","operationId":"getBulkPermissions","parameters":[],"requestBody":{"description":"Details of the permissions to check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPermissionsRequestBean"},"example":{"globalPermissions":["ADMINISTER"],"accountId":"5b10a2844c20165700ede21g","projectPermissions":[{"projects":[10001],"permissions":["EDIT_ISSUES"],"issues":[10010,10011,10012,10013,10014]}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPermissionGrants"},"example":"{\"projectPermissions\":[{\"permission\":\"EDIT_ISSUES\",\"issues\":[10010,10013,10014],\"projects\":[10001]}],\"globalPermissions\":[\"ADMINISTER\"]}"}}},"400":{"description":"Returned if:\n\n * issue or project IDs are provided without at least one project permission being provided.\n * an invalid global permission is provided in the global permissions list.\n * an invalid project permission is provided in the project permissions list.\n * more than 1000 valid project IDs or more than 1000 valid issue IDs are provided.\n * an invalid account ID is provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[],\"errors\":{\"PERMISSION_123\":\"Unrecognized permission\"}}"}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can perform this operation.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/permissions/project":{"post":{"tags":["Permissions"],"summary":"Get permitted projects","description":"Returns all the projects where the user is granted a list of project permissions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getPermittedProjects","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsKeysBean"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermittedProjects"},"example":"{\"projects\":[{\"id\":10000,\"key\":\"DEMO\"},{\"id\":10101,\"key\":\"TEST\"}]}"}}},"400":{"description":"Returned if a project permission is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"Could not find permission with key: NOT_EXISTING_PERMISSION_KEY\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/permissionscheme":{"get":{"tags":["Permission schemes"],"summary":"Get all permission schemes","description":"Returns all permission schemes.\n\n### About permission schemes and grants ###\n\nA permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a `permission`.\n\n#### Holder object ####\n\nThe `holder` object contains information about the user or group being granted the permission. For example, the *Administer projects* permission is granted to a group named *Teams in space administrators*. In this case, the type is `\"type\": \"group\"`, and the parameter is the group name, `\"parameter\": \"Teams in space administrators\"`. The `holder` object is defined by the following properties:\n\n * `type` Identifies the user or group (see the list of types below).\n * `parameter` The value of this property depends on the `type`. For example, if the `type` is a group, then you need to specify the group name.\n\nThe following `types` are available. The expected values for the `parameter` are given in parenthesis (some `types` may not have a `parameter`):\n\n * `anyone` Grant for anonymous users.\n * `applicationRole` Grant for users with access to the specified application (application name). See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.\n * `assignee` Grant for the user currently assigned to an issue.\n * `group` Grant for the specified group (group name).\n * `groupCustomField` Grant for a user in the group selected in the specified custom field (custom field ID).\n * `projectLead` Grant for a project lead.\n * `projectRole` Grant for the specified project role (project role ID).\n * `reporter` Grant for the user who reported the issue.\n * `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more information.\n * `user` Grant for the specified user (user ID - historically this was the userkey but that is deprecated and the account ID should be used).\n * `userCustomField` Grant for a user selected in the specified custom field (custom field ID).\n\n#### Built-in permissions ####\n\nThe [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define custom permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information.\n\n**Project permissions**\n\n * `ADMINISTER_PROJECTS`\n * `BROWSE_PROJECTS`\n * `MANAGE_SPRINTS_PERMISSION` (Jira Software only)\n * `SERVICEDESK_AGENT` (Jira Service Desk only)\n * `VIEW_DEV_TOOLS` (Jira Software only)\n * `VIEW_READONLY_WORKFLOW`\n\n**Issue permissions**\n\n * `ASSIGNABLE_USER`\n * `ASSIGN_ISSUES`\n * `CLOSE_ISSUES`\n * `CREATE_ISSUES`\n * `DELETE_ISSUES`\n * `EDIT_ISSUES`\n * `LINK_ISSUES`\n * `MODIFY_REPORTER`\n * `MOVE_ISSUES`\n * `RESOLVE_ISSUES`\n * `SCHEDULE_ISSUES`\n * `SET_ISSUE_SECURITY`\n * `TRANSITION_ISSUES`\n\n**Voters and watchers permissions**\n\n * `MANAGE_WATCHERS`\n * `VIEW_VOTERS_AND_WATCHERS`\n\n**Comments permissions**\n\n * `ADD_COMMENTS`\n * `DELETE_ALL_COMMENTS`\n * `DELETE_OWN_COMMENTS`\n * `EDIT_ALL_COMMENTS`\n * `EDIT_OWN_COMMENTS`\n\n**Attachments permissions**\n\n * `CREATE_ATTACHMENTS`\n * `DELETE_ALL_ATTACHMENTS`\n * `DELETE_OWN_ATTACHMENTS`\n\n**Time tracking permissions**\n\n * `DELETE_ALL_WORKLOGS`\n * `DELETE_OWN_WORKLOGS`\n * `EDIT_ALL_WORKLOGS`\n * `EDIT_OWN_WORKLOGS`\n * `WORK_ON_ISSUES`\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAllPermissionSchemes","parameters":[{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionSchemes"},"example":"{\"permissionSchemes\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Permission schemes"],"summary":"Create permission scheme","description":"Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createPermissionScheme","parameters":[{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"description":"The permission scheme to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":{"permissions":[{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}],"name":"Example permission scheme","description":"description"}}},"required":true},"responses":{"201":{"description":"Returned if the permission scheme is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or the feature is not available in the Jira plan."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissionscheme/{schemeId}":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme","description":"Returns a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to return.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission scheme is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Permission schemes"],"summary":"Update permission scheme","description":"Updates a permission scheme. Below are some important things to note when using this resource:\n\n * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants.\n * If you want to update only the name and description, then do not send a permissions list in the request.\n * Sending an empty list will remove all permission grants from the permission scheme.\n\nIf you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-3-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-3-permissionscheme-schemeId-permission-permissionId-delete).\n\nSee [About permission schemes and grants](#about-permission-schemes) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updatePermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to update.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":{"permissions":[{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}],"name":"Example permission scheme","description":"description"}}},"required":true},"responses":{"200":{"description":"Returned if the scheme is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to update permission schemes.\n * the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be updated on free plans."},"404":{"description":"Returned if the permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Permission schemes"],"summary":"Delete permission scheme","description":"Deletes a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deletePermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme being deleted.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the permission scheme is deleted."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissionscheme/{schemeId}/permission":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme grants","description":"Returns all permission grants for a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionSchemeGrants","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrants"},"example":"{\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}],\"expand\":\"user,group,projectRole,field,all\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission schemes is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Permission schemes"],"summary":"Create permission grant","description":"Creates a permission grant in a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createPermissionGrant","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme in which to create a new permission grant.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information.","schema":{"type":"string"}}],"requestBody":{"description":"The permission grant to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}}},"required":true},"responses":{"201":{"description":"Returned if the scheme permission is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}"}}},"400":{"description":"Returned if the value for expand is invalid or the same permission grant is present."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissionscheme/{schemeId}/permission/{permissionId}":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme grant","description":"Returns a permission grant.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionSchemeGrant","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the permission grant.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission scheme or permission grant is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Permission schemes"],"summary":"Delete permission scheme grant","description":"Deletes a permission grant from a permission scheme. See [About permission schemes and grants](#about-permission-schemes) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deletePermissionSchemeEntity","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to delete the permission grant from.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the permission grant to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the permission grant is deleted."},"400":{"description":"Returned if permission grant with the provided ID is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/priority":{"get":{"tags":["Issue priorities"],"summary":"Get priorities","description":"Returns the list of all issue priorities.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPriorities","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Priority"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/5\",\"statusColor\":\"#cfcfcf\",\"description\":\"Very little impact.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\",\"name\":\"Trivial\",\"id\":\"2\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/priority/{id}":{"get":{"tags":["Issue priorities"],"summary":"Get priority","description":"Returns an issue priority.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPriority","parameters":[{"name":"id","in":"path","description":"The ID of the issue priority.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Priority"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue priority is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project":{"get":{"tags":["Projects"],"summary":"Get all projects","description":"Returns all projects visible to the user. Deprecated, use [ Get projects paginated](#api-rest-api-3-project-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has *Browse Projects* or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllProjects","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `issueTypes` Returns all issue types associated with the project.\n * `lead` Returns information about the project lead.\n * `projectKeys` Returns all project keys associated with the project.","schema":{"type":"string"}},{"name":"recent","in":"query","description":"Returns the user's most recently accessed projects. You may specify the number of results to return up to a maximum of 20. If access is anonymous, then the recently accessed projects are based on the current HTTP session.","schema":{"type":"integer","format":"int32"}},{"name":"properties","in":"query","description":"A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-changes":[{"type":"removed","announced":"2018-10-19","effective":"2019-04-19","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/"}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Projects"],"summary":"Create project","description":"Creates a project based on a project type template, as shown in the following table:\n\n| Project Type Key | Project Template Key | \n|--|--| \n| `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | \n| `service_desk` | `com.atlassian.servicedesk:simplified-it-service-desk`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk` | \n| `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | \nThe project types are available according to the installed Jira features as follows:\n\n * Jira Core, the default, enables `business` projects.\n * Jira Service Desk enables `service_desk` projects.\n * Jira Software enables `software` projects.\n\nTo determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add JIRA Software or JIRA Service Desk into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProject","parameters":[],"requestBody":{"description":"The JSON representation of the project being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInputBean"},"example":{"notificationScheme":10021,"description":"Example Project description","lead":"Charlie","url":"http://atlassian.com","projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","avatarId":10200,"issueSecurityScheme":10001,"name":"Example","permissionScheme":10011,"assigneeType":"PROJECT_LEAD","projectTypeKey":"business","key":"EX","categoryId":10120}}},"required":true},"responses":{"201":{"description":"Returned if the project is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIdentifiers"},"example":"{\"self\":\"https://your-domain.atlassian.net/jira/rest/api/3/project/10042\",\"id\":10010,\"key\":\"EX\"}"}}},"400":{"description":"Returned if the request is not valid and the project could not be created."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to create projects."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/search":{"get":{"tags":["Projects"],"summary":"Get projects paginated","description":"Returns a [paginated](#pagination) list of projects visible to the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has one of:\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"searchProjects","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field.\n\n * `category` Sorts by project category. A complete list of category IDs is found using [Get all project categories](#api-rest-api-3-projectCategory-get).\n * `issueCount` Sorts by the total number of issues in each project.\n * `key` Sorts by project key.\n * `lastIssueUpdatedTime` Sorts by the last issue update time.\n * `name` Sorts by project name.\n * `owner` Sorts by project lead.\n * `archivedDate` EXPERIMENTAL. Sorts by project archived date.\n * `deletedDate` EXPERIMENTAL. Sorts by project deleted date.","schema":{"type":"string","enum":["category","-category","+category","key","-key","+key","name","-name","+name","owner","-owner","+owner","issueCount","-issueCount","+issueCount","lastIssueUpdatedDate","-lastIssueUpdatedDate","+lastIssueUpdatedDate","archivedDate","+archivedDate","-archivedDate","deletedDate","+deletedDate","-deletedDate"],"default":"key"}},{"name":"query","in":"query","description":"Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case insensitive).","schema":{"type":"string"}},{"name":"typeKey","in":"query","description":"Orders results by the [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`.","schema":{"type":"string"}},{"name":"categoryId","in":"query","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.","schema":{"type":"integer","format":"int64"}},{"name":"searchBy","in":"query","schema":{"type":"string","default":"key, name"}},{"name":"action","in":"query","description":"Filter results by projects for which the user can:\n\n * `view` the project, meaning that they have one of the following permissions:\n \n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * `browse` the project, meaning that they have the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * `edit` the project, meaning that they have one of the following permissions:\n \n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","schema":{"type":"string","enum":["view","browse","edit"],"default":"view"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `projectKeys` Returns all project keys associated with a project.\n * `lead` Returns information about the project lead.\n * `issueTypes` Returns all issue types associated with the project.\n * `url` Returns the URL associated with the project.\n * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.","schema":{"type":"string"}},{"name":"status","in":"query","description":"EXPERIMENTAL. Filter results by project status:\n\n * `live` Search live projects.\n * `archived` Search archived projects.\n * `deleted` Search deleted projects, those in the recycle bin.","schema":{"type":"array","items":{"type":"string","enum":["live","archived","deleted"],"default":"live"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanProject"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/search?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/project/search?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if no projects matching the search criteria are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/type":{"get":{"tags":["Project types"],"summary":"Get all project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid license for each type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllProjectTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectType"}},"example":"[{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"},{\"key\":\"software\",\"formattedKey\":\"Software\",\"descriptionI18nKey\":\"jira.project.type.software.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#AAAAAA\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/type/accessible":{"get":{"tags":["Project types"],"summary":"Get licensed project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license.","operationId":"getAllAccessibleProjectTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectType"}},"example":"[{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"},{\"key\":\"software\",\"formattedKey\":\"Software\",\"descriptionI18nKey\":\"jira.project.type.software.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#AAAAAA\"}]"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/type/{projectTypeKey}":{"get":{"tags":["Project types"],"summary":"Get project type by key","description":"Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getProjectTypeByKey","parameters":[{"name":"projectTypeKey","in":"path","description":"The key of the project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectType"},"example":"{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the project type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/type/{projectTypeKey}/accessible":{"get":{"tags":["Project types"],"summary":"Get accessible project type by key","description":"Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAccessibleProjectTypeByKey","parameters":[{"name":"projectTypeKey","in":"path","description":"The key of the project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectType"},"example":"{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project type is not accessible to the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}":{"get":{"tags":["Projects"],"summary":"Get project","description":"Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.\n * `issueTypeHierarchy` The project issue type hierarchy.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Projects"],"summary":"Update project","description":"Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.\n\nAll parameters are optional in the body of the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.","schema":{"type":"string"}}],"requestBody":{"description":"The project details to be updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInputBean"},"example":{"notificationScheme":10021,"description":"Example Project description","lead":"Charlie","url":"http://atlassian.com","projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","avatarId":10200,"issueSecurityScheme":10001,"name":"Example","permissionScheme":10011,"assigneeType":"PROJECT_LEAD","projectTypeKey":"business","key":"EX","categoryId":10120}}},"required":true},"responses":{"200":{"description":"Returned if the project is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to update project details.\n * the permission scheme is being changed and the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be changed on free plans."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Projects"],"summary":"Delete project","description":"Deletes a project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"enableUndo","in":"query","description":"EXPERIMENTAL. Whether this project is placed in the Jira recycle bin where it will be available for restoration.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Returned if the project is deleted."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to delete it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/archive":{"post":{"tags":["Projects"],"summary":"Archive project","description":"Archives a project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"archiveProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permissions."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/avatar":{"put":{"tags":["Project avatars"],"summary":"Set project avatar","description":"Sets the avatar displayed for a project.\n\nUse [Load project avatar](#api-rest-api-3-project-projectIdOrKey-avatar2-post) to store avatars against the project, before using this operation to set the displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"updateProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":{"id":"10010"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project or avatar is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/avatar/{id}":{"delete":{"tags":["Project avatars"],"summary":"Delete project avatar","description":"Deletes a custom avatar from a project. Note that system avatars cannot be deleted.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"deleteProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or (case-sensitive) key.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the avatar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the avatar is a system avatar or the user does not have permission to administer the project."},"404":{"description":"Returned if the project or avatar is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/avatar2":{"post":{"tags":["Project avatars"],"summary":"Load project avatar","description":"Loads an avatar for a project.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/3/project/{projectIdOrKey}/avatar2'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use [Set project avatar](#api-rest-api-3-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"createProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to administer the project or an anonymous call is made to the operation."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/avatars":{"get":{"tags":["Project avatars"],"summary":"Get all project avatars","description":"Returns all project avatars, grouped by system and custom avatars.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllProjectAvatars","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAvatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"}}],\"custom\":[{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/component":{"get":{"tags":["Project components"],"summary":"Get project components paginated","description":"Returns a [paginated](#pagination) list of all components in a project. See the [Get project components](#api-rest-api-3-project-projectIdOrKey-components-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectComponentsPaginated","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by the component description.\n * `issueCount` Sorts by the count of issues associated with the component.\n * `lead` Sorts by the user key of the component's project lead.\n * `name` Sorts by component name.","schema":{"type":"string","enum":["description","-description","+description","issueCount","-issueCount","+issueCount","lead","-lead","+lead","name","-name","+name"]}},{"name":"query","in":"query","description":"Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanComponentWithIssueCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/PR/component?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/project/PR/component?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"componentBean\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000},\"issueCount\":1,\"description\":\"This is a Jira component\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"projectId\":10000,\"project\":\"HSP\",\"assigneeType\":\"PROJECT_LEAD\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"name\":\"Component 1\",\"id\":\"10000\"},{\"componentBean\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10050\",\"name\":\"PXA\",\"description\":\"This is a another Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"PROJECTKEY\",\"projectId\":10000},\"issueCount\":5,\"description\":\"This is a another Jira component\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"projectId\":10000,\"project\":\"PROJECTKEY\",\"assigneeType\":\"PROJECT_LEAD\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"name\":\"PXA\",\"id\":\"10050\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/components":{"get":{"tags":["Project components"],"summary":"Get project components","description":"Returns all components in a project. See the [Get project components paginated](#api-rest-api-3-project-projectIdOrKey-component-get) resource if you want to get a full list of components with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectComponents","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Component"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10050\",\"name\":\"PXA\",\"description\":\"This is a another Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"PROJECTKEY\",\"projectId\":10000}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/delete":{"post":{"tags":["Projects"],"summary":"Delete project asynchronously","description":"Deletes a project asynchronously.\n\nThis operation is:\n\n * transactional, that is, if part of the delete fails the project is not deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectAsynchronously","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"303":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"}}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/properties":{"get":{"tags":["Project properties"],"summary":"Get project property keys","description":"Returns all [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectPropertyKeys","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to view the project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/properties/{propertyKey}":{"get":{"tags":["Project properties"],"summary":"Get project property","description":"Returns the value of a [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.","operationId":"getProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to get a list of all project property keys.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to view the project."},"404":{"description":"Returned if the project or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project properties"],"summary":"Set project property","description":"Sets the value of the [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). You can use project properties to store custom data against the project.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.","operationId":"setProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the project property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{},"example":{"number":5,"string":"string-value"}}},"required":true},"responses":{"200":{"description":"Returned if the project property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the project property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the project key or id is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Project properties"],"summary":"Delete project property","description":"Deletes the [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) from a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.","operationId":"deleteProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to get a list of all project property keys.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the project property is deleted."},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/project/{projectIdOrKey}/restore":{"post":{"tags":["Projects"],"summary":"Restore deleted project","description":"Restores a project from the Jira recycle bin.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"restore","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/role":{"get":{"tags":["Project roles"],"summary":"Get project roles for project","description":"Returns a list of [project roles](https://confluence.atlassian.com/x/3odKLg) for the project returning the name and self URL for each role.\n\nNote that all project roles are shared with all projects in Jira Cloud. See [Get all project roles](#api-rest-api-3-role-get) for more information.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoles","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"example":"{\"Administrators\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10002\",\"Users\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10001\",\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10000\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the user lacks administrative permissions for the project."},"404":{"description":"Returned if the project is not found or or if the user does not have administrative permissions for the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/role/{id}":{"get":{"tags":["Project roles"],"summary":"Get project role for project","description":"Returns a project role's details and actors associated with the project. The list of actors is sorted by display name.\n\nTo check whether a user belongs to a role based on their group memberships, use [Get user](#api-rest-api-3-user-get) with the `groups` expand parameter selected. Then check whether the user keys and groups match with the actors returned for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRole","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project or project role is not found.\n * the user does not have administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project role actors"],"summary":"Set actors for project role","description":"Sets the actors for a project role for a project, replacing all existing actors.\n\nTo add actors to the project without overwriting the existing list, use [Add actors to project role](#api-rest-api-3-project-projectIdOrKey-role-id-post).\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setActors","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The groups or users to associate with the project role for this project. Provide the user account ID or group name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRoleActorsUpdateBean"},"example":{"categorisedActors":{"atlassian-user-role-actor":["12345678-9abc-def1-2345-6789abcdef12"],"atlassian-group-role-actor":["jira-developers"]}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. The complete list of actors for the project is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project."},"404":{"description":"Returned if:\n\n * the project is not found.\n * a user or group is not found.\n * a group or user is not active."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"post":{"tags":["Project role actors"],"summary":"Add actors to project role","description":"Adds actors to a project role for the project.\n\nTo replace all actors for the project, use [Set actors for project role](#api-rest-api-3-project-projectIdOrKey-role-id-put).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addActorUsers","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The groups or users to associate with the project role for this project. Provide the user account ID or group name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorsMap"},"example":{"group":["jira-developers"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. The complete list of actors for the project is returned.\n\nFor example, the cURL request above adds a group, *jira-developers*. For the response below to be returned as a result of that request, the user *Mia Krystof* would have previously been added as a `user` actor for this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user or group is not found.\n * the group or user is not active."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project role actors"],"summary":"Delete actors from project role","description":"Deletes actors from a project role for the project.\n\nTo remove default actors from the project role, use [Delete default actors from project role](#api-rest-api-3-role-id-actors-delete).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteActor","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user","in":"query","description":"The user account ID of the user to remove from the project role.","schema":{"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"group","in":"query","description":"The name of the group to remove from the project role.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid."},"404":{"description":"Returned if:\n\n * the project or project role is not found.\n * the calling user does not have administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/roledetails":{"get":{"tags":["Project roles"],"summary":"Get project role details","description":"Returns all [project roles](https://confluence.atlassian.com/x/3odKLg) and the details for each role. Note that the list of project roles is common to all projects.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectRoleDetails","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"currentMember","in":"query","description":"Whether the roles should be filtered to include only those the user is assigned to.","schema":{"type":"boolean","default":false}},{"name":"excludeConnectAddons","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRole"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or if the user does not have the necessary permissions for the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/statuses":{"get":{"tags":["Projects"],"summary":"Get all statuses for project","description":"Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllStatuses","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeWithStatus"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"name\":\"Task\",\"subtask\":false,\"statuses\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\"}]}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/type/{newProjectTypeKey}":{"put":{"tags":["Projects"],"summary":"Update project type","description":"Deprecated, this feature is no longer supported and no alternatives are available, see [Convert project to a different template or type](https://confluence.atlassian.com/x/yEKeOQ). Updates a [project type](https://confluence.atlassian.com/x/GwiiLQ). The project type can be updated for classic projects only, project type cannot be updated for next-gen projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProjectType","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"newProjectTypeKey","in":"path","description":"The key of the new project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the project type is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net//secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-changes":[{"type":"removed","announced":"2019-06-03","effective":"2019-12-03","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-change-project-type-via-api//"}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/version":{"get":{"tags":["Project versions"],"summary":"Get project versions paginated","description":"Returns a [paginated](#pagination) list of all versions in a project. See the [Get project versions](#api-rest-api-3-project-projectIdOrKey-versions-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectVersionsPaginated","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by version description.\n * `name` Sorts by version name.\n * `releaseDate` Sorts by release date, starting with the oldest date. Versions with no release date are listed last.\n * `sequence` Sorts by the order of appearance in the user interface.\n * `startDate` Sorts by start date, starting with the oldest date. Versions with no start date are listed last.","schema":{"type":"string","enum":["description","-description","+description","name","-name","+name","releaseDate","-releaseDate","+releaseDate","sequence","-sequence","+sequence","startDate","-startDate","+startDate"]}},{"name":"query","in":"query","description":"Filter the results using a literal string. Versions with matching `name` or `description` are returned (case insensitive).","schema":{"type":"string"}},{"name":"status","in":"query","description":"A list of status values used to filter the results by version status. This parameter accepts a comma-separated list. The status values are `released`, `unreleased`, and `archived`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `issuesstatus` Returns the number of issues in each status category for each version.\n * `operations` Returns actions that can be performed on the specified version.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanVersion"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/PR/version?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/project/PR/version?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\":\"https://your-domain.atlassian.net/rest/api/3/version/10010\",\"id\":\"10010\",\"description\":\"Minor Bugfix version\",\"name\":\"Next Version\",\"archived\":false,\"released\":false,\"overdue\":false,\"projectId\":10000,\"issuesStatusForFixVersion\":{\"unmapped\":0,\"toDo\":10,\"inProgress\":20,\"done\":100}}]}"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/versions":{"get":{"tags":["Project versions"],"summary":"Get project versions","description":"Returns all versions in a project. The response is not paginated. Use [Get project versions paginated](#api-rest-api-3-project-projectIdOrKey-version-get) if you want to get the versions in a project with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectVersions","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `operations`, which returns actions that can be performed on the version.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Version"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\":\"https://your-domain.atlassian.net/rest/api/3/version/10010\",\"id\":\"10010\",\"description\":\"Minor Bugfix version\",\"name\":\"Next Version\",\"archived\":false,\"released\":false,\"overdue\":false,\"projectId\":10000,\"issuesStatusForFixVersion\":{\"unmapped\":0,\"toDo\":10,\"inProgress\":20,\"done\":100}}]"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectId}/email":{"get":{"tags":["Project email"],"summary":"Get project's sender email","description":"Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectEmail","parameters":[{"name":"projectId","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEmailAddress"},"example":"{\"emailAddress\":\"jira@example.atlassian.net\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to read project."},"404":{"description":"Returned if the project or project's sender email address is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project email"],"summary":"Set project's sender email","description":"Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\nIf `emailAddress` is an empty string, the default email address is restored.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"updateProjectEmail","parameters":[{"name":"projectId","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The project's sender email address to be set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEmailAddress"},"example":{"emailAddress":"jira@example.atlassian.net"}}},"required":true},"responses":{"204":{"description":"Returned if the project's sender email address is successfully set.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid, if the email address is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to read project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectId}/hierarchy":{"get":{"tags":["Projects"],"summary":"Get project issue type hierarchy","description":"Get the issue type hierarchy for a next-gen project.\n\nThe issue type hierarchy for a project consists of:\n\n * *Epic* at level 1 (optional).\n * One or more issue types at level 0 such as *Story*, *Task*, or *Bug*. Where the issue type *Epic* is defined, these issue types are used to break down the content of an epic.\n * *Subtask* at level -1 (optional). This issue type enables level 0 issue types to be broken down into components. Issues based on a level -1 issue type must have a parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getHierarchy","parameters":[{"name":"projectId","in":"path","description":"The ID of the project.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueTypeHierarchy"},"example":"{\"projectId\":10030,\"hierarchy\":[{\"entityId\":\"7e73481e-ec5d-4921-84a7-886f75c92189\",\"level\":0,\"name\":\"Base\",\"issueTypes\":[{\"id\":10008,\"entityId\":\"af77a940-1c53-4c2f-8c96-2048864b69c2\",\"name\":\"Story\",\"avatarId\":10324},{\"id\":10001,\"entityId\":\"fc8b607e-4588-4db3-9f9d-85c050b9773e\",\"name\":\"Bug\",\"avatarId\":10324}]},{\"entityId\":\"97404f0e-4340-400b-bec9-e85bff6c7d9b\",\"level\":1,\"name\":\"Epic\",\"issueTypes\":[{\"id\":10007,\"entityId\":\"3d53432a-6227-4765-b281-dfbc5bfd2fc9\",\"name\":\"Epic\",\"avatarId\":10179}]},{\"entityId\":\"d2cc03d1-f35f-4542-ab55-18cf03e135b1\",\"level\":-1,\"name\":\"Subtask\",\"issueTypes\":[{\"id\":10009,\"entityId\":\"7d3c8495-6d23-4152-8577-dcd6e65826c5\",\"name\":\"Subtask\",\"avatarId\":10573}]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectKeyOrId}/issuesecuritylevelscheme":{"get":{"tags":["Project permission schemes"],"summary":"Get project issue security scheme","description":"Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or the *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getProjectIssueSecurityScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021,\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the project is visible to the user but the user doesn't have administrative permissions."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectKeyOrId}/notificationscheme":{"get":{"tags":["Projects"],"summary":"Get project notification scheme","description":"Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project. See the [Get notification scheme](#api-rest-api-3-notificationscheme-id-get) resource for more information about notification schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getNotificationSchemeForProject","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationScheme"},"example":"{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/3/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectKeyOrId}/permissionscheme":{"get":{"tags":["Project permission schemes"],"summary":"Get assigned permission scheme","description":"Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getAssignedPermissionScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to view the project's configuration."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project permission schemes"],"summary":"Assign permission scheme","description":"Assigns a permission scheme with a project. See [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)","operationId":"assignPermissionScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdBean"},"example":{"id":10000}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to edit the project's configuration.\n * the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be assigned to projects on free plans."},"404":{"description":"Returned if the project or permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectKeyOrId}/securitylevel":{"get":{"tags":["Project permission schemes"],"summary":"Get project issue security levels","description":"Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has access to.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security levels are only returned for authenticated user with *Set Issue Security* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project.","operationId":"getSecurityLevelsForProject","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueSecurityLevels"},"example":"{\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/100000\",\"id\":\"100000\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/100001\",\"id\":\"100001\",\"description\":\"Only internal staff can see this issue.\",\"name\":\"Staff Only\"}]}"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/projectCategory":{"get":{"tags":["Project categories"],"summary":"Get all project categories","description":"Returns all project categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAllProjectCategories","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectCategory"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10001\",\"id\":\"10001\",\"name\":\"SECOND\",\"description\":\"Second Project Category\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Project categories"],"summary":"Create project category","description":"Creates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProjectCategory","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":{"name":"CREATED","description":"Created Project Category"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10100\",\"id\":\"10100\",\"name\":\"CREATED\",\"description\":\"Created Project Category\"}"}}},"400":{"description":"Returned if:\n\n * `name` is not provided or exceeds 255 characters.\n * `description` is not provided or exceeds 1000 characters."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"409":{"description":"Returned if the project category name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/projectCategory/{id}":{"get":{"tags":["Project categories"],"summary":"Get project category by ID","description":"Returns a project category.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getProjectCategoryById","parameters":[{"name":"id","in":"path","description":"The ID of the project category.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project categories"],"summary":"Update project category","description":"Updates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProjectCategory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":{"name":"UPDATED","description":"Updated Project Category"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatedProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10100\",\"id\":\"10100\",\"name\":\"UPDATED\",\"description\":\"Updated Project Category\"}"}}},"400":{"description":"Returned if:\n\n * `name` has been modified and exceeds 255 characters.\n * `description` has been modified and exceeds 1000 characters."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project categories"],"summary":"Delete project category","description":"Deletes a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeProjectCategory","parameters":[{"name":"id","in":"path","description":"ID of the project category to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/projectvalidate/key":{"get":{"tags":["Project key and name validation"],"summary":"Validate project key","description":"Validates a project key by confirming the key is a valid string and not in use.\n\n**[Permissions](#permissions) required:** None.","operationId":"validateProjectKey","parameters":[{"name":"key","in":"query","description":"The project key.","schema":{"type":"string","example":"HSP"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[],\"errors\":{\"projectKey\":\"A project with that project key already exists.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/projectvalidate/validProjectKey":{"get":{"tags":["Project key and name validation"],"summary":"Get valid project key","description":"Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.\n\n**[Permissions](#permissions) required:** None.","operationId":"getValidProjectKey","parameters":[{"name":"key","in":"query","description":"The project key.","schema":{"type":"string","example":"HSP"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"},"example":"\"VPNE\""}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/projectvalidate/validProjectName":{"get":{"tags":["Project key and name validation"],"summary":"Get valid project name","description":"Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a sequence number. If a valid project name cannot be generated, a 404 response is returned.\n\n**[Permissions](#permissions) required:** None.","operationId":"getValidProjectName","parameters":[{"name":"name","in":"query","description":"The project name.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"},"example":"\"Valid Project Name Example\""}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if a valid project name cannot be generated."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/resolution":{"get":{"tags":["Issue resolutions"],"summary":"Get resolutions","description":"Returns a list of all issue resolution values.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getResolutions","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Resolution"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/resolution/1\",\"id\":\"10000\",\"description\":\"A fix for this issue is checked into the tree and tested.\",\"name\":\"Fixed\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/resolution/3\",\"id\":\"10001\",\"description\":\"This is what it is supposed to do.\",\"name\":\"Works as designed\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/resolution/{id}":{"get":{"tags":["Issue resolutions"],"summary":"Get resolution","description":"Returns an issue resolution value.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getResolution","parameters":[{"name":"id","in":"path","description":"The ID of the issue resolution value.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resolution"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/resolution/1\",\"id\":\"10000\",\"description\":\"A fix for this issue is checked into the tree and tested.\",\"name\":\"Fixed\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue resolution value is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/role":{"get":{"tags":["Project roles"],"summary":"Get all project roles","description":"Gets a list of all project roles, complete with project role details and default actors.\n\n### About project roles ###\n\n[Project roles](https://confluence.atlassian.com/x/3odKLg) are a flexible way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally with all projects, but each project can have a different set of actors associated with it (unlike groups, which have the same membership throughout all Jira applications).\n\nProject roles are used in [permission schemes](#api-rest-api-3-permissionscheme-get), [email notification schemes](#api-rest-api-3-notificationscheme-get), [issue security levels](#api-rest-api-3-issuesecurityschemes-get), [comment visibility](#api-rest-api-3-comment-list-post), and workflow conditions.\n\n#### Members and actors ####\n\nIn the Jira REST API, a member of a project role is called an *actor*. An *actor* is a group or user associated with a project role.\n\nActors may be set as [default members](https://confluence.atlassian.com/x/3odKLg#Managingprojectroles-Specifying'defaultmembers'foraprojectrole) of the project role or set at the project level:\n\n * Default actors: Users and groups that are assigned to the project role for all newly created projects. The default actors can be removed at the project level later if desired.\n * Actors: Users and groups that are associated with a project role for a project, which may differ from the default actors. This enables you to assign a user to different roles in different projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllProjectRoles","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRole"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project roles"],"summary":"Create project role","description":"Creates a new project role with no [default actors](#api-rest-api-3-resolution-get). You can use the [Add default actors to project role](#api-rest-api-3-role-id-actors-post) operation to add default actors to the project role after creating it.\n\n*Note that although a new project role is available to all projects upon creation, any default actors that are associated with the project role are not added to projects that existed prior to the role being created.*<\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProjectRole","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360\",\"name\":\"Developers\",\"id\":10360,\"description\":\"A project role that represents developers in a project\"}"}}},"400":{"description":"Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"409":{"description":"Returned if a project role with the provided name already exists."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/role/{id}":{"get":{"tags":["Project roles"],"summary":"Get project role by ID","description":"Gets the project role details and the default actors associated with the role. The list of default actors is sorted by display name.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoleById","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Project roles"],"summary":"Fully update project role","description":"Updates the project role's name and description. You must include both a name and a description in the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"fullyUpdateProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project roles"],"summary":"Partial update project role","description":"Updates either the project role's name or its description.\n\nYou cannot update both the name and description at the same time using this operation. If you send a request with a name and a description only the name is updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"partialUpdateProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project roles"],"summary":"Delete project role","description":"Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in use.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role to delete. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"swap","in":"query","description":"The ID of the project role that will replace the one being deleted.","schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid or if the replacement project role is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role being deleted is not found."},"409":{"description":"Returned if the project role being deleted is in use and a replacement project role is not specified in the request."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/role/{id}/actors":{"get":{"tags":["Project role actors"],"summary":"Get default actors for project role","description":"Returns the [default actors](#api-rest-api-3-resolution-get) for the project role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoleActorsForRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project role actors"],"summary":"Add default actors to project role","description":"Adds [default actors](#api-rest-api-3-resolution-get) to a role. You may add groups or users, but you cannot add groups and users in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addProjectRoleActorsToRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorInputBean"},"example":{"user":["admin"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project role actors"],"summary":"Delete default actors from project role","description":"Deletes the [default actors](#api-rest-api-3-resolution-get) from a project role. You may delete a group or user, but you cannot delete a group and a user in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectRoleActorsFromRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user","in":"query","description":"The user account ID of the user to remove as a default actor.","schema":{"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"group","in":"query","description":"The group name of the group to be removed as a default actor.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens":{"get":{"tags":["Screens"],"summary":"Get screens","description":"Returns a [paginated](#pagination) list of all screens or those specified by one or more screen IDs.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreens","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}},{"name":"id","in":"query","description":"The list of screen IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreen"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/screens\",\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"id\":1,\"name\":\"Default Screen\",\"description\":\"Provides for the update all system fields.\"},{\"id\":2,\"name\":\"Workflow Screen\",\"description\":\"This screen is used in the workflow and enables you to assign issues.\"},{\"id\":3,\"name\":\"Resolve Issue Screen\",\"description\":\"Offers the ability to set resolution, change fix versions, and assign an issue.\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screens"],"summary":"Create screen","description":"Creates a screen with a default field tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createScreen","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenDetails"},"example":{"name":"Resolve Security Issue Screen","description":"Enables changes to resolution and linked issues."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Screen"},"example":"{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"description\":\"Enables changes to resolution and linked issues.\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another screen.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/addToDefault/{fieldId}":{"post":{"tags":["Screens"],"summary":"Add field to default screen","description":"Adds a field to the default tab of the default screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addFieldToDefaultScreen","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the field it not found or the field is already present."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}":{"put":{"tags":["Screens"],"summary":"Update screen","description":"Updates a screen. Only screens used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateScreen","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScreenDetails"},"example":{"name":"Resolve Accessibility Issue Screen","description":"Enables changes to resolution and linked issues for accessibility related issues."}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Screen"},"example":"{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"description\":\"Enables changes to resolution and linked issues.\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another screen.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screens"],"summary":"Delete screen","description":"Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.\n\nOnly screens used in classic projects can be deleted.","operationId":"deleteScreen","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen is used in a screen scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/availableFields":{"get":{"tags":["Screens"],"summary":"Get available screen fields","description":"Returns the fields that can be added to a tab on a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAvailableScreenFields","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableField"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs":{"get":{"tags":["Screen tabs"],"summary":"Get all screen tabs","description":"Returns the list of tabs for a screen.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.","operationId":"getAllScreenTabs","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"projectKey","in":"query","description":"The key of the project.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableTab"}}}}},"400":{"description":"Returned if the screen ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen tabs"],"summary":"Create screen tab","description":"Creates a tab for a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":{"name":"Fields Tab"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":"{\"id\":10000,\"name\":\"Fields Tab\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}":{"put":{"tags":["Screen tabs"],"summary":"Update screen tab","description":"Updates the name of a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"renameScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":"{\"id\":10000,\"name\":\"Fields Tab\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screen tabs"],"summary":"Delete screen tab","description":"Deletes a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}/fields":{"get":{"tags":["Screen tab fields"],"summary":"Get all screen tab fields","description":"Returns all fields for a screen tab.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.","operationId":"getAllScreenTabFields","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"projectKey","in":"query","description":"The key of the project.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableField"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen tab fields"],"summary":"Add screen tab field","description":"Adds a field to a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddFieldBean"},"example":{"fieldId":"summary"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableField"},"example":"{\"id\":\"summary\",\"name\":\"Summary\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}/fields/{id}":{"delete":{"tags":["Screen tab fields"],"summary":"Remove screen tab field","description":"Removes a field from a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}/fields/{id}/move":{"post":{"tags":["Screen tab fields"],"summary":"Move screen tab field","description":"Moves a screen tab field.\n\nIf `after` and `position` are provided in the request, `position` is ignored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"moveScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveFieldBean"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found or the field can't be moved to the requested position."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}/move/{pos}":{"post":{"tags":["Screen tabs"],"summary":"Move screen tab","description":"Moves a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"moveScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"pos","in":"path","description":"The position of tab. The base index is 0.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found or the position is invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screenscheme":{"get":{"tags":["Screen schemes"],"summary":"Get screen schemes","description":"Returns a [paginated](#pagination) list of screen schemes.\n\nOnly screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreenSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":25}},{"name":"id","in":"query","description":"The list of screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreenScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/screenscheme?maxResults=25&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":10010,\"name\":\"Employee screen scheme\",\"description\":\"Manage employee data\",\"screens\":{\"default\":10017,\"edit\":10019,\"create\":10019,\"view\":10020}},{\"id\":10032,\"name\":\"Office screen scheme\",\"description\":\"Manage office data\",\"screens\":{\"default\":10020}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen schemes"],"summary":"Create screen scheme","description":"Creates a screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createScreenScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenSchemeDetails"},"example":{"screens":{"default":10017,"view":10020,"edit":10019},"name":"Employee screen scheme","description":"Manage employee data"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenSchemeId"},"example":"{\"id\":10001}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if a screen used as one of the screen types in the screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more screens assigned to screen types was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screenscheme/{screenSchemeId}":{"put":{"tags":["Screen schemes"],"summary":"Update screen scheme","description":"Updates a screen scheme. Only screen schemes used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateScreenScheme","parameters":[{"name":"screenSchemeId","in":"path","description":"The ID of the screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The screen scheme update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScreenSchemeDetails"},"example":{"screens":{"default":"10018","create":"10019"},"name":"Employee screen scheme v2"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen scheme or a screen used as one of the screen types is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screen schemes"],"summary":"Delete screen scheme","description":"Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.\n\nOnly screens schemes used in classic projects can be deleted.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteScreenScheme","parameters":[{"name":"screenSchemeId","in":"path","description":"The ID of the screen scheme.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the screen scheme is deleted."},"400":{"description":"Returned if the screen scheme is used in an issue type screen scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme cannot be deleted as it is in use in an issue type screen scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/search":{"get":{"tags":["Issue search"],"summary":"Search for issues using JQL (GET)","description":"Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nIf the JQL query expression is too large to be encoded as a query parameter, use the [POST](#api-rest-api-3-search-post) version of this resource.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"searchForIssuesUsingJql","parameters":[{"name":"jql","in":"query","description":"The [JQL](https://confluence.atlassian.com/x/egORLQ) that defines the search. Note:\n\n * If no JQL expression is provided, all issues are returned.\n * `username` and `userkey` cannot be used as search terms due to privacy reasons. Use `accountId` instead.\n * If a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.","schema":{"type":"string","example":"project = HSP"},"x-showInExample":"true"},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page. To manage page size, Jira may return fewer items per page where a large number of fields are requested. The greatest number of items returned per page is achieved when requesting `id` or `key` only.","schema":{"type":"integer","format":"int32","default":50}},{"name":"validateQuery","in":"query","description":"Determines how to validate the JQL query and treat the validation results. Supported values are:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.","schema":{"type":"string","enum":["strict","warn","none","true","false"],"default":"strict"}},{"name":"fields","in":"query","description":"A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2&fields=field3`.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.","schema":{"type":"array","items":{"type":"string","default":"*navigable"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of issue property keys for issue properties to include in the results. This parameter accepts a comma-separated list. Multiple properties can also be provided using an ampersand separated list. For example, `properties=prop1,prop2&properties=prop3`. A maximum of 5 issue property keys can be specified.","schema":{"type":"array","items":{"type":"string"}}},{"name":"fieldsByKeys","in":"query","description":"Reference fields by their key (rather than ID).","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"},"example":"{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.851+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/secure/thumbnail/10000/picture.jpg\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Main order flow broken\"}]}]},\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.894+0000\",\"updated\":\"2020-10-28T05:46:15.894+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2020-10-28T05:46:15.899+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:15.898+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}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"}}},"400":{"description":"Returned if the JQL query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue search"],"summary":"Search for issues using JQL (POST)","description":"Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nThere is a [GET](#api-rest-api-3-search-get) version of this resource that can be used for smaller JQL query expressions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"searchForIssuesUsingJqlPost","parameters":[],"requestBody":{"description":"A JSON object containing the search request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequestBean"},"example":{"expand":["names","schema","operations"],"jql":"project = HSP","maxResults":15,"fieldsByKeys":false,"fields":["summary","status","assignee"],"startAt":0}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"},"example":"{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.851+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/secure/thumbnail/10000/picture.jpg\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Main order flow broken\"}]}]},\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2020-10-28T05:46:13.936+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2020-10-28T05:46:15.894+0000\",\"updated\":\"2020-10-28T05:46:15.894+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2020-10-28T05:46:15.899+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:15.898+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}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"}}},"400":{"description":"Returned if the JQL query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/securitylevel/{id}":{"get":{"tags":["Issue security level"],"summary":"Get issue security level","description":"Returns details of an issue security level.\n\nUse [Get issue security scheme](#api-rest-api-3-issuesecurityschemes-id-get) to obtain the IDs of issue security levels associated with the issue security scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getIssueSecurityLevel","parameters":[{"name":"id","in":"path","description":"The ID of the issue security level.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityLevel"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue security level is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/serverInfo":{"get":{"tags":["Server info"],"summary":"Get Jira instance info","description":"Returns information about the Jira instance.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getServerInfo","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInformation"},"example":"{\"baseUrl\":\"https://your-domain.atlassian.net/jira\",\"version\":\"1001.0.0-SNAPSHOT\",\"versionNumbers\":[5,0,0],\"buildNumber\":582,\"buildDate\":\"2020-10-28T05:46:16.961+0000\",\"serverTime\":\"2020-10-28T05:46:16.961+0000\",\"scmInfo\":\"1f51473f5c7b75c1a69a0090f4832cdc5053702a\",\"serverTitle\":\"My Jira instance\",\"defaultLocale\":{\"locale\":\"en_AU\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/settings/columns":{"get":{"tags":["Issue navigator settings"],"summary":"Get issue navigator default columns","description":"Returns the default issue navigator columns.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueNavigatorDefaultColumns","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}},"example":"[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"Summary\",\"value\":\"summary\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"put":{"tags":["Issue navigator settings"],"summary":"Set issue navigator default columns","description":"Sets the default issue navigator columns.\n\nThe `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple columns, pass multiple `columns` parameters. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/settings/columns`\n\nIf no column details are sent, then all default columns are removed.\n\nA navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue columns using [Get fields](#api-rest-api-3-field-get).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setIssueNavigatorDefaultColumns","parameters":[],"requestBody":{"description":"A navigable field value.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if invalid parameters are passed."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if a navigable field value is not found."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/status":{"get":{"tags":["Workflow statuses"],"summary":"Get all statuses","description":"Returns a list of all statuses associated with workflows.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getStatuses","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/status/{idOrName}":{"get":{"tags":["Workflow statuses"],"summary":"Get status","description":"Returns a status. The status must be associated with a workflow to be returned.\n\nIf a name is used on more than one status, only the status found first is returned. Therefore, identifying the status by its ID may be preferable.\n\nThis operation can be accessed anonymously.\n\n[Permissions](#permissions) required: None.","operationId":"getStatus","parameters":[{"name":"idOrName","in":"path","description":"The ID or name of the status.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the status is not found.\n * the status is not associated with a workflow.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/statuscategory":{"get":{"tags":["Workflow status categories"],"summary":"Get all status categories","description":"Returns a list of all status categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getStatusCategories","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusCategory"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/statuscategory/{idOrKey}":{"get":{"tags":["Workflow status categories"],"summary":"Get status category","description":"Returns a status category. Status categories provided a mechanism for categorizing [statuses](#api-rest-api-3-status-idOrName-get).\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getStatusCategory","parameters":[{"name":"idOrKey","in":"path","description":"The ID or key of the status category.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the status category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/task/{taskId}":{"get":{"tags":["Tasks"],"summary":"Get task","description":"Returns the status of a [long-running asynchronous task](#async).\n\nWhen a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the operation that created the task for details. Task details are not permanently retained. As of September 2019, details are retained for 14 days although this period may change without notice.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.","operationId":"getTask","parameters":[{"name":"taskId","in":"path","description":"The ID of the task.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/task/1\",\"id\":\"1\",\"description\":\"Task description\",\"status\":\"COMPLETE\",\"result\":\"the task result, this may be any JSON\",\"submittedBy\":10000,\"progress\":100,\"elapsedRuntime\":156,\"submitted\":1603863980509,\"started\":1603863980610,\"finished\":1603863980710,\"lastUpdate\":1603863980710}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the task is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/task/{taskId}/cancel":{"post":{"tags":["Tasks"],"summary":"Cancel task","description":"Cancels a task.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.","operationId":"cancelTask","parameters":[{"name":"taskId","in":"path","description":"The ID of the task.","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if cancellation of the task is not possible.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"404":{"description":"Returned if the task is not found.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/universal_avatar/type/{type}/owner/{entityId}":{"get":{"tags":["Avatars"],"summary":"Get avatars","description":"Returns the system and custom avatars for a project or issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAvatars","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"entityId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"}}],\"custom\":[{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Avatars"],"summary":"Load avatar","description":"Loads a custom avatar for a project or issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/3/universal_avatar/type/{type}/owner/{entityId}'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use:\n\n * [Update issue type](#api-rest-api-3-issuetype-id-put) to set it as the issue type's displayed avatar.\n * [Set project avatar](#api-rest-api-3-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"storeAvatar","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"entityId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permissions."},"404":{"description":"Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}":{"delete":{"tags":["Avatars"],"summary":"Delete avatar","description":"Deletes an avatar from a project or issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteAvatar","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"owningObjectId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the avatar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user does not have permission to delete the avatar, the avatar is not deletable."},"404":{"description":"Returned if the avatar type, associated item ID, or avatar ID is invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/user":{"get":{"tags":["Users"],"summary":"Get user","description":"Returns a user.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUser","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about users in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` includes all groups and nested groups to which the user belongs.\n * `applicationRoles` includes details of all the applications to which the user has access.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the *Browse users and groups* global permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Users"],"summary":"Create user","description":"Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated.\n\nThe option is provided to set or generate a password for the user. When using the option to generate a password, by omitting `password` from the request, include `\"notification\": \"true\"` to ensure the user is sent an email advising them that their account is created. This email includes a link for the user to set their password. If the notification isn't sent for a generated password, the user will need to be sent a reset password request from Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createUser","parameters":[],"requestBody":{"description":"Details about the user to be created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserWriteBean"},"example":{"password":"abracadabra","emailAddress":"mia@atlassian.com","displayName":"Mia Krystof","name":""}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"400":{"description":"Returned if the request is invalid or the number of licensed users is exceeded."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Users"],"summary":"Delete user","description":"Deletes a user.\n\n**[Permissions](#permissions) required:** Site administration (that is, membership of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeUser","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the user cannot be removed."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/user/assignable/multiProjectSearch":{"get":{"tags":["User search"],"summary":"Find users assignable to projects","description":"Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"findBulkAssignableUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"projectKeys","in":"query","description":"A list of project keys (case sensitive). This parameter accepts a comma-separated list.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `projectKeys` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if one or more of the projects is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/assignable/search":{"get":{"tags":["User search"],"summary":"Find users assignable to issues","description":"Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to:\n\n * a new issue, by providing the `projectKeyOrId`.\n * an updated issue, by providing the `issueKey`.\n * to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-rest-api-3-issue-issueIdOrKey-get).\n\nIn all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"findAssignableUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `username` or `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"sessionId","in":"query","description":"The sessionId of this request. SessionId is the same until the assignee is set.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"project","in":"query","description":"The project ID or project key (case sensitive). Required, unless `issueKey` is specified.","schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The key of the issue. Required, unless `project` is specified.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return. This operation may return less than the maximum number of items even if more are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the users that can be assigned to the issue.","schema":{"type":"integer","format":"int32","default":50}},{"name":"actionDescriptorId","in":"query","description":"The ID of the transition.","schema":{"type":"integer","format":"int32"}},{"name":"recommend","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `project` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project, issue, or transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/bulk":{"get":{"tags":["Users"],"summary":"Bulk get users","description":"Returns a [paginated](#pagination) list of the users specified by one or more account IDs.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetUsers","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"accountId","in":"query","description":"The account ID of a user. To specify multiple users, pass multiple `accountId` parameters. For example, `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"maxLength":128,"type":"array","example":"5b10ac8d82e05b22cc7d4ef5","items":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"}},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUser"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}]}"}}},"400":{"description":"Returned if `accountID` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/bulk/migration":{"get":{"tags":["Users"],"summary":"Get account IDs for users","description":"Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or `username` parameters can be specified.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetUsersMigration","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"username","in":"query","description":"Username of a user. To specify multiple users, pass multiple copies of this parameter. For example, `username=fred&username=barney`. Required if `key` isn't provided. Cannot be provided if `key` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"key","in":"query","description":"Key of a user. To specify multiple users, pass multiple copies of this parameter. For example, `key=fred&key=barney`. Required if `username` isn't provided. Cannot be provided if `username` is present.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserMigrationBean"}},"example":"[{\"username\":\"mia\",\"accountId\":\"5b10a2844c20165700ede21g\"},{\"username\":\"emma\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\"}]"}}},"400":{"description":"Returned if `key` or `username`"},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/columns":{"get":{"tags":["Users"],"summary":"Get user default columns","description":"Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId` is not passed in the request, the calling user's details are returned.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for any user.\n * Permission to access Jira, to get the calling user's column details.","operationId":"getUserDefaultColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the requested user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Users"],"summary":"Set user default columns","description":"Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID is not passed, the calling user's default columns are set. If no column details are sent, then all default columns are removed.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/user/columns?accountId=5b10ac8d82e05b22cc7d4ef5'`\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.","operationId":"setUserColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"requestBody":{"description":"The ID of a column to set. To set multiple columns, send multiple `columns` parameters.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the requested user is not found."},"500":{"description":"Returned if an invalid issue table column ID is sent."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Users"],"summary":"Reset user default columns","description":"Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system default. If `accountId` is not passed, the calling user's default columns are reset.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.","operationId":"resetUserColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/user/email":{"get":{"tags":["Users"],"summary":"Get user email","description":"Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).","operationId":"getUserEmail","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"maxLength":128,"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnrestrictedUserEmail"},"example":"name@example.com"}}},"400":{"description":"Returned if the calling app is not approved to use this API."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request (for example if a user is trying to access this API)."},"404":{"description":"Returned if a user with the given `accountId` doesn't exist"},"503":{"description":"Indicates the API is not currently enabled"}},"deprecated":false,"security":[{"basicAuth":[]}],"x-experimental":true,"x-atlassian-connect-scope":"ACCESS_EMAIL_ADDRESSES"}},"/rest/api/3/user/email/bulk":{"get":{"tags":["Users"],"summary":"Get user email bulk","description":"Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).","operationId":"getUserEmailBulk","parameters":[{"name":"accountId","in":"query","description":"The account IDs of the users for which emails are required. An `accountId` is an identifier that uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`. Note, this should be treated as an opaque identifier (that is, do not assume any structure in the value).","required":true,"schema":{"maxLength":128,"type":"array","items":{"maxLength":128,"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnrestrictedUserEmail"}}}},"400":{"description":"Returned if the calling app is not approved to use this API."},"401":{"description":"Returned if the authentication credentials are incorrect, or missing from the request (for example if a user is trying to access this API)."},"503":{"description":"Indicates the API is not currently enabled."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-experimental":true,"x-atlassian-connect-scope":"ACCESS_EMAIL_ADDRESSES"}},"/rest/api/3/user/groups":{"get":{"tags":["Users"],"summary":"Get user groups","description":"Returns the groups to which a user belongs.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUserGroups","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupName"}},"example":"{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the *Browse users and groups* global permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/permission/search":{"get":{"tags":["User search"],"summary":"Find users with permissions","description":"Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have a set of permissions for a project or issue.\n\nIf no search string is provided, a list of all users with the permissions is returned.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project.","operationId":"findUsersWithAllPermissions","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"permissions","in":"query","description":"A comma separated list of permissions. Permissions can be specified as any:\n\n * permission returned by [Get all permissions](#api-rest-api-3-permissions-get).\n * custom project permission added by Connect apps.\n * (deprecated) one of the following:\n \n * ASSIGNABLE\\_USER\n * ASSIGN\\_ISSUE\n * ATTACHMENT\\_DELETE\\_ALL\n * ATTACHMENT\\_DELETE\\_OWN\n * BROWSE\n * CLOSE\\_ISSUE\n * COMMENT\\_DELETE\\_ALL\n * COMMENT\\_DELETE\\_OWN\n * COMMENT\\_EDIT\\_ALL\n * COMMENT\\_EDIT\\_OWN\n * COMMENT\\_ISSUE\n * CREATE\\_ATTACHMENT\n * CREATE\\_ISSUE\n * DELETE\\_ISSUE\n * EDIT\\_ISSUE\n * LINK\\_ISSUE\n * MANAGE\\_WATCHER\\_LIST\n * MODIFY\\_REPORTER\n * MOVE\\_ISSUE\n * PROJECT\\_ADMIN\n * RESOLVE\\_ISSUE\n * SCHEDULE\\_ISSUE\n * SET\\_ISSUE\\_SECURITY\n * TRANSITION\\_ISSUE\n * VIEW\\_VERSION\\_CONTROL\n * VIEW\\_VOTERS\\_AND\\_WATCHERS\n * VIEW\\_WORKFLOW\\_READONLY\n * WORKLOG\\_DELETE\\_ALL\n * WORKLOG\\_DELETE\\_OWN\n * WORKLOG\\_EDIT\\_ALL\n * WORKLOG\\_EDIT\\_OWN\n * WORK\\_ISSUE","required":true,"schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The issue key for the issue.","schema":{"type":"string"}},{"name":"projectKey","in":"query","description":"The project key for the project (case sensitive).","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `projectKey` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided.\n * `permissions` is empty or contains an invalid entry."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue or project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/picker":{"get":{"tags":["User search"],"summary":"Find users for picker","description":"Returns a list of users whose attributes match the query term. The returned object includes the `html` field where the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude users from the results.\n\nThis operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns only the users from that range that match the query term. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the query term, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return search results for an exact name match only.","operationId":"findUsersForPicker","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*.","required":true,"schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"The maximum number of items to return. The total number of matched users is returned in `total`.","schema":{"type":"integer","format":"int32","default":50}},{"name":"showAvatar","in":"query","description":"Include the URI to the user's avatar.","schema":{"type":"boolean","default":false}},{"name":"exclude","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"excludeAccountIds","in":"query","description":"A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`. Cannot be provided with `exclude`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"avatarSize","in":"query","schema":{"type":"string"}},{"name":"excludeConnectUsers","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundUsers"},"example":"{\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"mia\",\"key\":\"mia\",\"html\":\"Mia Krystof - mia@example.com (mia)\",\"displayName\":\"Mia Krystof\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}],\"total\":25,\"header\":\"Showing 20 of 25 matching groups\"}"}}},"400":{"description":"Returned if `exclude` and `excludeAccountIds` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/properties":{"get":{"tags":["User properties"],"summary":"Get user property keys","description":"Returns the keys of all properties for a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on any user.\n * Access to Jira, to access the calling user's property keys.","operationId":"getUserPropertyKeys","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/properties/{propertyKey}":{"get":{"tags":["User properties"],"summary":"Get user property","description":"Returns the value of a user's property. If no property key is provided [Get user property keys](#api-rest-api-3-user-properties-get) is called.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.\n * Access to Jira, to get a property from the calling user's record.","operationId":"getUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["User properties"],"summary":"Set user property","description":"Sets the value of a user's property. Use this resource to store custom data against a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.\n * Access to Jira, to set a property on the calling user's record.","operationId":"setUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the user property is updated.","content":{"application/json":{"schema":{"type":"object"}}}},"201":{"description":"Returned if the user property is created.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."},"405":{"description":"Returned if the property key is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["User properties"],"summary":"Delete user property","description":"Deletes a property from a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any user.\n * Access to Jira, to delete a property from the calling user's record.","operationId":"deleteUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the user property is deleted."},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user or the property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/user/search":{"get":{"tags":["User search"],"summary":"Find users","description":"Returns a list of users that match the search string and property.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and property. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and property, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users without the required permission return empty search results.","operationId":"findUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes ( `displayName`, and `emailAddress`) to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` or `property` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against a user `accountId`. Required, unless `query` or `property` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"property","in":"query","description":"A query string used to search properties. Property keys are specified by path, so property keys containing dot (.) or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `thepropertykey.something.nested=1`. Required, unless `accountId` or `query` is specified.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `accountId`, `query` or `property` is missing.\n * `query` and `accountId` are provided.\n * `property` parameter is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/search/query":{"get":{"tags":["User search"],"summary":"Find users by query","description":"Finds users with a structured query and returns a [paginated](#pagination) list of user details.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`","operationId":"findUsersByQuery","parameters":[{"name":"query","in":"query","description":"The search query.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUser"}}}},"400":{"description":"Returned if the query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"408":{"description":"Returned if the search is timed out."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/search/query/key":{"get":{"tags":["User search"],"summary":"Find user keys by query","description":"Finds users with a structured query and returns a [paginated](#pagination) list of user keys.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`","operationId":"findUserKeysByQuery","parameters":[{"name":"query","in":"query","description":"The search query.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUserKey"}}}},"400":{"description":"Returned if the query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"408":{"description":"Returned if the search is timed out."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/viewissue/search":{"get":{"tags":["User search"],"summary":"Find users with browse permission","description":"Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have permission to browse issues.\n\nUse this resource to find users who can browse:\n\n * an issue, by providing the `issueKey`.\n * any issue in a project, by providing the `projectKey`.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results.","operationId":"findUsersWithBrowsePermission","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"issueKey","in":"query","description":"The issue key for the issue. Required, unless `projectKey` is specified.","schema":{"type":"string"}},{"name":"projectKey","in":"query","description":"The project key for the project (case sensitive). Required, unless `issueKey` is specified.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `projectKey` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/users":{"get":{"tags":["Users"],"summary":"Get all users default","description":"Returns a list of all (active and inactive) users.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllUsersDefault","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return.","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user doesn't have the necessary permission."},"409":{"description":"Returned if the request takes longer than 10 seconds or is interrupted."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/users/search":{"get":{"tags":["Users"],"summary":"Get all users","description":"Returns a list of all (active and inactive) users.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllUsers","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return.","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user doesn't have the necessary permission."},"409":{"description":"Returned if the request takes longer than 10 seconds or is interrupted."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/version":{"post":{"tags":["Project versions"],"summary":"Create version","description":"Creates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.","operationId":"createVersion","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":{"archived":false,"releaseDate":"2010-07-06","name":"New Version 1","description":"An excellent version","projectId":10000,"released":true}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/version/10000\",\"id\":\"10000\",\"description\":\"An excellent version\",\"name\":\"New Version 1\",\"archived\":false,\"released\":true,\"releaseDate\":\"2010-07-06\",\"userReleaseDate\":\"6/Jul/2010\",\"project\":\"PXA\",\"projectId\":10000}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}":{"get":{"tags":["Project versions"],"summary":"Get version","description":"Returns a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.","operationId":"getVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property represents the number of issues with a status other than *to do*, *in progress*, and *done*.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the version is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project versions"],"summary":"Update version","description":"Updates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"updateVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":{"archived":false,"overdue":true,"releaseDate":"2010-07-06","name":"New Version 1","self":"https://your-domain.atlassian.net/rest/api/~ver~/version/10000","description":"An excellent version","userReleaseDate":"6/Jul/2010","id":"10000","projectId":10000,"released":true}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/version/10000\",\"id\":\"10000\",\"description\":\"An excellent version\",\"name\":\"New Version 1\",\"archived\":false,\"released\":true,\"releaseDate\":\"2010-07-06\",\"userReleaseDate\":\"6/Jul/2010\",\"project\":\"PXA\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the request is invalid.\n * the user does not have the required permissions."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the version is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project versions"],"summary":"Delete version","description":"Deletes a project version.\n\nDeprecated, use [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) that supports swapping version values in custom fields, in addition to the swapping for `fixVersion` and `affectedVersion` provided in this resource.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion` or `affectedVersion`. If alternatives are not provided, occurrences of `fixVersion` and `affectedVersion` that contain the deleted version are cleared.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"deleteVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}},{"name":"moveFixIssuesTo","in":"query","description":"The ID of the version to update `fixVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.","schema":{"type":"string"}},{"name":"moveAffectedIssuesTo","in":"query","description":"The ID of the version to update `affectedVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the version is deleted."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect.\n * the user does not have the required permissions."},"404":{"description":"Returned if the version is not found."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}/mergeto/{moveIssuesTo}":{"put":{"tags":["Project versions"],"summary":"Merge versions","description":"Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.\n\nConsider using [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) instead. This resource supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"mergeVersions","parameters":[{"name":"id","in":"path","description":"The ID of the version to delete.","required":true,"schema":{"type":"string"}},{"name":"moveIssuesTo","in":"path","description":"The ID of the version to merge into.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the version is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect or missing.\n * the user does not have the required permissions."},"404":{"description":"Returned if the version to be deleted or the version to merge to are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}/move":{"post":{"tags":["Project versions"],"summary":"Move version","description":"Modifies the version's sequence within the project, which affects the display order of the versions in Jira.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"moveVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version to be moved.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionMoveBean"},"example":{"after":"https://your-domain.atlassian.net/rest/api/~ver~/version/10000"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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}"}}},"400":{"description":"Returned if:\n\n * no body parameters are provided.\n * `after` and `position` are provided.\n * `position` is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect or missing\n * the user does not have the required commissions."},"404":{"description":"Returned if the version or move after version are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}/relatedIssueCounts":{"get":{"tags":["Project versions"],"summary":"Get version's related issues count","description":"Returns the following counts for a version:\n\n * Number of issues where the `fixVersion` is set to the version.\n * Number of issues where the `affectedVersion` is set to the version.\n * Number of issues where a version custom field is set to the version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"getVersionRelatedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionIssueCounts"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/version/10000\",\"issuesFixedCount\":23,\"issuesAffectedCount\":101,\"issueCountWithCustomFieldsShowingVersion\":54,\"customFieldUsage\":[{\"fieldName\":\"Field1\",\"customFieldId\":10000,\"issueCountWithVersionInCustomField\":2},{\"fieldName\":\"Field2\",\"customFieldId\":10010,\"issueCountWithVersionInCustomField\":3}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the version is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/version/{id}/removeAndSwap":{"post":{"tags":["Project versions"],"summary":"Delete and replace version","description":"Deletes a project version.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion`, `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version being deleted.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"deleteAndReplaceVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAndReplaceVersionBean"}}},"required":true},"responses":{"204":{"description":"Returned if the version is deleted.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the version to delete is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}/unresolvedIssueCount":{"get":{"tags":["Project versions"],"summary":"Get version's unresolved issues count","description":"Returns counts of the issues and unresolved issues for the project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"getVersionUnresolvedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionUnresolvedIssuesCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/version/10000\",\"issuesUnresolvedCount\":23,\"issuesCount\":30}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the version is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/webhook":{"get":{"tags":["Webhooks"],"summary":"Get dynamic webhooks for app","description":"Returns a [paginated](#pagination) list of the webhooks registered by the calling app.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"getDynamicWebhooksForApp","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWebhook"},"example":"{\"maxResults\":2,\"startAt\":0,\"total\":100,\"isLast\":false,\"values\":[{\"id\":10000,\"jqlFilter\":\"project = PRJ\",\"events\":[\"jira:issue_updated\",\"jira:issue_created\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"},{\"id\":10001,\"jqlFilter\":\"issuetype = Bug\",\"events\":[\"jira:issue_created\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Webhooks"],"summary":"Register dynamic webhooks","description":"Registers webhooks.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"registerDynamicWebhooks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRegistrationDetails"},"example":{"webhooks":[{"jqlFilter":"project = PROJ","events":["jira:issue_created","jira:issue_updated"]},{"jqlFilter":"project IN (PROJ, EXP) AND status = done","events":["jira:issue_deleted"]}],"url":"https://your-app.example.com/webhook-received"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForRegisteredWebhooks"},"example":"{\"webhookRegistrationResult\":[{\"createdWebhookId\":1000},{\"errors\":[\"The clause watchCount is unsupported\"]},{\"createdWebhookId\":1001}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Webhooks"],"summary":"Delete webhooks by ID","description":"Removes webhooks by ID. Only webhooks registered by the calling Connect app are removed. If webhooks created by other apps are specified, they are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"deleteWebhookById","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForWebhookIDs"},"example":{"webhookIds":[10000,10001,10042]}}},"required":true},"responses":{"202":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the list of webhook IDs is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/webhook/failed":{"get":{"tags":["Webhooks"],"summary":"Get failed webhooks","description":"Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.\n\nAfter 72 hours the failure may no longer be returned by this operation.\n\nThe oldest failure is returned first.\n\nThis method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"getFailedWebhooks","parameters":[{"name":"maxResults","in":"query","description":"The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page.","schema":{"type":"integer","format":"int32"}},{"name":"after","in":"query","description":"The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch.","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedWebhooks"},"example":"{\"values\":[{\"id\":\"1\",\"body\":\"{\\\"data\\\":\\\"webhook data\\\"}\",\"url\":\"https://example.com\",\"failureTime\":1573118132000},{\"id\":\"2\",\"url\":\"https://example.com\",\"failureTime\":1573540473480}],\"maxResults\":100,\"next\":\"https://your-domain.atlassian.net/rest/api/3/webhook/failed?failedAfter=1573540473480&maxResults=100\"}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/webhook/refresh":{"put":{"tags":["Webhooks"],"summary":"Extend webhook life","description":"Webhooks registered through the REST API expire after 30 days. Call this resource periodically to keep them alive.\n\nUnrecognized webhook IDs (nonexistent or belonging to other apps) are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) can use this operation.","operationId":"refreshWebhooks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForWebhookIDs"},"example":{"webhookIds":[10000,10001,10042]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksExpirationDate"},"example":"{\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/workflow":{"get":{"tags":["Workflows"],"summary":"Get all workflows","description":"Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-3-workflow-search-get).\n\nIf the `workflowName` parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllWorkflows","parameters":[{"name":"workflowName","in":"query","description":"The name of the workflow to be returned. Only one workflow can be specified.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeprecatedWorkflow"}},"example":"[{\"name\":\"classic workflow\",\"description\":\"A classic Jira workflow\",\"lastModifiedDate\":\"01-01-2011\",\"lastModifiedUser\":\"admin\",\"lastModifiedUserAccountId\":\"5b10a2844c20165700ede21g\",\"steps\":5,\"default\":true}]"}}},"401":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflow/rule/config":{"get":{"tags":["Workflow transition rules"],"summary":"Get workflow transition rule configurations","description":"Returns a [paginated](#pagination) list of workflows with transition rules. The workflows can be filtered to return only those containing workflow transition rules:\n\n * of one or more transition rule types, such as [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).\n * matching one or more transition rule keys.\n\nOnly workflows containing transition rules created by the calling Connect app are returned. However, if a workflow is returned all transition rules that match the filters are returned for that workflow.\n\nDue to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be ignored.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"getWorkflowTransitionRuleConfigurations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"types","in":"query","description":"The types of the transition rules to return.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["postfunction","condition","validator"]}}},{"name":"keys","in":"query","description":"The transition rule class keys, as defined in the Connect app descriptor, of the transition rules to return.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `transition`, which, for each rule, returns information about the transition the rule is assigned to.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflowTransitionRules"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"workflowId\":{\"name\":\"My Workflow name\",\"draft\":false},\"postFunctions\":[{\"id\":\"b4d6cbdc-59f5-11e9-8647-d663bd873d93\",\"key\":\"postfunction-key\",\"configuration\":{\"value\":\"{ \\\"color\\\": \\\"red\\\" }\"},\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"conditions\":[{\"id\":\"d663bd873d93-59f5-11e9-8647-b4d6cbdc\",\"key\":\"condition-key\",\"configuration\":{\"value\":\"{ \\\"size\\\": \\\"medium\\\" }\"},\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"validators\":[{\"id\":\"11e9-59f5-b4d6cbdc-8647-d663bd873d93\",\"key\":\"validator-key\",\"configuration\":{\"value\":\"\\\"{ \\\\\\\"shape\\\\\\\": \\\\\\\"square\\\\\\\" }\\\"\"},\"transition\":{\"id\":1,\"name\":\"Open\"}}]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the any transition rule type is not supported."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Workflow transition rules"],"summary":"Update workflow transition rule configurations","description":"Updates configuration of workflow transition rules. The following rule types are supported:\n\n * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)\n * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)\n * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)\n\nOnly rules created by the calling Connect app can be updated.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"updateWorkflowTransitionRuleConfigurations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdate"},"example":{"workflows":[{"postFunctions":[{"configuration":{"value":"{ \"color\": \"red\" }"},"id":"b4d6cbdc-59f5-11e9-8647-d663bd873d93"}],"validators":[{"configuration":{"value":"{ \"shape\": \"square\" }"},"id":"11e9-59f5-b4d6cbdc-8647-d663bd873d93"}],"conditions":[{"configuration":{"value":"{ \"size\": \"medium\" }"},"id":"d663bd873d93-59f5-11e9-8647-b4d6cbdc"}],"workflowId":{"draft":false,"name":"My Workflow name"}}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrors"},"example":"{\"updateResults\":[{\"workflowId\":{\"name\":\"Workflow with one rule not updated\",\"draft\":false},\"ruleUpdateErrors\":{\"example-rule-id\":[\"The rule with this id does not exist: example-rule-id\"]},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Workflow with all rules successfully updated\",\"draft\":true},\"ruleUpdateErrors\":{},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Non-existing workflow\",\"draft\":false},\"ruleUpdateErrors\":{},\"updateErrors\":[\"Workflow not found: WorkflowIdBean{name=Non-existing workflow, draft=false}\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflow/search":{"get":{"tags":["Workflows"],"summary":"Get workflows paginated","description":"Returns a [paginated](#pagination) list of published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise, all published classic workflows are returned.\n\nThis operation does not return next-gen workflows.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowsPaginated","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"workflowName","in":"query","description":"The name of a workflow to return.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `transitions` For each workflow, returns information about the transitions inside the workflow.\n * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested.\n * `statuses` For each workflow, returns information about the statuses inside the workflow.\n * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflow"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":{\"name\":\"SCRUM Workflow\"},\"description\":\"A workflow used for Software projects in the SCRUM methodology\",\"transitions\":[{\"id\":\"5\",\"name\":\"In Progress\",\"description\":\"Start working on the issue.\",\"from\":[\"10\",\"13\"],\"to\":\"14\",\"type\":\"directed\",\"screen\":{\"id\":\"10000\"},\"rules\":{\"conditions\":[{\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"WORK_ON_ISSUES\"}}],\"validators\":[{\"type\":\"FieldRequiredValidator\",\"configuration\":{\"ignoreContext\":true,\"errorMessage\":\"A custom error message\",\"fields\":[\"description\",\"assignee\"]}}],\"postFunctions\":[{\"type\":\"UpdateIssueStatusFunction\"},{\"type\":\"GenerateChangeHistoryFunction\"},{\"type\":\"FireIssueEventFunction\"}]}}],\"statuses\":[{\"id\":\"3\",\"name\":\"In Progress\",\"properties\":{\"issueEditable\":false}}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can access workflows.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflow/transitions/{transitionId}/properties":{"get":{"tags":["Workflow transition properties"],"summary":"Get workflow transition properties","description":"Returns the properties on a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowTransitionProperties","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira administration console. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"includeReservedKeys","in":"query","description":"Some properties with keys that have the *jira.* prefix are reserved, which means they are not editable. To include these properties in the results, set this parameter to *true*.","schema":{"type":"boolean","default":false}},{"name":"key","in":"query","description":"The key of the property being returned, also known as the name of the property. If this parameter is not specified, all properties on the transition are returned.","schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to *live* for active and inactive workflows, or *draft* for draft workflows.","schema":{"type":"string","enum":["live","draft"],"default":"live"}}],"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"[{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"},{\"key\":\"jira.permission\",\"value\":\"createissue\",\"id\":\"jira.permission\"}]"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have admin permission"},"404":{"description":"Returned if the workflow transition or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow transition properties"],"summary":"Update workflow transition property","description":"Updates a workflow transition by changing the property value. Trying to update a property that does not exist results in a new property being added to the transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The key of the property being updated, also known as the name of the property. Set this to the same value as the `key` defined in the request body.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":{"value":"createissue"}}},"required":true},"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"}"}}},"304":{"description":"Returned if no changes were made by the request. For example, attempting to update a property with its current value."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflow transition properties"],"summary":"Create workflow transition property","description":"Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The key of the property being added, also known as the name of the property. Set this to the same value as the `key` defined in the request body.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to *live* for inactive workflows or *draft* for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"],"default":"live"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":{"value":"createissue"}}},"required":true},"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"}"}}},"400":{"description":"Returned if a workflow property with the same key is present on the transition."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow transition properties"],"summary":"Delete workflow transition property","description":"Deletes a property from a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The name of the transition property to delete, also known as the name of the property.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"]}}],"responses":{"200":{"description":"200 response"},"304":{"description":"Returned if no changes were made by the request. For example, trying to delete a property that cannot be found."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme":{"get":{"tags":["Workflow schemes"],"summary":"Get all workflow schemes","description":"Returns a [paginated](#pagination) list of all workflow schemes, not including draft workflow schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllWorkflowSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflowScheme"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"},{\"id\":101011,\"name\":\"Another example workflow scheme\",\"description\":\"The description of the another example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101011\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflow schemes"],"summary":"Create workflow scheme","description":"Creates a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/project":{"get":{"tags":["Workflow scheme project associations"],"summary":"Get workflow scheme project associations","description":"Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a list of the requested projects associated with it. Any next-gen or non-existent projects in the request are ignored and no errors are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeProjectAssociations","parameters":[{"name":"projectId","in":"query","description":"The ID of a project to return the workflow schemes for. To include multiple projects, provide an ampersand-Jim: oneseparated list. For example, `projectId=10000&projectId=10001`.","required":true,"schema":{"maxItems":100,"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64","example":10010}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerOfWorkflowSchemeAssociations"},"example":"{\"values\":[{\"projectIds\":[\"10010\",\"10020\"],\"workflowScheme\":{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"projectId\":\"The ID of a project has to be provided.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access workflow scheme associations.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme project associations"],"summary":"Assign workflow scheme to project","description":"Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.\n\nWorkflow schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"associateSchemeWithProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowSchemeProjectAssociation"},"example":{"workflowSchemeId":"10032","projectId":"10001"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have workflow schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access workflow scheme associations.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the workflow scheme or the project are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The workflow scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}":{"get":{"tags":["Workflow schemes"],"summary":"Get workflow scheme","description":"Returns a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the workflow scheme's draft rather than scheme itself, if set to true. If the workflow scheme does not have a draft, then the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Update workflow scheme","description":"Updates a workflow scheme, including the name, default workflow, issue type to project mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","updateDraftIfNeeded":false,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete workflow scheme","description":"Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at least one project).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the scheme is active."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/createdraft":{"post":{"tags":["Workflow scheme drafts"],"summary":"Create draft workflow scheme","description":"Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowSchemeDraftFromParent","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft is created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/default":{"get":{"tags":["Workflow schemes"],"summary":"Get default workflow","description":"Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"returnDraftIfExists","in":"query","description":"Set to `true` to return the default workflow for the workflow scheme's draft rather than scheme itself. If the workflow scheme does not have a draft, then the default workflow for the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":"{\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Update default workflow","description":"Sets the default workflow for a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The new default workflow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":{"workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete default workflow","description":"Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get draft workflow scheme","description":"Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information. \nNote that:\n\n * Only active workflow schemes can have draft workflow schemes.\n * An active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Update draft workflow scheme","description":"Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a draft is created. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","updateDraftIfNeeded":false,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete draft workflow scheme","description":"Deletes a draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft/default":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get draft default workflow","description":"Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":"{\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Update draft default workflow","description":"Sets the default workflow for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The object for the new default workflow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":{"workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete draft default workflow","description":"Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft/issuetype/{issueType}":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get workflow for issue type in draft workflow scheme","description":"Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":"{\"issueType\":\"10000\",\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Set workflow for issue type in draft workflow scheme","description":"Sets the workflow for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type-project mapping.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":{"issueType":"10000","workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete workflow for issue type in draft workflow scheme","description":"Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft/workflow":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get issue types for workflows in draft workflow scheme","description":"Returns the workflow-issue type mappings for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDraftWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":"{\"workflow\":\"jira\",\"issueTypes\":[\"10000\",\"10001\"],\"defaultMapping\":false}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if either the workflow scheme or workflow (if specified) is not found. session."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Set issue types for workflow in workflow scheme","description":"Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDraftWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":{"workflow":"jira","updateDraftIfNeeded":true,"issueTypes":["10000"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete issue types for workflow in draft workflow scheme","description":"Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDraftWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/issuetype/{issueType}":{"get":{"tags":["Workflow schemes"],"summary":"Get workflow for issue type in workflow scheme","description":"Returns the issue type-workflow mapping for an issue type in a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":"{\"issueType\":\"10000\",\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Set workflow for issue type in workflow scheme","description":"Sets the workflow for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow mapping. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type-project mapping.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":{"issueType":"10000","workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete workflow for issue type in workflow scheme","description":"Deletes the issue type-workflow mapping for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/workflow":{"get":{"tags":["Workflow schemes"],"summary":"Get issue types for workflows in workflow scheme","description":"Returns the workflow-issue type mappings for a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.","schema":{"type":"string"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":"{\"workflow\":\"jira\",\"issueTypes\":[\"10000\",\"10001\"],\"defaultMapping\":false}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if either the workflow scheme or workflow is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Set issue types for workflow in workflow scheme","description":"Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for the workflow scheme. Unmapped issues types are mapped to the default workflow.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types mappings. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":{"workflow":"jira","updateDraftIfNeeded":true,"issueTypes":["10000"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete issue types for workflow in workflow scheme","description":"Deletes the workflow-issue type mapping for a workflow in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is not true."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/worklog/deleted":{"get":{"tags":["Issue worklogs"],"summary":"Get IDs of deleted worklogs","description":"Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs deleted during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getIdsOfWorklogsDeletedSince","parameters":[{"name":"since","in":"query","description":"The date and time, as a UNIX timestamp in milliseconds, after which deleted worklogs are returned.","schema":{"type":"integer","format":"int64","default":0}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangedWorklogs"},"example":"{\"values\":[{\"worklogId\":103,\"updatedTime\":1438013671562,\"properties\":[]},{\"worklogId\":104,\"updatedTime\":1438013672165,\"properties\":[]},{\"worklogId\":105,\"updatedTime\":1438013693136,\"properties\":[]}],\"since\":1438013671562,\"until\":1438013693136,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013671562\",\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013693136\",\"lastPage\":true}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/worklog/list":{"post":{"tags":["Issue worklogs"],"summary":"Get worklogs","description":"Returns worklog details for a list of worklog IDs.\n\nThe returned list of worklogs is limited to 1000 items.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.","operationId":"getWorklogsForIds","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.","schema":{"type":"string","default":""}}],"requestBody":{"description":"A JSON object containing a list of worklog IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorklogIdsRequestBean"},"example":{"ids":[1,2,5,10]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Worklog"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2020-10-28T05:46:15.899+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2020-10-28T05:46:15.898+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}]"}}},"400":{"description":"Returned if the request contains more than 1000 worklog IDs or is empty."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/worklog/updated":{"get":{"tags":["Issue worklogs"],"summary":"Get IDs of updated worklogs","description":"Returns a list of IDs and update timestamps for worklogs updated after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs updated during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.","operationId":"getIdsOfWorklogsModifiedSince","parameters":[{"name":"since","in":"query","description":"The date and time, as a UNIX timestamp in milliseconds, after which updated worklogs are returned.","schema":{"type":"integer","format":"int64","default":0}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangedWorklogs"},"example":"{\"values\":[{\"worklogId\":103,\"updatedTime\":1438013671562,\"properties\":[]},{\"worklogId\":104,\"updatedTime\":1438013672165,\"properties\":[]},{\"worklogId\":105,\"updatedTime\":1438013693136,\"properties\":[]}],\"since\":1438013671562,\"until\":1438013693136,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013671562\",\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013693136\",\"lastPage\":true}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/atlassian-connect/1/addons/{addonKey}/properties":{"get":{"tags":["App properties"],"summary":"Get app properties","description":"Gets all the properties of an app.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.getAddonProperties_get","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":{"keys":[{"self":"https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey","key":"propertyKey"}]}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}":{"get":{"tags":["App properties"],"summary":"Get app property","description":"Returns the key and value of an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.getAddonProperty_get","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":{"self":"https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey","key":"propertyKey","value":"propertyValue"}}}},"400":{"description":"Returned if the property key is longer than 127 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}},"404":{"description":"Returned if the property is not found or doesn't belong to the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property with key not found.","statusCode":404}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"},"put":{"tags":["App properties"],"summary":"Set app property","description":"Sets the value of an app's property. Use this resource to store custom data for your app.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.putAddonProperty_put","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the property is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property updated.","statusCode":200}}}},"201":{"description":"Returned is the property is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property created.","statusCode":201}}}},"400":{"description":"Returned if:\n * the property key is longer than 127 characters.\n * the value is not valid JSON.\n * the value is longer than 32768 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["App properties"],"summary":"Delete app property","description":"Deletes an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.deleteAddonProperty_delete","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the property key is longer than 127 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}},"404":{"description":"Returned if the property is not found or doesn't belong to the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property with key not found.","statusCode":404}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/app/module/dynamic":{"get":{"tags":["Dynamic modules"],"summary":"Get modules","description":"Returns all modules registered dynamically by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.getModules_get","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectModules"}}}},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"},"post":{"tags":["Dynamic modules"],"summary":"Register modules","description":"Registers a list of modules.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.registerModules_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectModules"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n* any of the provided modules is invalid. For example, required properties are missing.\n* any of the modules conflict with registered dynamic modules or modules defined in the app descriptor. For example, there are duplicate keys.\n\nDetails of the issues encountered are included in the error message.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"Installation failed. The app com.example.app.key has duplicate module keys: [module-key]. Please contact the app vendor."}}}},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["Dynamic modules"],"summary":"Remove modules","description":"Remove all or a list of modules registered by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.removeModules_delete","parameters":[{"name":"moduleKey","in":"query","description":"The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter.\nFor example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`.\nNonexistent keys are ignored.","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"}}},"components":{"schemas":{"ApplicationRole":{"type":"object","properties":{"key":{"type":"string","description":"The key of the application role."},"groups":{"uniqueItems":true,"type":"array","description":"The groups associated with the application role.","items":{"type":"string"}},"name":{"type":"string","description":"The display name of the application role."},"defaultGroups":{"uniqueItems":true,"type":"array","description":"The groups that are granted default access for this application role.","items":{"type":"string"}},"selectedByDefault":{"type":"boolean","description":"Determines whether this application role should be selected by default on user creation."},"defined":{"type":"boolean","description":"Deprecated."},"numberOfSeats":{"type":"integer","description":"The maximum count of users on your license.","format":"int32"},"remainingSeats":{"type":"integer","description":"The count of users remaining on your license.","format":"int32"},"userCount":{"type":"integer","description":"The number of users counting against your license.","format":"int32"},"userCountDescription":{"type":"string","description":"The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license."},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean","description":"Indicates if the application role belongs to Jira platform (`jira-core`)."}},"additionalProperties":false,"description":"Details of an application role."},"AvatarUrlsBean":{"type":"object","properties":{"16x16":{"type":"string","description":"The URL of the item's 16x16 pixel avatar.","format":"uri"},"24x24":{"type":"string","description":"The URL of the item's 24x24 pixel avatar.","format":"uri"},"32x32":{"type":"string","description":"The URL of the item's 32x32 pixel avatar.","format":"uri"},"48x48":{"type":"string","description":"The URL of the item's 48x48 pixel avatar.","format":"uri"}},"additionalProperties":false},"GroupName":{"type":"object","properties":{"name":{"type":"string","description":"The name of group."},"self":{"type":"string","description":"The URL for these group details.","format":"uri","readOnly":true}},"additionalProperties":false,"description":"Details about a group name."},"ListWrapperCallbackApplicationRole":{"type":"object","additionalProperties":false},"ListWrapperCallbackGroupName":{"type":"object","additionalProperties":false},"PageBeanUser":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}}},"additionalProperties":false,"description":"A page of items."},"SimpleListWrapperApplicationRole":{"type":"object","properties":{"size":{"type":"integer","format":"int32","xml":{"attribute":true}},"items":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRole"}},"pagingCallback":{"$ref":"#/components/schemas/ListWrapperCallbackApplicationRole"},"callback":{"$ref":"#/components/schemas/ListWrapperCallbackApplicationRole"},"max-results":{"type":"integer","format":"int32","xml":{"name":"max-results","attribute":true}}},"additionalProperties":false,"xml":{"name":"list"}},"SimpleListWrapperGroupName":{"type":"object","properties":{"size":{"type":"integer","format":"int32","xml":{"attribute":true}},"items":{"type":"array","items":{"$ref":"#/components/schemas/GroupName"}},"pagingCallback":{"$ref":"#/components/schemas/ListWrapperCallbackGroupName"},"callback":{"$ref":"#/components/schemas/ListWrapperCallbackGroupName"},"max-results":{"type":"integer","format":"int32","xml":{"name":"max-results","attribute":true}}},"additionalProperties":false,"xml":{"name":"list"}},"User":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","format":"uri","readOnly":true},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests."},"accountType":{"type":"string","description":"The user account type. Can take the following values:\n\n * `atlassian` regular Atlassian user account\n * `app` system account used for Connect applications and OAuth to represent external systems\n * `customer` Jira Service Desk account representing an external service desk","readOnly":true,"enum":["atlassian","app","customer","unknown"]},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"emailAddress":{"type":"string","description":"The email address of the user. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"avatarUrls":{"description":"The avatars of the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.","readOnly":true},"active":{"type":"boolean","description":"Whether the user is active.","readOnly":true},"timeZone":{"type":"string","description":"The time zone specified in the user's profile. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"locale":{"type":"string","description":"The locale of the user. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"groups":{"description":"The groups that the user belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/SimpleListWrapperGroupName"}]},"applicationRoles":{"description":"The application roles the user is assigned to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/SimpleListWrapperApplicationRole"}]},"expand":{"type":"string","description":"Expand options that include additional user details in the response.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false,"description":"A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).\n * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.","xml":{"name":"user"}},"UserMigrationBean":{"type":"object","properties":{"key":{"type":"string"},"username":{"type":"string"},"accountId":{"type":"string"}},"additionalProperties":false},"UnrestrictedUserEmail":{"type":"object","properties":{"accountId":{"type":"string","description":"The accountId of the user"},"email":{"type":"string","description":"The email of the user"}},"additionalProperties":false},"PropertyKey":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the property.","readOnly":true},"key":{"type":"string","description":"The key of the property.","readOnly":true}},"additionalProperties":false,"description":"Property key details."},"PropertyKeys":{"type":"object","properties":{"keys":{"type":"array","description":"Property key details.","readOnly":true,"items":{"$ref":"#/components/schemas/PropertyKey"}}},"additionalProperties":false,"description":"List of property keys."},"EntityProperty":{"type":"object","properties":{"key":{"type":"string","description":"The key of the property. Required on create and update."},"value":{"description":"The value of the property. Required on create and update."}},"additionalProperties":false,"description":"An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},"FailedWebhook":{"required":["failureTime","id","url"],"type":"object","properties":{"id":{"type":"string","description":"The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier` header with the webhook."},"body":{"type":"string","description":"The webhook body."},"url":{"type":"string","description":"The original webhook destination."},"failureTime":{"type":"integer","description":"The time the webhook was added to the list of failed webhooks (that is, the time of the last failed retry).","format":"int64"}},"additionalProperties":false,"description":"Details about a failed webhook."},"FailedWebhooks":{"required":["maxResults","values"],"type":"object","properties":{"values":{"type":"array","description":"The list of webhooks.","items":{"$ref":"#/components/schemas/FailedWebhook"}},"maxResults":{"type":"integer","description":"The maximum number of items on the page. If the list of values is shorter than this number, then there are no more pages.","format":"int32"},"next":{"type":"string","description":"The URL to the next page of results. Present only if the request returned at least one result.The next page may be empty at the time of receiving the response, but new failed webhooks may appear in time. You can save the URL to the next page and query for new results periodically (for example, every hour).","format":"uri"}},"additionalProperties":false,"description":"A page of failed webhooks."},"ErrorCollection":{"type":"object","properties":{"errorMessages":{"type":"array","description":"The list of error messages produced by this operation. For example, \"input parameter 'key' must be provided\"","items":{"type":"string"}},"errors":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of errors by parameter returned by the operation. For example,\"projectKey\": \"Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.\""},"status":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Error messages from an operation."},"WebhookDetails":{"required":["jqlFilter"],"type":"object","properties":{"jqlFilter":{"type":"string","description":"The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are:\n\n * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]` (for custom fields—only the epic label custom field is supported).\n * Operators: `=`, `!=`, `IN`, and `NOT IN`."},"events":{"type":"array","description":"The Jira events that trigger the webhook.","items":{"type":"string","enum":["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","comment_updated","comment_deleted","issue_property_set","issue_property_deleted"]}}},"additionalProperties":false,"description":"A list of webhooks."},"WebhookRegistrationDetails":{"required":["url","webhooks"],"type":"object","properties":{"webhooks":{"type":"array","description":"A list of webhooks.","items":{"$ref":"#/components/schemas/WebhookDetails"}},"url":{"type":"string","description":"The URL that specifies where to send the webhooks."}},"additionalProperties":false,"description":"Details of webhooks to register."},"ContainerForRegisteredWebhooks":{"type":"object","properties":{"webhookRegistrationResult":{"type":"array","description":"A list of registered webhooks.","items":{"$ref":"#/components/schemas/RegisteredWebhook"}}},"additionalProperties":false,"description":"Container for a list of registered webhooks. Webhook details are returned in the same order as the request."},"RegisteredWebhook":{"type":"object","properties":{"createdWebhookId":{"type":"integer","description":"The ID of the webhook. Returned if the webhook is created.","format":"int64"},"errors":{"type":"array","description":"Error messages specifying why the webhook creation failed.","items":{"type":"string","description":"Error messages specifying why the webhook creation failed."}}},"additionalProperties":false,"description":"ID of a registered webhook or error messages explaining why a webhook wasn't registered."},"PageBeanWebhook":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Webhook"}}},"additionalProperties":false,"description":"A page of items."},"Webhook":{"required":["expirationDate","id","jqlFilter"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the webhook.","format":"int64"},"jqlFilter":{"type":"string","description":"The JQL filter that specifies which issues the webhook is sent for."},"events":{"type":"array","description":"The Jira events that trigger the webhook.","items":{"type":"string","enum":["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","comment_updated","comment_deleted","issue_property_set","issue_property_deleted"]}},"expirationDate":{"type":"integer","format":"int64","readOnly":true}},"additionalProperties":false,"description":"A webhook."},"ContainerForWebhookIDs":{"required":["webhookIds"],"type":"object","properties":{"webhookIds":{"type":"array","description":"A list of webhook IDs.","items":{"type":"integer","description":"A list of webhook IDs.","format":"int64"}}},"additionalProperties":false,"description":"Container for a list of webhook IDs."},"WebhooksExpirationDate":{"required":["expirationDate"],"type":"object","properties":{"expirationDate":{"type":"integer","format":"int64","readOnly":true}},"additionalProperties":false,"description":"The date the newly refreshed webhooks expire."},"Component":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the component.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the component.","readOnly":true},"name":{"type":"string","description":"The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters."},"description":{"type":"string","description":"The description for the component. Optional when creating or updating a component."},"lead":{"description":"The user details for the component's lead user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"leadUserName":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"leadAccountId":{"maxLength":128,"type":"string","description":"The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","writeOnly":true},"assigneeType":{"type":"string","description":"The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values:\n\n * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n * `UNASSIGNED` an assignee is not set for issues created with this component.\n * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.\n\nDefault value: `PROJECT_DEFAULT`. \nOptional when creating or updating a component.","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"description":"The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"realAssigneeType":{"type":"string","description":"The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT` when none of the preceding cases are true.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"description":"The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"isAssigneeTypeValid":{"type":"boolean","description":"Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.","readOnly":true},"project":{"type":"string","description":"The key of the project the component is assigned to. Required when creating a component. Can't be updated."},"projectId":{"type":"integer","description":"The ID of the project the component is assigned to.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details about a project component.","xml":{"name":"component"}},"Dashboard":{"type":"object","properties":{"description":{"type":"string"},"id":{"type":"string","description":"The ID of the dashboard.","readOnly":true},"isFavourite":{"type":"boolean","description":"Whether the dashboard is selected as a favorite by the user.","readOnly":true},"name":{"type":"string","description":"The name of the dashboard.","readOnly":true},"owner":{"description":"The owner of the dashboard.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserBean"}]},"popularity":{"type":"integer","description":"The number of users who have this dashboard as a favorite.","format":"int64","readOnly":true},"rank":{"type":"integer","description":"The rank of this dashboard.","format":"int32","readOnly":true},"self":{"type":"string","description":"The URL of these dashboard details.","format":"uri","readOnly":true},"sharePermissions":{"type":"array","description":"The details of any share permissions for the dashboard.","readOnly":true,"items":{"$ref":"#/components/schemas/SharePermission"}},"view":{"type":"string","description":"The URL of the dashboard.","readOnly":true}},"additionalProperties":false,"description":"Details of a dashboard."},"Hierarchy":{"type":"object","properties":{"level":{"type":"array","items":{"$ref":"#/components/schemas/HierarchyLevel"}}},"additionalProperties":false,"description":"Project Issue Type Hierarchy","xml":{"name":"hierarchy"}},"HierarchyLevel":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"aboveLevelId":{"type":"integer","format":"int64"},"belowLevelId":{"type":"integer","format":"int64"},"projectConfigurationId":{"type":"integer","format":"int64"},"issueTypeIds":{"type":"array","items":{"type":"integer","format":"int64"}},"externalUuid":{"type":"string","format":"uuid"}},"additionalProperties":false},"IssueTypeDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue type details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"description":{"type":"string","description":"The description of the issue type.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type is used to create subtasks.","readOnly":true},"avatarId":{"type":"integer","description":"The ID of the issue type's avatar.","format":"int64","readOnly":true},"entityId":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"scope":{"description":"Details of the next-gen projects the issue type is available in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"Details about an issue type."},"PageOfDashboards":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"prev":{"type":"string","description":"The URL of the previous page of results, if any.","readOnly":true},"next":{"type":"string","description":"The URL of the next page of results, if any.","readOnly":true},"dashboards":{"type":"array","description":"List of dashboards.","readOnly":true,"items":{"$ref":"#/components/schemas/Dashboard"}}},"additionalProperties":false,"description":"A page containing dashboard details."},"Project":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project details in the response.","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the project details.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the project."},"key":{"type":"string","description":"The key of the project.","readOnly":true},"description":{"type":"string","description":"A brief description of the project.","readOnly":true},"lead":{"description":"The username of the project lead.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"components":{"type":"array","description":"List of the components contained in the project.","readOnly":true,"items":{"$ref":"#/components/schemas/Component"}},"issueTypes":{"type":"array","description":"List of the issue types available in the project.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"url":{"type":"string","description":"A link to information about this project, such as project documentation.","readOnly":true},"email":{"type":"string","description":"An email address associated with the project."},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","readOnly":true,"enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","description":"The versions defined in the project. For more information, see [Create version](#api-rest-api-3-version-post).","readOnly":true,"items":{"$ref":"#/components/schemas/Version"}},"name":{"type":"string","description":"The name of the project.","readOnly":true},"roles":{"type":"object","additionalProperties":{"type":"string","format":"uri","readOnly":true},"description":"The name and self URL for each role defined in the project. For more information, see [Create project role](#api-rest-api-3-role-post).","readOnly":true},"avatarUrls":{"description":"The URLs of the project's avatars.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"projectCategory":{"description":"The category the project belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectCategory"}]},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.","readOnly":true,"enum":["software","service_desk","business"]},"simplified":{"type":"boolean","description":"Whether the project is simplified.","readOnly":true},"style":{"type":"string","description":"The type of the project.","readOnly":true,"enum":["classic","next-gen"]},"favourite":{"type":"boolean","description":"Whether the project is selected as a favorite."},"isPrivate":{"type":"boolean","description":"Whether the project is private.","readOnly":true},"issueTypeHierarchy":{"description":"The issue type hierarchy for the project","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Hierarchy"}]},"permissions":{"description":"User permissions on the project","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectPermissions"}]},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Map of project properties","readOnly":true},"uuid":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"insight":{"description":"Insights about the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectInsight"}]},"deleted":{"type":"boolean","description":"Whether the project is marked as deleted.","readOnly":true},"retentionTillDate":{"type":"string","description":"The date when the project is deleted permanently.","format":"date-time","readOnly":true},"deletedDate":{"type":"string","description":"The date when the project was marked as deleted.","format":"date-time","readOnly":true},"deletedBy":{"description":"The user who marked the project as deleted.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"archived":{"type":"boolean","description":"Whether the project is archived.","readOnly":true},"archivedDate":{"type":"string","description":"The date when the project was archived.","format":"date-time","readOnly":true},"archivedBy":{"description":"The user who archived the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]}},"additionalProperties":false,"description":"Details about a project.","xml":{"name":"project"}},"ProjectCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project category.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the project category.","readOnly":true},"name":{"type":"string","description":"The name of the project category. Required on create, optional on update."},"description":{"type":"string","description":"The description of the project category. Required on create, optional on update."}},"additionalProperties":false,"description":"A project category."},"ProjectForScope":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project details.","readOnly":true},"id":{"type":"string","description":"The ID of the project."},"key":{"type":"string","description":"The key of the project.","readOnly":true},"name":{"type":"string","description":"The name of the project.","readOnly":true},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.","readOnly":true,"enum":["software","service_desk","business"]},"simplified":{"type":"boolean","description":"Whether or not the project is simplified.","readOnly":true},"avatarUrls":{"description":"The URLs of the project's avatars.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"projectCategory":{"description":"The category the project belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UpdatedProjectCategory"}]}},"additionalProperties":false,"description":"Details about a next-gen project."},"ProjectInsight":{"type":"object","properties":{"totalIssueCount":{"type":"integer","description":"Total issue count.","format":"int64","readOnly":true},"lastIssueUpdateTime":{"type":"string","description":"The last issue update time.","format":"date-time","readOnly":true}},"additionalProperties":false,"description":"Additional details about a project."},"ProjectPermissions":{"type":"object","properties":{"canEdit":{"type":"boolean","description":"Whether the logged user can edit the project.","readOnly":true}},"additionalProperties":false,"description":"Permissions which a user has on a project."},"ProjectRole":{"type":"object","properties":{"self":{"type":"string","description":"The URL the project role details.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the project role."},"id":{"type":"integer","description":"The ID of the project role.","format":"int64","readOnly":true},"description":{"type":"string","description":"The description of the project role.","readOnly":true},"actors":{"type":"array","description":"The list of users who act in this role.","readOnly":true,"items":{"$ref":"#/components/schemas/RoleActor"}},"scope":{"description":"The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"translatedName":{"type":"string","description":"The translated name of the project role."},"currentUserRole":{"type":"boolean","description":"Whether the calling user is part of this role."},"roleConfigurable":{"type":"boolean","description":"Whether the roles are configurable for this project.","readOnly":true},"admin":{"type":"boolean","description":"Whether this role is the admin role for the project.","readOnly":true},"default":{"type":"boolean","description":"Whether this role is the default role for the project","readOnly":true}},"additionalProperties":false,"description":"Details about the roles in a project."},"ProjectRoleGroup":{"type":"object","properties":{"displayName":{"type":"string","description":"The display name of the group."},"name":{"type":"string","description":"The name of the group"}},"additionalProperties":false,"description":"Details of the group associated with the role."},"ProjectRoleUser":{"type":"object","properties":{"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import.","readOnly":true}},"additionalProperties":false,"description":"Details of the user associated with the role."},"RoleActor":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the role actor.","format":"int64","readOnly":true},"displayName":{"type":"string","description":"The display name of the role actor. For users, depending on the user’s privacy setting, this may return an alternative value for the user's name.","readOnly":true},"type":{"type":"string","description":"The type of role actor.","readOnly":true,"enum":["atlassian-group-role-actor","atlassian-user-role-actor"]},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"avatarUrl":{"type":"string","description":"The avatar of the role actor.","format":"uri","readOnly":true},"actorUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectRoleUser"}]},"actorGroup":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectRoleGroup"}]}},"additionalProperties":false,"description":"Details about a user assigned to a project role.","xml":{"name":"projectRoleActor"}},"Scope":{"type":"object","properties":{"type":{"type":"string","description":"The type of scope.","readOnly":true,"enum":["PROJECT","TEMPLATE"]},"project":{"description":"The project the item has scope in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectForScope"}]}},"additionalProperties":true,"description":"The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO)."},"SharePermission":{"required":["type"],"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier of the share permission.","format":"int64","readOnly":true},"type":{"type":"string","description":"The type of share permission:\n\n * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.\n * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.\n * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`.\n * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.\n * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`.\n * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.","enum":["group","project","projectRole","global","loggedin","authenticated","project-unknown"]},"project":{"description":"The project that the filter is shared with. This is similar to the project object returned by [Get project](#api-rest-api-3-project-projectIdOrKey-get) but it contains a subset of the properties, which are: `self`, `id`, `key`, `assigneeType`, `name`, `roles`, `avatarUrls`, `projectType`, `simplified`. \nFor a request, specify the `id` for the project.","allOf":[{"$ref":"#/components/schemas/Project"}]},"role":{"description":"The project role that the filter is shared with. \nFor a request, specify the `id` for the role. You must also specify the `project` object and `id` for the project that the role is in.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"group":{"description":"The group that the filter is shared with. For a request, specify the `name` property for the group.","allOf":[{"$ref":"#/components/schemas/GroupName"}]}},"additionalProperties":false,"description":"Details of a share permission for the filter."},"SimpleLink":{"type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Details about the operations available in this version.","xml":{"name":"link"}},"UpdatedProjectCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project category.","readOnly":true},"id":{"type":"string","description":"The ID of the project category.","readOnly":true},"description":{"type":"string","description":"The name of the project category.","readOnly":true},"name":{"type":"string","description":"The description of the project category.","readOnly":true}},"additionalProperties":false,"description":"A project category."},"UserBean":{"type":"object","properties":{"key":{"type":"string","description":"This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. \nThe key of the user."},"self":{"type":"string","description":"The URL of the user.","format":"uri"},"name":{"type":"string","description":"This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. \nThe username of the user."},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may return an alternative value."},"active":{"type":"boolean","description":"Whether the user is active."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"avatarUrls":{"description":"The avatars of the user.","allOf":[{"$ref":"#/components/schemas/UserBeanAvatarUrls"}]}},"additionalProperties":false},"UserBeanAvatarUrls":{"type":"object","properties":{"24x24":{"type":"string","description":"The URL of the user's 24x24 pixel avatar.","format":"uri"},"32x32":{"type":"string","description":"The URL of the user's 32x32 pixel avatar.","format":"uri"},"48x48":{"type":"string","description":"The URL of the user's 48x48 pixel avatar.","format":"uri"},"16x16":{"type":"string","description":"The URL of the user's 16x16 pixel avatar.","format":"uri"}},"additionalProperties":false},"Version":{"type":"object","properties":{"expand":{"type":"string","description":"Use [expand](em>#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.\n\nOptional for create and update.","xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the version.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the version.","readOnly":true},"description":{"type":"string","description":"The description of the version. Optional when creating or updating a version."},"name":{"type":"string","description":"The unique name of the version. Required when creating a version. Optional when updating a version. The maximum length is 255 characters."},"archived":{"type":"boolean","description":"Indicates that the version is archived. Optional when creating or updating a version."},"released":{"type":"boolean","description":"Indicates that the version is released. If the version is released a request to release again is ignored. Not applicable when creating a version. Optional when updating a version."},"startDate":{"type":"string","description":"The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.","format":"date"},"releaseDate":{"type":"string","description":"The release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.","format":"date"},"overdue":{"type":"boolean","description":"Indicates that the version is overdue.","readOnly":true},"userStartDate":{"type":"string","description":"The date on which work on this version is expected to start, expressed in the instance's *Day/Month/Year Format* date format.","readOnly":true},"userReleaseDate":{"type":"string","description":"The date on which work on this version is expected to finish, expressed in the instance's *Day/Month/Year Format* date format.","readOnly":true},"project":{"type":"string","description":"Deprecated. Use `projectId`."},"projectId":{"type":"integer","description":"The ID of the project to which this version is attached. Required when creating a version. Not applicable when updating a version.","format":"int64"},"moveUnfixedIssuesTo":{"type":"string","description":"The URL of the self link to the version to which all unfixed issues are moved when a version is released. Not applicable when creating a version. Optional when updating a version.","format":"uri"},"operations":{"type":"array","description":"If the expand option `operations` is used, returns the list of operations available for this version.","readOnly":true,"items":{"$ref":"#/components/schemas/SimpleLink"}},"issuesStatusForFixVersion":{"description":"If the expand option `issuesstatus` is used, returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/VersionIssuesStatus"}]}},"additionalProperties":false,"description":"Details about a project version.","xml":{"name":"version"}},"VersionIssuesStatus":{"type":"object","properties":{"unmapped":{"type":"integer","description":"Count of issues with a status other than *to do*, *in progress*, and *done*.","format":"int64","readOnly":true},"toDo":{"type":"integer","description":"Count of issues with status *to do*.","format":"int64","readOnly":true},"inProgress":{"type":"integer","description":"Count of issues with status *in progress*.","format":"int64","readOnly":true},"done":{"type":"integer","description":"Count of issues with status *done*.","format":"int64","readOnly":true}},"additionalProperties":true,"description":"Counts of the number of issues in various statuses."},"avatarUrls":{"description":"The avatars of the user.","$ref":"#/components/schemas/AvatarUrlsBean"},"PageBeanDashboard":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Dashboard"}}},"additionalProperties":false,"description":"A page of items."},"DashboardDetails":{"required":["name","sharePermissions"],"type":"object","properties":{"name":{"type":"string","description":"The name of the dashboard."},"description":{"type":"string","description":"The description of the dashboard."},"sharePermissions":{"type":"array","description":"The details of any share permissions for the dashboard.","items":{"$ref":"#/components/schemas/SharePermission"}}},"additionalProperties":false,"description":"Details of a dashboard."},"ProjectEmailAddress":{"type":"object","properties":{"emailAddress":{"type":"string","description":"The email address."}},"additionalProperties":false,"description":"A project's sender email address."},"ProjectType":{"type":"object","properties":{"key":{"type":"string","description":"The key of the project type.","readOnly":true},"formattedKey":{"type":"string","description":"The formatted key of the project type.","readOnly":true},"descriptionI18nKey":{"type":"string","description":"The key of the project type's description.","readOnly":true},"icon":{"type":"string","description":"The icon of the project type.","readOnly":true},"color":{"type":"string","description":"The color of the project type.","readOnly":true}},"additionalProperties":false,"description":"Details about a project type."},"PageBeanString":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"type":"string","readOnly":true}}},"additionalProperties":false,"description":"A page of items."},"DeprecatedWorkflow":{"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow.","readOnly":true},"description":{"type":"string","description":"The description of the workflow.","readOnly":true},"lastModifiedDate":{"type":"string","description":"The datetime the workflow was last modified.","readOnly":true},"lastModifiedUser":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"lastModifiedUserAccountId":{"type":"string","description":"The account ID of the user that last modified the workflow.","readOnly":true},"steps":{"type":"integer","description":"The number of steps included in the workflow.","format":"int32","readOnly":true},"scope":{"description":"The scope where this workflow applies","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"default":{"type":"boolean"}},"additionalProperties":false,"description":"Details about a workflow."},"WorkflowTransitionProperty":{"required":["value"],"type":"object","properties":{"key":{"type":"string","description":"The key of the transition property. Also known as the name of the transition property.","readOnly":true},"value":{"type":"string","description":"The value of the transition property."},"id":{"type":"string","description":"The ID of the transition property.","readOnly":true}},"additionalProperties":true,"description":"Details about the server Jira is running on."},"ColumnItem":{"type":"object","properties":{"label":{"type":"string","description":"The issue navigator column label."},"value":{"type":"string","description":"The issue navigator column value."}},"additionalProperties":false,"description":"Details of an issue navigator column item."},"Configuration":{"type":"object","properties":{"votingEnabled":{"type":"boolean","description":"Whether the ability for users to vote on issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"watchingEnabled":{"type":"boolean","description":"Whether the ability for users to watch issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"unassignedIssuesAllowed":{"type":"boolean","description":"Whether the ability to create unassigned issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"subTasksEnabled":{"type":"boolean","description":"Whether the ability to create subtasks for issues is enabled.","readOnly":true},"issueLinkingEnabled":{"type":"boolean","description":"Whether the ability to link issues is enabled.","readOnly":true},"timeTrackingEnabled":{"type":"boolean","description":"Whether the ability to track time is enabled. This property is deprecated.","readOnly":true},"attachmentsEnabled":{"type":"boolean","description":"Whether the ability to add attachments to issues is enabled.","readOnly":true},"timeTrackingConfiguration":{"description":"The configuration of time tracking.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/TimeTrackingConfiguration"}]}},"additionalProperties":false,"description":"Details about the configuration of Jira."},"TimeTrackingConfiguration":{"required":["defaultUnit","timeFormat","workingDaysPerWeek","workingHoursPerDay"],"type":"object","properties":{"workingHoursPerDay":{"type":"number","description":"The number of hours in a working day.","format":"double"},"workingDaysPerWeek":{"type":"number","description":"The number of days in a working week.","format":"double"},"timeFormat":{"type":"string","description":"The format that will appear on an issue's *Time Spent* field.","enum":["pretty","days","hours"]},"defaultUnit":{"type":"string","description":"The default unit of time applied to logged time.","enum":["minute","hour","day","week"]}},"additionalProperties":false,"description":"Details of the time tracking configuration."},"ApplicationProperty":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the application property. The ID and key are the same."},"key":{"type":"string","description":"The key of the application property. The ID and key are the same."},"value":{"type":"string","description":"The new value."},"name":{"type":"string","description":"The name of the application property."},"desc":{"type":"string","description":"The description of the application property."},"type":{"type":"string","description":"The data type of the application property."},"defaultValue":{"type":"string","description":"The default value of the application property."},"example":{"type":"string"},"allowedValues":{"type":"array","description":"The allowed values, if applicable.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of an application property."},"SimpleApplicationPropertyBean":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the application property."},"value":{"type":"string","description":"The new value."}},"additionalProperties":false,"xml":{"name":"applicationProperty"}},"PermissionGrant":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the permission granted details.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the permission granted details.","format":"uri","readOnly":true},"holder":{"description":"The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information.","allOf":[{"$ref":"#/components/schemas/PermissionHolder"}]},"permission":{"type":"string","description":"The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions."}},"additionalProperties":false,"description":"Details about a permission granted to a user or group."},"PermissionHolder":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of permission holder."},"parameter":{"type":"string","description":"The identifier of permission holder."},"expand":{"type":"string","description":"Expand options that include additional permission holder details in the response.","readOnly":true}},"additionalProperties":false,"description":"Details of a user, group, field, or project role that holds a permission. See [Holder object](#holder-object) in *Get all permission schemes* for more information."},"PermissionScheme":{"required":["name"],"type":"object","properties":{"expand":{"type":"string","description":"The expand options available for the permission scheme.","readOnly":true},"id":{"type":"integer","description":"The ID of the permission scheme.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the permission scheme.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the permission scheme. Must be unique."},"description":{"type":"string","description":"A description for the permission scheme."},"scope":{"description":"The scope of the permission scheme.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"permissions":{"type":"array","description":"The permission scheme to create or update. See [About permission schemes and grants](#about-permission-schemes-and-grants) for more information.","items":{"$ref":"#/components/schemas/PermissionGrant"}}},"additionalProperties":true,"description":"Details of a permission scheme."},"PermissionSchemes":{"type":"object","properties":{"permissionSchemes":{"type":"array","description":"Permission schemes list.","readOnly":true,"items":{"$ref":"#/components/schemas/PermissionScheme"}}},"additionalProperties":false,"description":"List of all permission schemes."},"PermissionGrants":{"type":"object","properties":{"permissions":{"type":"array","description":"Permission grants list.","readOnly":true,"items":{"$ref":"#/components/schemas/PermissionGrant"}},"expand":{"type":"string","description":"Expand options that include additional permission grant details in the response.","readOnly":true}},"additionalProperties":false,"description":"List of permission grants."},"AssociatedItemBean":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the associated record.","readOnly":true},"name":{"type":"string","description":"The name of the associated record.","readOnly":true},"typeName":{"type":"string","description":"The type of the associated record.","readOnly":true},"parentId":{"type":"string","description":"The ID of the associated parent record.","readOnly":true},"parentName":{"type":"string","description":"The name of the associated parent record.","readOnly":true}},"additionalProperties":false,"description":"Details of an item associated with the changed record."},"AuditRecordBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the audit record.","format":"int64","readOnly":true},"summary":{"type":"string","description":"The summary of the audit record.","readOnly":true},"remoteAddress":{"type":"string","description":"The URL of the computer where the creation of the audit record was initiated.","readOnly":true},"authorKey":{"type":"string","description":"Deprecated, use `authorAccountId` instead. The key of the user who created the audit record.","readOnly":true},"created":{"type":"string","description":"The date and time on which the audit record was created.","format":"date-time","readOnly":true},"category":{"type":"string","description":"The category of the audit record. For a list of these categories, see the help article [Auditing in Jira applications](https://confluence.atlassian.com/x/noXKM).","readOnly":true},"eventSource":{"type":"string","description":"The event the audit record originated from.","readOnly":true},"description":{"type":"string","description":"The description of the audit record.","readOnly":true},"objectItem":{"$ref":"#/components/schemas/AssociatedItemBean"},"changedValues":{"type":"array","description":"The list of values changed in the record event.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangedValueBean"}},"associatedItems":{"type":"array","description":"The list of items associated with the changed record.","readOnly":true,"items":{"$ref":"#/components/schemas/AssociatedItemBean"}}},"additionalProperties":false,"description":"An audit record."},"AuditRecords":{"type":"object","properties":{"offset":{"type":"integer","description":"The number of audit items skipped before the first item in this list.","format":"int32","readOnly":true},"limit":{"type":"integer","description":"The requested or default limit on the number of audit items to be returned.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The total number of audit items returned.","format":"int64","readOnly":true},"records":{"type":"array","description":"The list of audit items.","readOnly":true,"items":{"$ref":"#/components/schemas/AuditRecordBean"}}},"additionalProperties":false,"description":"Container for a list of audit records."},"ChangedValueBean":{"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the field changed.","readOnly":true},"changedFrom":{"type":"string","description":"The value of the field before the change.","readOnly":true},"changedTo":{"type":"string","description":"The value of the field after the change.","readOnly":true}},"additionalProperties":false,"description":"Details of names changed in the record event."},"TimeTrackingProvider":{"required":["key"],"type":"object","properties":{"key":{"type":"string","description":"The key for the time tracking provider. For example, *JIRA*."},"name":{"type":"string","description":"The name of the time tracking provider. For example, *JIRA provided time tracking*."},"url":{"type":"string","description":"The URL of the configuration page for the time tracking provider app. For example, */example/config/url*. This property is only returned if the `adminPageKey` property is set in the module descriptor of the time tracking provider app.","readOnly":true}},"additionalProperties":false,"description":"Details about the time tracking provider."},"PageBeanWorkflowScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/WorkflowScheme"}}},"additionalProperties":false,"description":"A page of items."},"WorkflowScheme":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the workflow scheme.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the workflow scheme. The name must be unique. The maximum length is 255 characters. Required when creating a workflow scheme."},"description":{"type":"string","description":"The description of the workflow scheme."},"defaultWorkflow":{"type":"string","description":"The name of the default workflow for the workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira. If `defaultWorkflow` is not specified when creating a workflow scheme, it is set to *Jira Workflow (jira)*."},"issueTypeMappings":{"type":"object","additionalProperties":{"type":"string"},"description":"The issue type to workflow mappings, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme."},"originalDefaultWorkflow":{"type":"string","description":"For draft workflow schemes, this property is the name of the default workflow for the original workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira.","readOnly":true},"originalIssueTypeMappings":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"For draft workflow schemes, this property is the issue type to workflow mappings for the original workflow scheme, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme.","readOnly":true},"draft":{"type":"boolean","description":"Whether the workflow scheme is a draft or not.","readOnly":true},"lastModifiedUser":{"description":"The user that last modified the draft workflow scheme. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"lastModified":{"type":"string","description":"The date-time that the draft workflow scheme was last modified. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.","readOnly":true},"self":{"type":"string","format":"uri","readOnly":true},"updateDraftIfNeeded":{"type":"boolean","description":"Whether to create or update a draft workflow scheme when updating an active workflow scheme. An active workflow scheme is a workflow scheme that is used by at least one project. The following examples show how this property works:\n\n * Update an active workflow scheme with `updateDraftIfNeeded` set to `true`: If a draft workflow scheme exists, it is updated. Otherwise, a draft workflow scheme is created.\n * Update an active workflow scheme with `updateDraftIfNeeded` set to `false`: An error is returned, as active workflow schemes cannot be updated.\n * Update an inactive workflow scheme with `updateDraftIfNeeded` set to `true`: The workflow scheme is updated, as inactive workflow schemes do not require drafts to update.\n\nDefaults to `false`."},"issueTypes":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/IssueTypeDetails"},"description":"The issue types available in Jira.","readOnly":true}},"additionalProperties":false,"description":"Details about a workflow scheme."},"IssueTypesWorkflowMapping":{"type":"object","properties":{"workflow":{"type":"string","description":"The name of the workflow. Optional if updating the workflow-issue types mapping."},"issueTypes":{"type":"array","description":"The list of issue type IDs.","items":{"type":"string"}},"defaultMapping":{"type":"boolean","description":"Whether the workflow is the default workflow for the workflow scheme."},"updateDraftIfNeeded":{"type":"boolean","description":"Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new workflow-issue types mapping. Defaults to `false`."}},"additionalProperties":false,"description":"Details about the mapping between issue types and a workflow."},"IssueTypeWorkflowMapping":{"type":"object","properties":{"issueType":{"type":"string","description":"The ID of the issue type. Not required if updating the issue type-workflow mapping."},"workflow":{"type":"string","description":"The name of the workflow."},"updateDraftIfNeeded":{"type":"boolean","description":"Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types mapping."}},"additionalProperties":false,"description":"Details about the mapping between an issue type and a workflow."},"DefaultWorkflow":{"required":["workflow"],"type":"object","properties":{"workflow":{"type":"string","description":"The name of the workflow to set as the default workflow."},"updateDraftIfNeeded":{"type":"boolean","description":"Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new default workflow. Defaults to `false`."}},"additionalProperties":false,"description":"Details about the default workflow."},"ContainerOfWorkflowSchemeAssociations":{"required":["values"],"type":"object","properties":{"values":{"type":"array","description":"A list of workflow schemes together with projects they are associated with.","items":{"$ref":"#/components/schemas/WorkflowSchemeAssociations"}}},"additionalProperties":false,"description":"A container for a list of workflow schemes together with the projects they are associated with."},"WorkflowSchemeAssociations":{"required":["projectIds"],"type":"object","properties":{"projectIds":{"type":"array","description":"The list of projects that use the workflow scheme.","items":{"type":"string"}},"workflowScheme":{"description":"The workflow scheme.","allOf":[{"$ref":"#/components/schemas/WorkflowScheme"}]}},"additionalProperties":false,"description":"A workflow scheme along with a list of projects that use it."},"WorkflowSchemeProjectAssociation":{"required":["projectId","workflowSchemeId"],"type":"object","properties":{"workflowSchemeId":{"type":"string","description":"The ID of the workflow scheme."},"projectId":{"type":"string","description":"The ID of the project."}},"additionalProperties":false,"description":"An associated workflow scheme and project."},"PageBeanWorkflow":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Workflow"}}},"additionalProperties":false,"description":"A page of items."},"PublishedWorkflowId":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."}},"additionalProperties":false,"description":"Properties that identify a published workflow."},"ScreenID":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the screen."}},"additionalProperties":false,"description":"ID of a screen."},"Transition":{"required":["description","from","id","name","to","type"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the transition."},"name":{"type":"string","description":"The name of the transition."},"description":{"type":"string","description":"The description of the transition."},"from":{"type":"array","description":"The statuses the transition can start from.","items":{"type":"string","description":"The statuses the transition can start from."}},"to":{"type":"string","description":"The status the transition goes to."},"type":{"type":"string","description":"The type of the transition.","enum":["global","initial","directed"]},"screen":{"$ref":"#/components/schemas/ScreenID"},"rules":{"$ref":"#/components/schemas/WorkflowRules"}},"additionalProperties":false,"description":"Details of a workflow transition."},"Workflow":{"required":["description"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/PublishedWorkflowId"},"description":{"type":"string","description":"The description of the workflow."},"transitions":{"type":"array","description":"The transitions of the workflow.","items":{"$ref":"#/components/schemas/Transition"}},"statuses":{"type":"array","description":"The statuses of the workflow.","items":{"$ref":"#/components/schemas/WorkflowStatus"}}},"additionalProperties":false,"description":"Details about a workflow."},"WorkflowRules":{"required":["conditions","postFunctions","validators"],"type":"object","properties":{"conditions":{"type":"array","description":"The workflow conditions.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}},"validators":{"type":"array","description":"The workflow validators.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}},"postFunctions":{"type":"array","description":"The workflow post functions.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}}},"additionalProperties":false,"description":"A collection of transition rules."},"WorkflowStatus":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue status."},"name":{"type":"string","description":"The name of the status in the workflow."},"properties":{"$ref":"#/components/schemas/WorkflowStatusProperties"}},"additionalProperties":false,"description":"Details of a workflow status."},"WorkflowStatusProperties":{"required":["issueEditable"],"type":"object","properties":{"issueEditable":{"type":"boolean","description":"Whether issues are editable in this status."}},"additionalProperties":false,"description":"Properties of a workflow status."},"WorkflowTransitionRule":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"description":"The configuration of the transition rule. This is currently returned only for some of the rule types. Availability of this property is subject to change."}},"additionalProperties":false,"description":"A workflow transition rule."},"ConnectWorkflowTransitionRule":{"required":["id","key"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the transition rule."},"key":{"type":"string","description":"The key of the rule, as defined in the Connect app descriptor.","readOnly":true},"configuration":{"$ref":"#/components/schemas/RuleConfiguration"},"transition":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WorkflowTransition"}]}},"additionalProperties":false,"description":"A workflow transition rule."},"PageBeanWorkflowTransitionRules":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"additionalProperties":false,"description":"A page of items."},"RuleConfiguration":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"Configuration of the rule, as it is stored by the Connect app on the rule configuration page."}},"additionalProperties":false,"description":"A rule configuration."},"WorkflowId":{"required":["draft","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"draft":{"type":"boolean","description":"Whether the workflow is in the draft state."}},"additionalProperties":false,"description":"Properties that identify a workflow."},"WorkflowTransition":{"required":["id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The transition ID.","format":"int32"},"name":{"type":"string","description":"The transition name."}},"additionalProperties":false,"description":"A workflow transition."},"WorkflowTransitionRules":{"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"postFunctions":{"type":"array","description":"The list of post functions within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}},"conditions":{"type":"array","description":"The list of conditions within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}},"validators":{"type":"array","description":"The list of validators within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}}},"additionalProperties":false,"description":"A workflow with transition rules."},"WorkflowTransitionRulesUpdate":{"type":"object","properties":{"workflows":{"type":"array","description":"The list of workflows with transition rules to update.","items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"additionalProperties":false,"description":"Details about a workflow configuration update request."},"WorkflowTransitionRulesUpdateErrorDetails":{"required":["ruleUpdateErrors"],"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"ruleUpdateErrors":{"type":"object","additionalProperties":{"uniqueItems":true,"type":"array","description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated.","items":{"type":"string","description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated."}},"description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated."},"updateErrors":{"uniqueItems":true,"type":"array","description":"The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.","items":{"type":"string","description":"An error specifying why the workflow update failed."}}},"additionalProperties":false,"description":"Details of any errors encountered while updating workflow transition rules for a workflow."},"WorkflowTransitionRulesUpdateErrors":{"required":["updateResults"],"type":"object","properties":{"updateResults":{"type":"array","description":"A list of workflows.","items":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrorDetails"}}},"additionalProperties":false,"description":"Details of any errors encountered while updating workflow transition rules."},"PageBeanUserKey":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserKey"}}},"additionalProperties":false,"description":"A page of items."},"UserKey":{"type":"object","properties":{"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import."}},"additionalProperties":false,"description":"List of user account IDs."},"ChangeDetails":{"type":"object","properties":{"field":{"type":"string","description":"The name of the field changed.","readOnly":true},"fieldtype":{"type":"string","description":"The type of the field changed.","readOnly":true},"fieldId":{"type":"string","description":"The ID of the field changed.","readOnly":true},"from":{"type":"string","description":"The details of the original value.","readOnly":true},"fromString":{"type":"string","description":"The details of the original value as a string.","readOnly":true},"to":{"type":"string","description":"The details of the new value.","readOnly":true},"toString":{"type":"string","description":"The details of the new value as a string.","readOnly":true}},"additionalProperties":false,"description":"A change item."},"Changelog":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the changelog.","readOnly":true},"author":{"description":"The user who made the change.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The date on which the change took place.","format":"date-time","readOnly":true},"items":{"type":"array","description":"The list of items changed.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangeDetails"}},"historyMetadata":{"description":"The history metadata associated with the changed.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/HistoryMetadata"}]}},"additionalProperties":false,"description":"A changelog."},"FieldMetadata":{"required":["key","name","operations","required"],"type":"object","properties":{"required":{"type":"boolean","description":"Whether the field is required.","readOnly":true},"schema":{"description":"The data type of the field.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/JsonTypeBean"}]},"name":{"type":"string","description":"The name of the field.","readOnly":true},"key":{"type":"string","description":"The key of the field.","readOnly":true},"autoCompleteUrl":{"type":"string","description":"The URL that can be used to automatically complete the field.","readOnly":true},"hasDefaultValue":{"type":"boolean","description":"Whether the field has a default value.","readOnly":true},"operations":{"type":"array","description":"The list of operations that can be performed on the field.","readOnly":true,"items":{"type":"string","readOnly":true}},"allowedValues":{"type":"array","description":"The list of values allowed in the field.","readOnly":true,"items":{"readOnly":true}},"defaultValue":{"description":"The default value of the field.","readOnly":true}},"additionalProperties":false,"description":"The metadata describing an issue field.","xml":{"name":"availableField"}},"HistoryMetadata":{"type":"object","properties":{"type":{"type":"string","description":"The type of the history record."},"description":{"type":"string","description":"The description of the history record."},"descriptionKey":{"type":"string","description":"The description key of the history record."},"activityDescription":{"type":"string","description":"The activity described in the history record."},"activityDescriptionKey":{"type":"string","description":"The key of the activity described in the history record."},"emailDescription":{"type":"string","description":"The description of the email address associated the history record."},"emailDescriptionKey":{"type":"string","description":"The description key of the email address associated the history record."},"actor":{"description":"Details of the user whose action created the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"generator":{"description":"Details of the system that generated the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"cause":{"description":"Details of the cause that triggered the creation the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"extraData":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional arbitrary information about the history record."}},"additionalProperties":true,"description":"Details of issue history metadata."},"HistoryMetadataParticipant":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the user or system associated with a history record."},"displayName":{"type":"string","description":"The display name of the user or system associated with a history record."},"displayNameKey":{"type":"string","description":"The key of the display name of the user or system associated with a history record."},"type":{"type":"string","description":"The type of the user or system associated with a history record."},"avatarUrl":{"type":"string","description":"The URL to an avatar for the user or system associated with a history record."},"url":{"type":"string","description":"The URL of the user or system associated with a history record."}},"additionalProperties":true,"description":"Details of user or system associated with a issue history metadata item."},"IncludedFields":{"type":"object","properties":{"actuallyIncluded":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"included":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"excluded":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},"additionalProperties":false},"IssueBean":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional issue details in the response.","readOnly":true,"xml":{"attribute":true}},"id":{"type":"string","description":"The ID of the issue.","readOnly":true},"self":{"type":"string","description":"The URL of the issue details.","format":"uri","readOnly":true},"key":{"type":"string","description":"The key of the issue.","readOnly":true},"renderedFields":{"type":"object","additionalProperties":{"readOnly":true},"description":"The rendered value of each field present on the issue.","readOnly":true},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Details of the issue properties identified in the request.","readOnly":true},"names":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"The ID and name of each field present on the issue.","readOnly":true},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonTypeBean"},"description":"The schema describing each field present on the issue.","readOnly":true},"transitions":{"type":"array","description":"The transitions that can be performed on the issue.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTransition"}},"operations":{"description":"The operations that can be performed on the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Operations"}]},"editmeta":{"description":"The metadata for the fields on the issue that can be amended.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/IssueUpdateMetadata"}]},"changelog":{"description":"Details of changelogs associated with the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/PageOfChangelogs"}]},"versionedRepresentations":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"readOnly":true},"readOnly":true},"description":"The versions of each field on the issue.","readOnly":true},"fieldsToInclude":{"$ref":"#/components/schemas/IncludedFields"},"fields":{"type":"object","additionalProperties":{}}},"additionalProperties":false,"xml":{"name":"issue"}},"IssueTransition":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue transition. Required when specifying a transition to undertake."},"name":{"type":"string","description":"The name of the issue transition.","readOnly":true},"to":{"description":"Details of the issue status after the transition.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusDetails"}]},"hasScreen":{"type":"boolean","description":"Whether there is a screen associated with the issue transition.","readOnly":true},"isGlobal":{"type":"boolean","description":"Whether the issue transition is global, that is, the transition is applied to issues regardless of their status.","readOnly":true},"isInitial":{"type":"boolean","description":"Whether this is the initial issue transition for the workflow.","readOnly":true},"isAvailable":{"type":"boolean","description":"Whether the transition is available to be performed.","readOnly":true},"isConditional":{"type":"boolean","description":"Whether the issue has to meet criteria before the issue transition is applied.","readOnly":true},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"Details of the fields associated with the issue transition screen. Use this information to populate `fields` and `update` in a transition request.","readOnly":true},"expand":{"type":"string","description":"Expand options that include additional transition details in the response.","readOnly":true}},"additionalProperties":true,"description":"Details of an issue transition."},"IssueUpdateMetadata":{"type":"object","properties":{"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"A list of editable field details.","readOnly":true}},"additionalProperties":false,"description":"A list of editable field details."},"JsonTypeBean":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The data type of the field.","readOnly":true},"items":{"type":"string","description":"When the data type is an array, the name of the field items within the array.","readOnly":true},"system":{"type":"string","description":"If the field is a system field, the name of the field.","readOnly":true},"custom":{"type":"string","description":"If the field is a custom field, the URI of the field.","readOnly":true},"customId":{"type":"integer","description":"If the field is a custom field, the custom ID of the field.","format":"int64","readOnly":true},"configuration":{"type":"object","additionalProperties":{"readOnly":true},"description":"If the field is a custom field, the configuration of the field.","readOnly":true}},"additionalProperties":false,"description":"The schema of a field."},"LinkGroup":{"type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"header":{"$ref":"#/components/schemas/SimpleLink"},"weight":{"type":"integer","format":"int32"},"links":{"type":"array","items":{"$ref":"#/components/schemas/SimpleLink"}},"groups":{"type":"array","items":{"$ref":"#/components/schemas/LinkGroup"}}},"additionalProperties":false,"description":"Details a link group, which defines issue operations."},"Operations":{"type":"object","properties":{"linkGroups":{"type":"array","description":"Details of the link groups defining issue operations.","readOnly":true,"items":{"$ref":"#/components/schemas/LinkGroup"}}},"additionalProperties":true,"description":"Details of the operations that can be performed on the issue."},"PageOfChangelogs":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"histories":{"type":"array","description":"The list of changelogs.","readOnly":true,"items":{"$ref":"#/components/schemas/Changelog"}}},"additionalProperties":false,"description":"A page of changelogs."},"SearchResults":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional search result details in the response.","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"issues":{"type":"array","description":"The list of issues found by the search.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueBean"}},"warningMessages":{"type":"array","description":"Any warnings related to the JQL query.","readOnly":true,"items":{"type":"string","readOnly":true}},"names":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"The ID and name of each field in the search results.","readOnly":true},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonTypeBean"},"description":"The schema describing the field types in the search results.","readOnly":true}},"additionalProperties":false,"description":"The result of a JQL search."},"StatusCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the status category.","readOnly":true},"id":{"type":"integer","description":"The ID of the status category.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the status category.","readOnly":true},"colorName":{"type":"string","description":"The name of the color used to represent the status category.","readOnly":true},"name":{"type":"string","description":"The name of the status category.","readOnly":true}},"additionalProperties":true,"description":"A status category."},"StatusDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the status.","readOnly":true},"description":{"type":"string","description":"The description of the status.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the icon used to represent the status.","readOnly":true},"name":{"type":"string","description":"The name of the status.","readOnly":true},"id":{"type":"string","description":"The ID of the status.","readOnly":true},"statusCategory":{"description":"The category assigned to the status.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusCategory"}]}},"additionalProperties":true,"description":"A status."},"UserDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","readOnly":true},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"emailAddress":{"type":"string","description":"The email address of the user. Depending on the user’s privacy settings, this may be returned as null.","readOnly":true},"avatarUrls":{"description":"The avatars of the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.","readOnly":true},"active":{"type":"boolean","description":"Whether the user is active.","readOnly":true},"timeZone":{"type":"string","description":"The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.","readOnly":true},"accountType":{"type":"string","description":"The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)","readOnly":true}},"additionalProperties":false,"description":"User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).\n * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values."},"SearchRequestBean":{"type":"object","properties":{"jql":{"type":"string","description":"A [JQL](https://confluence.atlassian.com/x/egORLQ) expression."},"startAt":{"type":"integer","description":"The index of the first item to return in the page of results (page offset). The base index is `0`.","format":"int32"},"maxResults":{"type":"integer","description":"The maximum number of items to return per page.","format":"int32","default":50},"fields":{"type":"array","description":"A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nThe default is `*navigable`.\n\nExamples:\n\n * `summary,comment` Returns the summary and comments fields only.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nMultiple `fields` parameters can be included in a request.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.","items":{"type":"string"}},"validateQuery":{"type":"string","description":"Determines how to validate the JQL query and treat the validation results. Supported values:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nThe default is `strict`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.","enum":["strict","warn","none","true","false"]},"expand":{"type":"array","description":"Use [expand](em>#expansion) to include additional information about issues in the response. Note that, unlike the majority of instances where `expand` is specified, `expand` is defined as a list of values. The expand options are:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.","items":{"type":"string"}},"properties":{"type":"array","description":"A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list.","items":{"type":"string"}},"fieldsByKeys":{"type":"boolean","description":"Reference fields by their key (rather than ID). The default is `false`."}},"additionalProperties":false},"FieldReferenceData":{"type":"object","properties":{"value":{"type":"string","description":"The field identifier."},"displayName":{"type":"string","description":"The display name of the field."},"orderable":{"type":"string","description":"Whether the field can be used in a query's `ORDER BY` clause.","enum":["true","false"]},"searchable":{"type":"string","description":"Whether the content of this field can be searched.","enum":["true","false"]},"auto":{"type":"string","description":"Whether the field provide auto-complete suggestions.","enum":["true","false"]},"cfid":{"type":"string","description":"If the item is a custom field, the ID of the custom field."},"operators":{"type":"array","description":"The valid search operators for the field.","items":{"type":"string"}},"types":{"type":"array","description":"The data types of items in the field.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of a field that can be used in advanced searches."},"FunctionReferenceData":{"type":"object","properties":{"value":{"type":"string","description":"The function identifier."},"displayName":{"type":"string","description":"The display name of the function."},"isList":{"type":"string","description":"Whether the function can take a list of arguments.","enum":["true","false"]},"types":{"type":"array","description":"The data types returned by the function.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of functions that can be used in advanced searches."},"JQLReferenceData":{"type":"object","properties":{"visibleFieldNames":{"type":"array","description":"List of fields usable in JQL queries.","items":{"$ref":"#/components/schemas/FieldReferenceData"}},"visibleFunctionNames":{"type":"array","description":"List of functions usable in JQL queries.","items":{"$ref":"#/components/schemas/FunctionReferenceData"}},"jqlReservedWords":{"type":"array","description":"List of JQL query reserved words.","items":{"type":"string"}}},"additionalProperties":false,"description":"Lists of JQL reference data."},"AutoCompleteSuggestion":{"type":"object","properties":{"value":{"type":"string","description":"The value of a suggested item."},"displayName":{"type":"string","description":"The display name of a suggested item. If `fieldValue` or `predicateValue` are provided, the matching text is highlighted with the HTML bold tag."}},"additionalProperties":false,"description":"A field auto-complete suggestion."},"AutoCompleteSuggestions":{"type":"object","properties":{"results":{"type":"array","description":"The list of suggested item.","items":{"$ref":"#/components/schemas/AutoCompleteSuggestion"}}},"additionalProperties":false,"description":"The results from a JQL query."},"JQLPersonalDataMigrationRequest":{"type":"object","properties":{"queryStrings":{"type":"array","description":"A list of queries with user identifiers. Maximum of 100 queries.","items":{"type":"string"}}},"additionalProperties":false,"description":"The JQL queries to be converted."},"ConvertedJQLQueries":{"type":"object","properties":{"queryStrings":{"type":"array","description":"The list of converted query strings with account IDs in place of user identifiers.","items":{"type":"string"}},"queriesWithUnknownUsers":{"type":"array","description":"List of queries containing user information that could not be mapped to an existing user","items":{"$ref":"#/components/schemas/JQLQueryWithUnknownUsers"}}},"additionalProperties":false,"description":"The converted JQL queries."},"JQLQueryWithUnknownUsers":{"type":"object","properties":{"originalQuery":{"type":"string","description":"The original query, for reference"},"convertedQuery":{"type":"string","description":"The converted query, with accountIDs instead of user identifiers, or 'unknown' for users that could not be found"}},"additionalProperties":false,"description":"JQL queries that contained users that could not be found"},"Filter":{"required":["name"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the filter.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the filter.","readOnly":true},"name":{"type":"string","description":"The name of the filter. Must be unique."},"description":{"type":"string","description":"A description of the filter."},"owner":{"description":"The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"jql":{"type":"string","description":"The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*."},"viewUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.","format":"uri","readOnly":true},"searchUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-3-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/3/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.","format":"uri","readOnly":true},"favourite":{"type":"boolean","description":"Whether the filter is selected as a favorite."},"favouritedCount":{"type":"integer","description":"The count of how many users have selected this filter as a favorite, including the filter owner.","format":"int64","readOnly":true},"sharePermissions":{"type":"array","description":"The groups and projects that the filter is shared with.","items":{"$ref":"#/components/schemas/SharePermission"}},"sharedUsers":{"description":"A paginated list of the users that the filter is shared with. This includes users that are members of the groups or can browse the projects that the filter is shared with.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserList"}]},"subscriptions":{"description":"A paginated list of the users that are subscribed to the filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/FilterSubscriptionsList"}]}},"additionalProperties":false,"description":"Details about a filter.","xml":{"name":"filter"}},"FilterSubscription":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the filter subscription.","format":"int64","readOnly":true},"user":{"description":"The user subscribing to filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"group":{"description":"The group subscribing to filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/GroupName"}]}},"additionalProperties":false,"description":"Details of a user or group subscribing to a filter."},"FilterSubscriptionsList":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterSubscription"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paginated list of subscriptions to a filter."},"UserList":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with."},"FilterDetails":{"required":["name"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the filter.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the filter.","readOnly":true},"name":{"type":"string","description":"The name of the filter. Must be unique."},"description":{"type":"string","description":"A description of the filter."},"owner":{"description":"The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"jql":{"type":"string","description":"The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*.","readOnly":true},"viewUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.","format":"uri","readOnly":true},"searchUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-3-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/3/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.","format":"uri","readOnly":true},"favourite":{"type":"boolean","description":"Whether the filter is selected as a favorite by any users, not including the filter owner.","readOnly":true},"favouritedCount":{"type":"integer","description":"The count of how many users have selected this filter as a favorite, including the filter owner.","format":"int64","readOnly":true},"sharePermissions":{"type":"array","description":"The groups and projects that the filter is shared with. This can be specified when updating a filter, but not when creating a filter.","items":{"$ref":"#/components/schemas/SharePermission"}},"subscriptions":{"type":"array","description":"The users that are subscribed to the filter.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterSubscription"}}},"additionalProperties":false,"description":"Details of a filter."},"PageBeanFilterDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterDetails"}}},"additionalProperties":false,"description":"A page of items."},"DefaultShareScope":{"required":["scope"],"type":"object","properties":{"scope":{"type":"string","description":"The scope of the default sharing for new filters and dashboards:\n\n * `AUTHENTICATED` Shared with all logged-in users.\n * `GLOBAL` Shared with all logged-in users. This shows as `AUTHENTICATED` in the response.\n * `PRIVATE` Not shared with any users.","enum":["GLOBAL","AUTHENTICATED","PRIVATE"]}},"additionalProperties":false,"description":"Details of the scope of the default sharing for new filters and dashboards.","xml":{"name":"defaultShareScope"}},"SharePermissionInputBean":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the share permission.Specify the type as follows:\n\n * `group` Share with a group. Specify `groupname` as well.\n * `project` Share with a project. Specify `projectId` as well.\n * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well.\n * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.\n * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.","enum":["project","group","projectRole","global","authenticated"]},"projectId":{"type":"string","description":"The ID of the project to share the filter with. Set `type` to `project`."},"groupname":{"type":"string","description":"The name of the group to share the filter with. Set `type` to `group`."},"projectRoleId":{"type":"string","description":"The ID of the project role to share the filter with. Set `type` to `projectRole` and the `projectId` for the project that the role is in."}},"additionalProperties":false},"IdBean":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the permission scheme to associate with the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to get a list of permission scheme IDs.","format":"int64"}},"additionalProperties":false},"Permissions":{"type":"object","properties":{"permissions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UserPermission"},"description":"List of permissions.","readOnly":true}},"additionalProperties":false,"description":"Details about permissions."},"UserPermission":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions."},"key":{"type":"string","description":"The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions."},"name":{"type":"string","description":"The name of the permission."},"type":{"type":"string","description":"The type of the permission.","enum":["GLOBAL","PROJECT"]},"description":{"type":"string","description":"The description of the permission."},"havePermission":{"type":"boolean","description":"Whether the permission is available to the user in the queried context."},"deprecatedKey":{"type":"boolean","description":"Indicate whether the permission key is deprecated. Note that deprecated keys cannot be used in the `permissions parameter of Get my permissions. Deprecated keys are not returned by Get all permissions.`"}},"additionalProperties":true,"description":"Details of a permission and its availability to a user."},"BulkPermissionsRequestBean":{"type":"object","properties":{"projectPermissions":{"uniqueItems":true,"type":"array","description":"Project permissions with associated projects and issues to look up.","items":{"$ref":"#/components/schemas/BulkProjectPermissions"}},"globalPermissions":{"uniqueItems":true,"type":"array","description":"Global permissions to look up.","items":{"type":"string"}},"accountId":{"type":"string","description":"The account ID of a user."}},"additionalProperties":false,"description":"Details of global permissions to look up and project permissions with associated projects and issues to look up."},"BulkProjectPermissions":{"required":["permissions"],"type":"object","properties":{"issues":{"uniqueItems":true,"type":"array","description":"List of issue IDs.","items":{"type":"integer","format":"int64"}},"projects":{"uniqueItems":true,"type":"array","description":"List of project IDs.","items":{"type":"integer","format":"int64"}},"permissions":{"uniqueItems":true,"type":"array","description":"List of project permissions.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of project permissions and associated issues and projects to look up."},"BulkPermissionGrants":{"required":["globalPermissions","projectPermissions"],"type":"object","properties":{"projectPermissions":{"uniqueItems":true,"type":"array","description":"List of project permissions and the projects and issues those permissions provide access to.","items":{"$ref":"#/components/schemas/BulkProjectPermissionGrants"}},"globalPermissions":{"uniqueItems":true,"type":"array","description":"List of permissions granted to the user.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of global and project permissions granted to the user."},"BulkProjectPermissionGrants":{"required":["issues","permission","projects"],"type":"object","properties":{"permission":{"type":"string","description":"A project permission,"},"issues":{"uniqueItems":true,"type":"array","description":"IDs of the issues the user has the permission for.","items":{"type":"integer","format":"int64"}},"projects":{"uniqueItems":true,"type":"array","description":"IDs of the projects the user has the permission for.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false,"description":"List of project permissions and the projects and issues those permissions grant access to."},"PermissionsKeysBean":{"required":["permissions"],"type":"object","properties":{"permissions":{"type":"array","description":"A list of permission keys.","items":{"type":"string"}}},"additionalProperties":false},"PermittedProjects":{"type":"object","properties":{"projects":{"type":"array","description":"A list of projects.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIdentifierBean"}}},"additionalProperties":false,"description":"A list of projects in which a user is granted permissions."},"ProjectIdentifierBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the project.","readOnly":true}},"additionalProperties":false,"description":"The identifiers for a project."},"IssuesAndJQLQueries":{"required":["issueIds","jqls"],"type":"object","properties":{"jqls":{"type":"array","description":"A list of JQL queries.","items":{"type":"string","description":"A list of JQL queries."}},"issueIds":{"uniqueItems":true,"type":"array","description":"A list of issue IDs.","items":{"type":"integer","description":"A list of issue IDs.","format":"int64"}}},"additionalProperties":false,"description":"List of issues and JQL queries."},"IssueMatches":{"required":["matches"],"type":"object","properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/IssueMatchesForJQL"}}},"additionalProperties":false,"description":"A list of matched issues or errors for each JQL query, in the order the JQL queries were passed."},"IssueMatchesForJQL":{"required":["errors","matchedIssues"],"type":"object","properties":{"matchedIssues":{"uniqueItems":true,"type":"array","description":"A list of issue IDs.","items":{"type":"integer","description":"A list of issue IDs.","format":"int64"}},"errors":{"uniqueItems":true,"type":"array","description":"A list of errors.","items":{"type":"string","description":"A list of errors."}}},"additionalProperties":false,"description":"A list of the issues matched to a JQL query or details of errors encountered during matching."},"Locale":{"type":"object","properties":{"locale":{"type":"string","description":"The locale code. The Java the locale format is used: a two character language code (ISO 639), an underscore, and two letter country code (ISO 3166). For example, en\\_US represents a locale of English (United States). Required on create."}},"additionalProperties":false,"description":"Details of a locale."},"IdOrKeyBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the referenced item.","format":"int64"},"key":{"type":"string","description":"The key of the referenced item."}},"additionalProperties":false},"JexpIssues":{"type":"object","properties":{"jql":{"description":"The JQL query that specifies the set of issues available in the Jira expression.","allOf":[{"$ref":"#/components/schemas/JexpJqlIssues"}]}},"additionalProperties":false,"description":"The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable."},"JexpJqlIssues":{"type":"object","properties":{"query":{"type":"string","description":"The JQL query."},"startAt":{"type":"integer","description":"The index of the first issue to return from the JQL query.","format":"int64"},"maxResults":{"type":"integer","description":"The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to ensure the maximum value has not been exceeded.","format":"int32"},"validation":{"type":"string","description":"Determines how to validate the JQL query and treat the validation results.","enum":["strict","warn","none"],"default":"strict"}},"additionalProperties":false,"description":"The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response."},"JiraExpressionEvalContextBean":{"type":"object","properties":{"issue":{"description":"The issue that is available under the `issue` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/IdOrKeyBean"}]},"issues":{"description":"The collection of issues that is available under the `issues` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/JexpIssues"}]},"project":{"description":"The project that is available under the `project` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/IdOrKeyBean"}]},"sprint":{"type":"integer","description":"The ID of the sprint that is available under the `sprint` variable when evaluating the expression.","format":"int64"},"board":{"type":"integer","description":"The ID of the board that is available under the `board` variable when evaluating the expression.","format":"int64"},"serviceDesk":{"type":"integer","description":"The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression.","format":"int64"},"customerRequest":{"type":"integer","description":"The ID of the customer request that is available under the `customerRequest` variable when evaluating the expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will have a different type.","format":"int64"}},"additionalProperties":false},"JiraExpressionEvalRequestBean":{"required":["expression"],"type":"object","properties":{"expression":{"type":"string","description":"The Jira expression to evaluate.","example":"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }"},"context":{"description":"The context in which the Jira expression is evaluated.","allOf":[{"$ref":"#/components/schemas/JiraExpressionEvalContextBean"}]}},"additionalProperties":false},"IssuesJqlMetaDataBean":{"required":["count","maxResults","startAt","totalCount"],"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first issue.","format":"int64"},"maxResults":{"type":"integer","description":"The maximum number of issues that could be loaded in this evaluation.","format":"int32"},"count":{"type":"integer","description":"The number of issues that were loaded in this evaluation.","format":"int32"},"totalCount":{"type":"integer","description":"The total number of issues the JQL returned.","format":"int64"},"validationWarnings":{"type":"array","description":"Any warnings related to the JQL query. Present only if the validation mode was set to `warn`.","items":{"type":"string"}}},"additionalProperties":false,"description":"The description of the page of issues loaded by the provided JQL query."},"IssuesMetaBean":{"type":"object","properties":{"jql":{"$ref":"#/components/schemas/IssuesJqlMetaDataBean"}},"additionalProperties":false,"description":"Meta data describing the `issues` context variable."},"JiraExpressionEvaluationMetaDataBean":{"type":"object","properties":{"complexity":{"description":"Contains information about the expression complexity. For example, the number of steps it took to evaluate the expression.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityBean"}]},"issues":{"description":"Contains information about the `issues` variable in the context. For example, is the issues were loaded with JQL, information about the page will be included here.","allOf":[{"$ref":"#/components/schemas/IssuesMetaBean"}]}},"additionalProperties":false},"JiraExpressionResult":{"required":["value"],"type":"object","properties":{"value":{"description":"The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if that's the case a simple string representation is returned. These string representations should not be relied upon and may change without notice.)"},"meta":{"description":"Contains various characteristics of the performed expression evaluation.","allOf":[{"$ref":"#/components/schemas/JiraExpressionEvaluationMetaDataBean"}]}},"additionalProperties":false,"description":"The result of evaluating a Jira expression."},"JiraExpressionsComplexityBean":{"type":"object","properties":{"steps":{"description":"The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"expensiveOperations":{"description":"The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"beans":{"description":"The number of Jira REST API beans returned in the response.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"primitiveValues":{"description":"The number of primitive values returned in the response.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]}},"additionalProperties":false},"JiraExpressionsComplexityValueBean":{"required":["limit","value"],"type":"object","properties":{"value":{"type":"integer","description":"The complexity value of the current expression.","format":"int32"},"limit":{"type":"integer","description":"The maximum allowed complexity. The evaluation will fail if this value is exceeded.","format":"int32"}},"additionalProperties":false},"JiraExpressionForAnalysis":{"required":["expressions"],"type":"object","properties":{"expressions":{"type":"array","description":"The list of Jira expressions to analyse.","example":"issues.map(issue => issue.properties['property_key'])","items":{"type":"string","description":"The list of Jira expressions to analyse.","example":"issues.map(issue => issue.properties['property_key'])"}},"contextVariables":{"type":"object","additionalProperties":{"type":"string","description":"Context variables and their types. The type checker assumes that common context variables, such as issue or project, are available in context and sets their type. Use this property to override the default types or provide details of new variables."},"description":"Context variables and their types. The type checker assumes that [common context variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables), such as `issue` or `project`, are available in context and sets their type. Use this property to override the default types or provide details of new variables."}},"additionalProperties":false,"description":"Details of Jira expressions for analysis."},"JiraExpressionAnalysis":{"required":["expression","valid"],"type":"object","properties":{"expression":{"type":"string","description":"The analysed expression."},"errors":{"type":"array","description":"A list of validation errors. Not included if the expression is valid.","items":{"$ref":"#/components/schemas/JiraExpressionValidationError"}},"valid":{"type":"boolean","description":"Whether the expression is valid and the interpreter will evaluate it. Note that the expression may fail at runtime (for example, if it executes too many expensive operations)."},"type":{"type":"string","description":"EXPERIMENTAL. The inferred type of the expression."},"complexity":{"$ref":"#/components/schemas/JiraExpressionComplexity"}},"additionalProperties":false,"description":"Details about the analysed Jira expression."},"JiraExpressionComplexity":{"required":["expensiveOperations"],"type":"object","properties":{"expensiveOperations":{"type":"string","description":"Information that can be used to determine how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) the evaluation of the expression will perform. This information may be a formula or number. For example:\n\n * `issues.map(i => i.comments)` performs as many expensive operations as there are issues on the issues list. So this parameter returns `N`, where `N` is the size of issue list.\n * `new Issue(10010).comments` gets comments for one issue, so its complexity is `2` (`1` to retrieve issue 10010 from the database plus `1` to get its comments)."},"variables":{"type":"object","additionalProperties":{"type":"string","description":"Variables used in the formula, mapped to the parts of the expression they refer to."},"description":"Variables used in the formula, mapped to the parts of the expression they refer to."}},"additionalProperties":false,"description":"Details about the complexity of the analysed Jira expression."},"JiraExpressionValidationError":{"required":["message","type"],"type":"object","properties":{"line":{"type":"integer","description":"The text line in which the error occurred.","format":"int32"},"column":{"type":"integer","description":"The text column in which the error occurred.","format":"int32"},"expression":{"type":"string","description":"The part of the expression in which the error occurred."},"message":{"type":"string","description":"Details about the error.","example":"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, new, [ or { expected, > encountered."},"type":{"type":"string","description":"The error type.","enum":["syntax","type","other"]}},"additionalProperties":false,"description":"Details about syntax and type errors. The error details apply to the entire expression, unless the object includes:\n\n * `line` and `column`\n * `expression`"},"JiraExpressionsAnalysis":{"required":["results"],"type":"object","properties":{"results":{"type":"array","description":"The results of Jira expressions analysis.","items":{"$ref":"#/components/schemas/JiraExpressionAnalysis"}}},"additionalProperties":false,"description":"Details about the analysed Jira expression."},"HealthCheckResult":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Jira health check item."},"description":{"type":"string","description":"The description of the Jira health check item."},"passed":{"type":"boolean","description":"Whether the Jira health check item passed or failed."}},"additionalProperties":false,"description":"Jira instance health check results. Deprecated and no longer returned."},"ServerInformation":{"type":"object","properties":{"baseUrl":{"type":"string","description":"The base URL of the Jira instance."},"version":{"type":"string","description":"The version of Jira."},"versionNumbers":{"type":"array","description":"The major, minor, and revision version numbers of the Jira version.","items":{"type":"integer","format":"int32"}},"deploymentType":{"type":"string","description":"The type of server deployment. This is always returned as *Cloud*."},"buildNumber":{"type":"integer","description":"The build number of the Jira version.","format":"int32"},"buildDate":{"type":"string","description":"The timestamp when the Jira version was built.","format":"date-time"},"serverTime":{"type":"string","description":"The time in Jira when this request was responded to.","format":"date-time"},"scmInfo":{"type":"string","description":"The unique identifier of the Jira version."},"serverTitle":{"type":"string","description":"The name of the Jira instance."},"healthChecks":{"type":"array","description":"Jira instance health check results. Deprecated and no longer returned.","items":{"$ref":"#/components/schemas/HealthCheckResult"}}},"additionalProperties":false,"description":"Details about the Jira instance."},"AttachmentMetadata":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the attachment.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the attachment metadata details.","format":"uri","readOnly":true},"filename":{"type":"string","description":"The name of the attachment file.","readOnly":true},"author":{"description":"Details of the user who attached the file.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"created":{"type":"string","description":"The datetime the attachment was created.","format":"date-time","readOnly":true},"size":{"type":"integer","description":"The size of the attachment.","format":"int64","readOnly":true},"mimeType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Additional properties of the attachment.","readOnly":true},"content":{"type":"string","description":"The URL of the attachment.","readOnly":true},"thumbnail":{"type":"string","description":"The URL of a thumbnail representing the attachment.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an issue attachment.","xml":{"name":"attachment"}},"AttachmentSettings":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the ability to add attachments is enabled.","readOnly":true},"uploadLimit":{"type":"integer","description":"The maximum size of attachments permitted, in bytes.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details of the instance's attachment settings."},"AttachmentArchiveEntry":{"type":"object","properties":{"abbreviatedName":{"type":"string"},"entryIndex":{"type":"integer","format":"int64"},"mediaType":{"type":"string"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}},"additionalProperties":false},"AttachmentArchiveImpl":{"type":"object","properties":{"entries":{"type":"array","description":"The list of the items included in the archive.","items":{"$ref":"#/components/schemas/AttachmentArchiveEntry"}},"totalEntryCount":{"type":"integer","description":"The number of items in the archive.","format":"int32"}},"additionalProperties":false},"AttachmentArchiveItemReadable":{"type":"object","properties":{"path":{"type":"string","description":"The path of the archive item.","readOnly":true},"index":{"type":"integer","description":"The position of the item within the archive.","format":"int64","readOnly":true},"size":{"type":"string","description":"The size of the archive item.","readOnly":true},"mediaType":{"type":"string","description":"The MIME type of the archive item.","readOnly":true},"label":{"type":"string","description":"The label for the archive item.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an item in an attachment archive."},"AttachmentArchiveMetadataReadable":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the attachment.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the archive file.","readOnly":true},"entries":{"type":"array","description":"The list of the items included in the archive.","readOnly":true,"items":{"$ref":"#/components/schemas/AttachmentArchiveItemReadable"}},"totalEntryCount":{"type":"integer","description":"The number of items included in the archive.","format":"int64","readOnly":true},"mediaType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an archive (for example a zip) and its contents."},"CustomFieldReplacement":{"type":"object","properties":{"customFieldId":{"type":"integer","description":"The ID of the custom field in which to replace the version number.","format":"int64"},"moveTo":{"type":"integer","description":"The version number to use as a replacement for the deleted version.","format":"int64"}},"additionalProperties":false,"description":"Details about the replacement for a deleted version."},"DeleteAndReplaceVersionBean":{"type":"object","properties":{"moveFixIssuesTo":{"type":"integer","description":"The ID of the version to update `fixVersion` to when the field contains the deleted version.","format":"int64"},"moveAffectedIssuesTo":{"type":"integer","description":"The ID of the version to update `affectedVersion` to when the field contains the deleted version.","format":"int64"},"customFieldReplacementList":{"type":"array","description":"An array of custom field IDs (`customFieldId`) and version IDs (`moveTo`) to update when the fields contain the deleted version.","items":{"$ref":"#/components/schemas/CustomFieldReplacement"}}},"additionalProperties":false},"VersionIssueCounts":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these count details.","format":"uri","readOnly":true},"issuesFixedCount":{"type":"integer","description":"Count of issues where the `fixVersion` is set to the version.","format":"int64","readOnly":true},"issuesAffectedCount":{"type":"integer","description":"Count of issues where the `affectedVersion` is set to the version.","format":"int64","readOnly":true},"issueCountWithCustomFieldsShowingVersion":{"type":"integer","description":"Count of issues where a version custom field is set to the version.","format":"int64","readOnly":true},"customFieldUsage":{"type":"array","description":"List of custom fields using the version.","readOnly":true,"items":{"$ref":"#/components/schemas/VersionUsageInCustomField"}}},"additionalProperties":false,"description":"Various counts of issues within a version.","xml":{"name":"version"}},"VersionUsageInCustomField":{"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the custom field.","readOnly":true},"customFieldId":{"type":"integer","description":"The ID of the custom field.","format":"int64","readOnly":true},"issueCountWithVersionInCustomField":{"type":"integer","description":"Count of the issues where the custom field contains the version.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"List of custom fields using the version."},"VersionUnresolvedIssuesCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these count details.","format":"uri","readOnly":true},"issuesUnresolvedCount":{"type":"integer","description":"Count of unresolved issues.","format":"int64","readOnly":true},"issuesCount":{"type":"integer","description":"Count of issues.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Count of a version's unresolved issues.","xml":{"name":"version"}},"VersionMoveBean":{"type":"object","properties":{"after":{"type":"string","description":"The URL (self link) of the version after which to place the moved version. Cannot be used with `position`.","format":"uri"},"position":{"type":"string","description":"An absolute position in which to place the moved version. Cannot be used with `after`.","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false,"xml":{"name":"version"}},"FoundUsers":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/UserPickerUser"}},"total":{"type":"integer","description":"The total number of users found in the search.","format":"int32"},"header":{"type":"string","description":"Header text indicating the number of users in the response and the total number of users found in the search."}},"additionalProperties":false,"description":"The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users."},"UserPickerUser":{"type":"object","properties":{"accountId":{"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"html":{"type":"string","description":"The display name, email address, and key of the user with the matched query string highlighted with the HTML bold tag."},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may be returned as null."},"avatarUrl":{"type":"string","description":"The avatar URL of the user.","format":"uri"}},"additionalProperties":false,"description":"A user found in a search."},"UserWriteBean":{"required":["displayName","emailAddress"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","readOnly":true},"key":{"type":"string","description":"The key for the user. When provided with `name`, overrides the value in `name` to set both `name` and `key`. This property is deprecated because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"name":{"type":"string","description":"The username for the user. This property is deprecated because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"password":{"type":"string","description":"A password for the user. If a password is not set, a random password is generated."},"emailAddress":{"type":"string","description":"The email address for the user."},"displayName":{"type":"string","description":"The display name for the user."},"notification":{"type":"string","description":"Sends the user an email confirmation that they have been added to Jira. Default is `false`."},"applicationKeys":{"type":"array","description":"Deprecated, do not use.","items":{"type":"string"}}},"additionalProperties":true},"Avatar":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the avatar."},"owner":{"type":"string","description":"The owner of the avatar. For a system avatar the owner is null (and nothing is returned). For non-system avatars this is the appropriate identifier, such as the ID for a project or the account ID for a user.","readOnly":true},"isSystemAvatar":{"type":"boolean","description":"Whether the avatar is a system avatar.","readOnly":true},"isSelected":{"type":"boolean","description":"Whether the avatar is used in Jira. For example, shown as a project's avatar.","readOnly":true},"isDeletable":{"type":"boolean","description":"Whether the avatar can be deleted.","readOnly":true},"fileName":{"type":"string","description":"The file name of the avatar icon. Returned for system avatars.","readOnly":true},"urls":{"type":"object","additionalProperties":{"type":"string","format":"uri","readOnly":true},"description":"The list of avatar icon URLs.","readOnly":true}},"additionalProperties":false,"description":"Details of an avatar."},"Avatars":{"type":"object","properties":{"system":{"type":"array","description":"System avatars list.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}},"custom":{"type":"array","description":"Custom avatars list.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"Details about system and custom avatars."},"ScreenableTab":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen tab.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen tab. The maximum length is 255 characters."}},"additionalProperties":false,"description":"A screen tab."},"PageBeanScreen":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Screen"}}},"additionalProperties":false,"description":"A page of items."},"Screen":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen.","readOnly":true},"description":{"type":"string","description":"The description of the screen.","readOnly":true},"scope":{"description":"The scope of the screen.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"A screen."},"ScreenableField":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the screen tab field.","readOnly":true},"name":{"type":"string","description":"The name of the screen tab field. Required on create and update. The maximum length is 255 characters."}},"additionalProperties":false,"description":"A screen tab field."},"MoveFieldBean":{"type":"object","properties":{"after":{"type":"string","description":"The ID of the screen tab field after which to place the moved screen tab field. Required if `position` isn't provided.","format":"uri"},"position":{"type":"string","description":"The named position to which the screen tab field should be moved. Required if `after` isn't provided.","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false},"AddFieldBean":{"required":["fieldId"],"type":"object","properties":{"fieldId":{"type":"string","description":"The ID of the field to add."}},"additionalProperties":false},"ScreenDetails":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the screen. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a screen."},"UpdateScreenDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the screen. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a screen."},"Resolution":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue resolution.","format":"uri"},"id":{"type":"string","description":"The ID of the issue resolution."},"description":{"type":"string","description":"The description of the issue resolution."},"name":{"type":"string","description":"The name of the issue resolution."}},"additionalProperties":false,"description":"Details of an issue resolution.","xml":{"name":"resolution"}},"ProjectInputBean":{"type":"object","properties":{"key":{"type":"string","description":"Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters. Required when creating a project. Optional when updating a project."},"name":{"type":"string","description":"The name of the project. Required when creating a project. Optional when updating a project."},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which dictates the application-specific feature set. Required when creating a project. Not applicable for the Update project resource.","enum":["software","service_desk","business"]},"projectTemplateKey":{"type":"string","description":"A prebuilt configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`. Required when creating a project. Not applicable for the Update project resource.","enum":["com.pyxis.greenhopper.jira:gh-simplified-agility-kanban","com.pyxis.greenhopper.jira:gh-simplified-agility-scrum","com.pyxis.greenhopper.jira:gh-simplified-basic","com.pyxis.greenhopper.jira:gh-simplified-kanban-classic","com.pyxis.greenhopper.jira:gh-simplified-scrum-classic","com.atlassian.servicedesk:simplified-it-service-desk","com.atlassian.servicedesk:simplified-internal-service-desk","com.atlassian.servicedesk:simplified-external-service-desk","com.atlassian.servicedesk:simplified-hr-service-desk","com.atlassian.servicedesk:simplified-facilities-service-desk","com.atlassian.jira-core-project-templates:jira-core-simplified-content-management","com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval","com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking","com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","com.atlassian.jira-core-project-templates:jira-core-simplified-procurement","com.atlassian.jira-core-project-templates:jira-core-simplified-project-management","com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment","com.atlassian.jira-core-project-templates:jira-core-simplified-task-"]},"description":{"type":"string","description":"A brief description of the project."},"lead":{"type":"string","description":"This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Optional when updating a project. Cannot be provided with `leadAccountId`."},"leadAccountId":{"maxLength":128,"type":"string","description":"The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Optional when updating a project. Cannot be provided with `lead`."},"url":{"type":"string","description":"A link to information about this project, such as project documentation"},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer","description":"An integer value for the project's avatar.","format":"int64"},"issueSecurityScheme":{"type":"integer","description":"The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs.","format":"int64"},"permissionScheme":{"type":"integer","description":"The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.","format":"int64"},"notificationScheme":{"type":"integer","description":"The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.","format":"int64"},"categoryId":{"type":"integer","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.","format":"int64"}},"additionalProperties":false},"ProjectIdentifiers":{"required":["id","key","self"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the created project.","format":"uri","readOnly":true},"id":{"type":"integer","description":"The ID of the created project.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the created project.","readOnly":true}},"additionalProperties":false,"description":"Identifiers for a project."},"TaskProgressBeanObject":{"required":["elapsedRuntime","id","lastUpdate","progress","self","status","submitted","submittedBy"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the task.","format":"uri"},"id":{"type":"string","description":"The ID of the task."},"description":{"type":"string","description":"The description of the task."},"status":{"type":"string","description":"The status of the task.","enum":["ENQUEUED","RUNNING","COMPLETE","FAILED","CANCEL_REQUESTED","CANCELLED","DEAD"]},"message":{"type":"string","description":"Information about the progress of the task."},"result":{"description":"The result of the task execution."},"submittedBy":{"type":"integer","description":"The ID of the user who submitted the task.","format":"int64"},"progress":{"type":"integer","description":"The progress of the task, as a percentage complete.","format":"int64"},"elapsedRuntime":{"type":"integer","description":"The execution time of the task, in milliseconds.","format":"int64"},"submitted":{"type":"integer","description":"A timestamp recording when the task was submitted.","format":"int64"},"started":{"type":"integer","description":"A timestamp recording when the task was started.","format":"int64"},"finished":{"type":"integer","description":"A timestamp recording when the task was finished.","format":"int64"},"lastUpdate":{"type":"integer","description":"A timestamp recording when the task progress was last updated.","format":"int64"}},"additionalProperties":false,"description":"Details about a task."},"PageBeanVersion":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Version"}}},"additionalProperties":false,"description":"A page of items."},"ComponentWithIssueCount":{"type":"object","properties":{"issueCount":{"type":"integer","description":"Count of issues for the component.","format":"int64","readOnly":true},"description":{"type":"string","description":"The description for the component.","readOnly":true},"self":{"type":"string","description":"The URL for this count of the issues contained in the component.","format":"uri","readOnly":true},"projectId":{"type":"integer","description":"Not used.","format":"int64","readOnly":true},"project":{"type":"string","description":"The key of the project to which the component is assigned.","readOnly":true},"assigneeType":{"type":"string","description":"The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following values:\n\n * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n * `UNASSIGNED` an assignee is not set for issues created with this component.\n * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"lead":{"description":"The user details for the component's lead user.","allOf":[{"$ref":"#/components/schemas/User"}]},"realAssignee":{"description":"The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.","allOf":[{"$ref":"#/components/schemas/User"}]},"isAssigneeTypeValid":{"type":"boolean","description":"Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.","readOnly":true},"assignee":{"description":"The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.","allOf":[{"$ref":"#/components/schemas/User"}]},"realAssigneeType":{"type":"string","description":"The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT` when none of the preceding cases are true.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"name":{"type":"string","description":"The name for the component.","readOnly":true},"id":{"type":"string","description":"The unique identifier for the component.","readOnly":true}},"additionalProperties":false,"description":"Details about a component with a count of the issues it contains."},"PageBeanComponentWithIssueCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ComponentWithIssueCount"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanProject":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Project"}}},"additionalProperties":false,"description":"A page of items."},"ProjectAvatars":{"type":"object","properties":{"system":{"type":"array","description":"List of avatars included with Jira. These avatars cannot be deleted.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}},"custom":{"type":"array","description":"List of avatars added to Jira. These avatars may be deleted.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"List of project avatars."},"IssueTypeWithStatus":{"required":["id","name","self","statuses","subtask"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue type's status details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type represents subtasks.","readOnly":true},"statuses":{"type":"array","description":"List of status details for the issue type.","readOnly":true,"items":{"$ref":"#/components/schemas/StatusDetails"}}},"additionalProperties":false,"description":"Status details for an issue type."},"SecurityLevel":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue level security item.","readOnly":true},"id":{"type":"string","description":"The ID of the issue level security item.","readOnly":true},"description":{"type":"string","description":"The description of the issue level security item.","readOnly":true},"name":{"type":"string","description":"The name of the issue level security item.","readOnly":true}},"additionalProperties":false,"description":"Details of an issue level security item."},"SecurityScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue security scheme.","readOnly":true},"id":{"type":"integer","description":"The ID of the issue security scheme.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the issue security scheme.","readOnly":true},"description":{"type":"string","description":"The description of the issue security scheme.","readOnly":true},"defaultSecurityLevelId":{"type":"integer","description":"The ID of the default security level.","format":"int64","readOnly":true},"levels":{"type":"array","items":{"$ref":"#/components/schemas/SecurityLevel"}}},"additionalProperties":false,"description":"Details about a security scheme."},"Priority":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue priority."},"statusColor":{"type":"string","description":"The color used to indicate the issue priority."},"description":{"type":"string","description":"The description of the issue priority."},"iconUrl":{"type":"string","description":"The URL of the icon for the issue priority."},"name":{"type":"string","description":"The name of the issue priority."},"id":{"type":"string","description":"The ID of the issue priority."}},"additionalProperties":true,"description":"An issue priority."},"Comment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the comment.","readOnly":true},"id":{"type":"string","description":"The ID of the comment.","readOnly":true},"author":{"description":"The ID of the user who created the comment.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"body":{"description":"The comment text in [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/)."},"renderedBody":{"type":"string","description":"The rendered version of the comment.","readOnly":true},"updateAuthor":{"description":"The ID of the user who updated the comment last.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The date and time at which the comment was created.","format":"date-time","readOnly":true},"updated":{"type":"string","description":"The date and time at which the comment was updated last.","format":"date-time","readOnly":true},"visibility":{"description":"The group or role to which this comment is visible. Optional on create and update.","allOf":[{"$ref":"#/components/schemas/Visibility"}]},"jsdPublic":{"type":"boolean","description":"Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post) operation.","readOnly":true},"properties":{"type":"array","description":"A list of comment properties. Optional on create and update.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"A comment."},"Fields":{"type":"object","properties":{"summary":{"type":"string","description":"The summary description of the linked issue.","readOnly":true},"status":{"description":"The status of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusDetails"}]},"priority":{"description":"The priority of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Priority"}]},"assignee":{"description":"The assignee of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"timetracking":{"description":"The time tracking of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/TimeTrackingDetails"}]},"issuetype":{"description":"The type of the linked issue.","$ref":"#/components/schemas/IssueTypeDetails"},"issueType":{"description":"The type of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/IssueTypeDetails"}]}},"additionalProperties":false,"description":"Key fields from the linked issue."},"IssueLinkType":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue link type and is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is the type of issue link. Required on create when `name` isn't provided. Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is read only."},"name":{"type":"string","description":"The name of the issue link type and is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is the type of issue link. Required on create when `id` isn't provided. Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"inward":{"type":"string","description":"The description of the issue link type inward link and is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is read only.\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"outward":{"type":"string","description":"The description of the issue link type outward link and is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is read only.\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"self":{"type":"string","description":"The URL of the issue link type. Read only.","format":"uri","readOnly":true}},"additionalProperties":false,"description":"This object is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-3-issueLinkType-get).\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it defines and reports on issue link types."},"LinkIssueRequestJsonBean":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/IssueLinkType"},"inwardIssue":{"$ref":"#/components/schemas/LinkedIssue"},"outwardIssue":{"$ref":"#/components/schemas/LinkedIssue"},"comment":{"$ref":"#/components/schemas/Comment"}},"additionalProperties":false},"LinkedIssue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of an issue. Required if `key` isn't provided."},"key":{"type":"string","description":"The key of an issue. Required if `id` isn't provided."},"self":{"type":"string","description":"The URL of the issue.","format":"uri","readOnly":true},"fields":{"description":"The fields associated with the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Fields"}]}},"additionalProperties":false,"description":"The ID or key of a linked issue."},"RichText":{"type":"object","properties":{"emptyAdf":{"type":"boolean"},"valueSet":{"type":"boolean"}}},"TimeTrackingDetails":{"type":"object","properties":{"originalEstimate":{"type":"string","description":"The original estimate of time needed for this issue in readable format.","readOnly":true},"remainingEstimate":{"type":"string","description":"The remaining estimate of time needed for this issue in readable format.","readOnly":true},"timeSpent":{"type":"string","description":"Time worked on this issue in readable format.","readOnly":true},"originalEstimateSeconds":{"type":"integer","description":"The original estimate of time needed for this issue in seconds.","format":"int64","readOnly":true},"remainingEstimateSeconds":{"type":"integer","description":"The remaining estimate of time needed for this issue in seconds.","format":"int64","readOnly":true},"timeSpentSeconds":{"type":"integer","description":"Time worked on this issue in seconds.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Time tracking details."},"Visibility":{"type":"object","properties":{"type":{"type":"string","description":"Whether visibility of this item is restricted to a group or role.","enum":["group","role"]},"value":{"type":"string","description":"The name of the group or role to which visibility of this item is restricted."}},"additionalProperties":true,"description":"The group or role to which this item is visible."},"IssueLink":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue link.","readOnly":true},"self":{"type":"string","description":"The URL of the issue link.","format":"uri","readOnly":true},"type":{"description":"The type of link between the issues.","allOf":[{"$ref":"#/components/schemas/IssueLinkType"}]},"inwardIssue":{"description":"The issue the link joins to.","allOf":[{"$ref":"#/components/schemas/LinkedIssue"}]},"outwardIssue":{"description":"The issue the link originates from.","allOf":[{"$ref":"#/components/schemas/LinkedIssue"}]}},"additionalProperties":false,"description":"Details of a link between issues.","xml":{"name":"issueLinks"}},"PageOfWorklogs":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"worklogs":{"type":"array","description":"List of worklogs.","readOnly":true,"items":{"$ref":"#/components/schemas/Worklog"}}},"additionalProperties":true,"description":"Paginated list of worklog details"},"Worklog":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the worklog item.","format":"uri","readOnly":true},"author":{"description":"Details of the user who created the worklog.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"updateAuthor":{"description":"Details of the user who last updated the worklog.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"comment":{"description":"A comment about the worklog in [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/). Optional when creating or updating a worklog."},"created":{"type":"string","description":"The datetime on which the worklog was created.","format":"date-time","readOnly":true},"updated":{"type":"string","description":"The datetime on which the worklog was last updated.","format":"date-time","readOnly":true},"visibility":{"description":"Details about any restrictions in the visibility of the worklog. Optional when creating or updating a worklog.","allOf":[{"$ref":"#/components/schemas/Visibility"}]},"started":{"type":"string","description":"The datetime on which the worklog effort was started. Required when creating a worklog. Optional when updating a worklog.","format":"date-time"},"timeSpent":{"type":"string","description":"The time spent working on the issue as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). Required when creating a worklog if `timeSpentSeconds` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpentSecond` is provided."},"timeSpentSeconds":{"type":"integer","description":"The time in seconds spent working on the issue. Required when creating a worklog if `timeSpent` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpent` is provided.","format":"int64"},"id":{"type":"string","description":"The ID of the worklog record.","readOnly":true},"issueId":{"type":"string","description":"The ID of the issue this worklog is for.","readOnly":true},"properties":{"type":"array","description":"Details of properties for the worklog. Optional when creating or updating a worklog.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"Details of a worklog.","xml":{"name":"worklog"}},"IssueTypeCreateBean":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The unique name for the issue type. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the issue type."},"type":{"type":"string","description":"Whether the issue type is `subtype` or `standard`. Defaults to `standard`.","enum":["subtask","standard"]}},"additionalProperties":false},"IssueTypeUpdateBean":{"type":"object","properties":{"name":{"type":"string","description":"The unique name for the issue type. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the issue type."},"avatarId":{"type":"integer","description":"The ID of an issue type avatar.","format":"int64"}},"additionalProperties":false},"SecuritySchemes":{"type":"object","properties":{"issueSecuritySchemes":{"type":"array","description":"List of security schemes.","readOnly":true,"items":{"$ref":"#/components/schemas/SecurityScheme"}}},"additionalProperties":false,"description":"List of security schemes."},"IssueSecurityLevelMember":{"required":["id","issueSecurityLevelId"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue security level member.","format":"int64"},"issueSecurityLevelId":{"type":"integer","description":"The ID of the issue security level.","format":"int64"},"holder":{"description":"The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](#holder-object) in *Get all permission schemes* for more information.","allOf":[{"$ref":"#/components/schemas/PermissionHolder"}]}},"additionalProperties":false,"description":"Issue security level member."},"PageBeanIssueSecurityLevelMember":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueSecurityLevelMember"}}},"additionalProperties":false,"description":"A page of items."},"Transitions":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional transitions details in the response.","readOnly":true,"xml":{"attribute":true}},"transitions":{"type":"array","description":"List of issue transitions.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTransition"}}},"additionalProperties":false,"description":"List of issue transitions."},"IssuePickerSuggestions":{"type":"object","properties":{"sections":{"type":"array","description":"A list of issues for an issue type suggested for use in auto-completion.","readOnly":true,"items":{"$ref":"#/components/schemas/IssuePickerSuggestionsIssueType"}}},"additionalProperties":false,"description":"A list of issues suggested for use in auto-completion."},"IssuePickerSuggestionsIssueType":{"type":"object","properties":{"label":{"type":"string","description":"The label of the type of issues suggested for use in auto-completion.","readOnly":true},"sub":{"type":"string","description":"If issue suggestions are found, returns a message indicating the number of issues suggestions found and returned.","readOnly":true},"id":{"type":"string","description":"The ID of the type of issues suggested for use in auto-completion.","readOnly":true},"msg":{"type":"string","description":"If no issue suggestions are found, returns a message indicating no suggestions were found,","readOnly":true},"issues":{"type":"array","description":"A list of issues suggested for use in auto-completion.","readOnly":true,"items":{"$ref":"#/components/schemas/SuggestedIssue"}}},"additionalProperties":false,"description":"A type of issue suggested for use in auto-completion."},"SuggestedIssue":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the issue.","readOnly":true},"keyHtml":{"type":"string","description":"The key of the issue in HTML format.","readOnly":true},"img":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"summary":{"type":"string","description":"The phrase containing the query string in HTML format, with the string highlighted with HTML bold tags.","readOnly":true},"summaryText":{"type":"string","description":"The phrase containing the query string, as plain text.","readOnly":true}},"additionalProperties":false,"description":"An issue suggested for use in the issue picker auto-completion."},"FieldUpdateOperation":{"type":"object","properties":{"add":{"description":"A map containing the name of a field and the value to add to it.","example":{"labels":"Training","issuelinks":{"id":10001}}},"set":{"description":"A map containing the name of a field and the value to set in it.","example":{"summary":"A new summary","issuetype":{"id":10010}}},"remove":{"description":"A map containing the name of a field and the value to removed from it.","example":{"labels":"Training","components":{"id":10017}}},"edit":{"description":"A map containing the name of a field and the value to edit in it.","example":{"timetracking":{"key":"JIRA"}}}},"additionalProperties":false,"description":"Details of an operation to perform on a field."},"IssueUpdateDetails":{"type":"object","properties":{"transition":{"description":"Details of a transition. Required when performing a transition, optional when creating or editing an issue.","allOf":[{"$ref":"#/components/schemas/IssueTransition"}]},"fields":{"type":"object","additionalProperties":{},"description":"List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are required, use `update`. Fields included in here cannot be included in `update`."},"update":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FieldUpdateOperation"}},"description":"List of operations to perform on issue screen fields. Note that fields included in here cannot be included in `fields`."},"historyMetadata":{"description":"Additional issue history details.","allOf":[{"$ref":"#/components/schemas/HistoryMetadata"}]},"properties":{"type":"array","description":"Details of issue properties to be add or update.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"Details of an issue update request."},"Votes":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue vote details.","format":"uri","readOnly":true},"votes":{"type":"integer","description":"The number of votes on the issue.","format":"int64","readOnly":true},"hasVoted":{"type":"boolean","description":"Whether the user making this request has voted on the issue.","readOnly":true},"voters":{"type":"array","description":"List of the users who have voted on this issue. An empty list is returned when the calling user doesn't have the *View voters and watchers* project permission.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}}},"additionalProperties":false,"description":"The details of votes on an issue."},"Watchers":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue watcher details.","readOnly":true},"isWatching":{"type":"boolean","description":"Whether the calling user is watching this issue.","readOnly":true},"watchCount":{"type":"integer","description":"The number of users watching this issue.","format":"int32","readOnly":true},"watchers":{"type":"array","description":"Details of the users watching this issue.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}}},"additionalProperties":false,"description":"The details of watchers on an issue.","xml":{"name":"watchers"}},"CreatedIssue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the created issue or subtask.","readOnly":true},"key":{"type":"string","description":"The key of the created issue or subtask.","readOnly":true},"self":{"type":"string","description":"The URL of the created issue or subtask.","readOnly":true},"transition":{"description":"The response code and messages related to any requested transition.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/NestedResponse"}]}},"additionalProperties":false,"description":"Details about a created issue or subtask."},"NestedResponse":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"errorCollection":{"$ref":"#/components/schemas/ErrorCollection"}},"additionalProperties":false},"IssuesUpdateBean":{"type":"object","properties":{"issueUpdates":{"type":"array","items":{"$ref":"#/components/schemas/IssueUpdateDetails"}}},"additionalProperties":true},"BulkOperationErrorResult":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"elementErrors":{"$ref":"#/components/schemas/ErrorCollection"},"failedElementNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"CreatedIssues":{"type":"object","properties":{"issues":{"type":"array","description":"Details of the issues created.","readOnly":true,"items":{"$ref":"#/components/schemas/CreatedIssue"}},"errors":{"type":"array","description":"Error details for failed issue creation requests.","readOnly":true,"items":{"$ref":"#/components/schemas/BulkOperationErrorResult"}}},"additionalProperties":false,"description":"Details about the issues created and the errors for requests that failed."},"IssueCreateMetadata":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project details in the response.","readOnly":true,"xml":{"attribute":true}},"projects":{"type":"array","description":"List of projects and their issue creation metadata.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueCreateMetadata"}}},"additionalProperties":false,"description":"The wrapper for the issue creation metadata for a list of projects."},"IssueTypeIssueCreateMetadata":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue type details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"description":{"type":"string","description":"The description of the issue type.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type is used to create subtasks.","readOnly":true},"avatarId":{"type":"integer","description":"The ID of the issue type's avatar.","format":"int64","readOnly":true},"entityId":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"scope":{"description":"Details of the next-gen projects the issue type is available in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"expand":{"type":"string","description":"Expand options that include additional issue type metadata details in the response.","readOnly":true,"xml":{"attribute":true}},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"List of the fields available when creating an issue for the issue type.","readOnly":true}},"additionalProperties":false,"description":"Details of the issue creation metadata for an issue type."},"ProjectIssueCreateMetadata":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project issue create metadata details in the response.","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the project.","readOnly":true},"id":{"type":"string","description":"The ID of the project.","readOnly":true},"key":{"type":"string","description":"The key of the project.","readOnly":true},"name":{"type":"string","description":"The name of the project.","readOnly":true},"avatarUrls":{"description":"List of the project's avatars, returning the avatar size and associated URL.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"issuetypes":{"type":"array","description":"List of the issue types supported by the project.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeIssueCreateMetadata"}}},"additionalProperties":false,"description":"Details of the issue creation metadata for a project."},"Application":{"type":"object","properties":{"type":{"type":"string","description":"The name-spaced type of the application, used by registered rendering apps."},"name":{"type":"string","description":"The name of the application. Used in conjunction with the (remote) object icon title to display a tooltip for the link's icon. The tooltip takes the format \"\\[application name\\] icon title\". Blank items are excluded from the tooltip title. If both items are blank, the icon tooltop displays as \"Web Link\". Grouping and sorting of links may place links without an application name last."}},"additionalProperties":true,"description":"The application the linked item is in."},"IconBean":{"type":"object","properties":{"url16x16":{"type":"string","description":"The URL of a 16x16 pixel icon."},"title":{"type":"string","description":"The title of the icon, for use as a tooltip on the icon."},"link":{"type":"string","description":"The URL of the tooltip, used only for a status icon."}},"additionalProperties":false,"description":"An icon.","xml":{"name":"icon"}},"RemoteIssueLink":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the link.","format":"int64"},"self":{"type":"string","description":"The URL of the link.","format":"uri"},"globalId":{"type":"string","description":"The global ID of the link, such as the ID of the item on the remote system."},"application":{"description":"Details of the remote application the linked item is in.","allOf":[{"$ref":"#/components/schemas/Application"}]},"relationship":{"type":"string","description":"Description of the relationship between the issue and the linked item."},"object":{"description":"Details of the item linked to.","allOf":[{"$ref":"#/components/schemas/RemoteObject"}]}},"additionalProperties":false,"description":"Details of an issue remote link."},"RemoteObject":{"required":["title","url"],"type":"object","properties":{"url":{"type":"string","description":"The URL of the item."},"title":{"type":"string","description":"The title of the item."},"summary":{"type":"string","description":"The summary details of the item."},"icon":{"description":"Details of the icon for the item. If no icon is defined, the default link icon is used in Jira.","allOf":[{"$ref":"#/components/schemas/Icon"}]},"status":{"description":"The status of the item.","allOf":[{"$ref":"#/components/schemas/Status"}]}},"additionalProperties":true,"description":"The linked item."},"Status":{"type":"object","properties":{"resolved":{"type":"boolean","description":"Whether the item is resolved. If set to \"true\", the link to the issue is displayed in a strikethrough font, otherwise the link displays in normal font."},"icon":{"description":"Details of the icon representing the status. If not provided, no status icon displays in Jira.","allOf":[{"$ref":"#/components/schemas/Icon"}]}},"additionalProperties":true,"description":"The status of the item."},"Icon":{"type":"object","properties":{"url16x16":{"type":"string","description":"The URL of an icon that displays at 16x16 pixel in Jira."},"title":{"type":"string","description":"The title of the icon. This is used as follows:\n\n * For a status icon it is used as a tooltip on the icon. If not set, the status icon doesn't display a tooltip in Jira.\n * For the remote object icon it is used in conjunction with the application name to display a tooltip for the link's icon. The tooltip takes the format \"\\[application name\\] icon title\". Blank itemsare excluded from the tooltip title. If both items are blank, the icon tooltop displays as \"Web Link\"."},"link":{"type":"string","description":"The URL of the tooltip, used only for a status icon. If not set, the status icon in Jira is not clickable."}},"additionalProperties":true,"description":"An icon. If no icon is defined:\n\n * for a status icon, no status icon displays in Jira.\n * for the remote object icon, the default link icon displays in Jira."},"RemoteIssueLinkRequest":{"type":"object","properties":{"globalId":{"type":"string","description":"An identifier for the remote item in the remote system. For example, the global ID for a remote item in Confluence would consist of the app ID and page ID, like this: `appId=456&pageId=123`.\n\nSetting this field enables the remote issue link details to be updated or deleted using remote system and item details as the record identifier, rather than using the record's Jira ID.\n\nThe maximum length is 255 characters."},"application":{"description":"Details of the remote application the linked item is in. For example, trello.","allOf":[{"$ref":"#/components/schemas/Application"}]},"relationship":{"type":"string","description":"Description of the relationship between the issue and the linked item. If not set, the relationship description \"links to\" is used in Jira."},"object":{"description":"Details of the item linked to.","allOf":[{"$ref":"#/components/schemas/RemoteObject"}]}},"additionalProperties":true,"description":"Details of a remote issue link."},"RemoteIssueLinkIdentifies":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the remote issue link, such as the ID of the item on the remote system.","format":"int64","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the remote issue link.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false,"description":"Details of the identifiers for a created or updated remote issue link."},"Notification":{"type":"object","properties":{"subject":{"type":"string","description":"The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary."},"textBody":{"type":"string","description":"The plain text body of the email notification for the issue."},"htmlBody":{"type":"string","description":"The HTML body of the email notification for the issue."},"to":{"description":"The recipients of the email notification for the issue.","allOf":[{"$ref":"#/components/schemas/NotificationRecipients"}]},"restrict":{"description":"Restricts the notifications to users with the specified permissions.","allOf":[{"$ref":"#/components/schemas/NotificationRecipientsRestrictions"}]}},"additionalProperties":true,"description":"Details about a notification."},"NotificationRecipients":{"type":"object","properties":{"reporter":{"type":"boolean","description":"Whether the notification should be sent to the issue's reporter."},"assignee":{"type":"boolean","description":"Whether the notification should be sent to the issue's assignees."},"watchers":{"type":"boolean","description":"Whether the notification should be sent to the issue's watchers."},"voters":{"type":"boolean","description":"Whether the notification should be sent to the issue's voters."},"users":{"type":"array","description":"List of users to receive the notification.","items":{"$ref":"#/components/schemas/UserDetails"}},"groups":{"type":"array","description":"List of groups to receive the notification.","items":{"$ref":"#/components/schemas/GroupName"}}},"additionalProperties":true,"description":"Details of the users and groups to receive the notification."},"NotificationRecipientsRestrictions":{"type":"object","properties":{"groups":{"type":"array","description":"List of group memberships required to receive the notification.","items":{"$ref":"#/components/schemas/GroupName"}},"permissions":{"type":"array","description":"List of permissions required to receive the notification.","items":{"$ref":"#/components/schemas/RestrictedPermission"}}},"additionalProperties":false,"description":"Details of the group membership or permissions needed to receive the notification."},"RestrictedPermission":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions."},"key":{"type":"string","description":"The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions."}},"additionalProperties":true,"description":"Details of the permission."},"IssueLinkTypes":{"type":"object","properties":{"issueLinkTypes":{"type":"array","description":"The issue link type bean.","readOnly":true,"xml":{"name":"issueLinkTypes"},"items":{"$ref":"#/components/schemas/IssueLinkType"}}},"additionalProperties":false,"description":"A list of issue link type beans.","xml":{"name":"issueLinkTypes"}},"PageOfComments":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"comments":{"type":"array","description":"The list of comments.","readOnly":true,"items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":true,"description":"A page of comments."},"IssueCommentListRequestBean":{"required":["ids"],"type":"object","properties":{"ids":{"uniqueItems":true,"type":"array","description":"The list of comment IDs. A maximum of 1000 IDs can be specified.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false},"PageBeanComment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanChangelog":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Changelog"}}},"additionalProperties":false,"description":"A page of items."},"Attachment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the attachment details response.","readOnly":true},"id":{"type":"string","description":"The ID of the attachment.","readOnly":true},"filename":{"type":"string","description":"The file name of the attachment.","readOnly":true},"author":{"description":"Details of the user who added the attachment.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The datetime the attachment was created.","format":"date-time","readOnly":true},"size":{"type":"integer","description":"The size of the attachment.","format":"int64","readOnly":true},"mimeType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true},"content":{"type":"string","description":"The content of the attachment.","readOnly":true},"thumbnail":{"type":"string","description":"The URL of a thumbnail representing the attachment.","readOnly":true}},"additionalProperties":true,"description":"Details about an attachment."},"Group":{"type":"object","properties":{"name":{"type":"string","description":"The name of group."},"self":{"type":"string","description":"The URL for these group details.","format":"uri","readOnly":true},"users":{"description":"A paginated list of the users that are members of the group. A maximum of 50 users is returned in the list, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 50 users, use`?expand=users[51:100]`.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/PagedListUserDetailsApplicationUser"}]},"expand":{"type":"string","description":"Expand options that include additional group details in the response.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false},"PagedListUserDetailsApplicationUser":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40."},"PageBeanUserDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}}},"additionalProperties":false,"description":"A page of items."},"AddGroupBean":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the group."}},"additionalProperties":true},"UpdateUserToGroupBean":{"type":"object","properties":{"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."}},"additionalProperties":true},"FoundGroup":{"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"html":{"type":"string","description":"The group name with the matched query string highlighted with the HTML bold tag."},"labels":{"type":"array","items":{"$ref":"#/components/schemas/GroupLabel"}},"groupId":{"type":"string","description":"The ID of the group, if available, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*."}},"additionalProperties":false,"description":"A group found in a search.","xml":{"name":"group"}},"FoundGroups":{"type":"object","properties":{"header":{"type":"string","description":"Header text indicating the number of groups in the response and the total number of groups found in the search."},"total":{"type":"integer","description":"The total number of groups found in the search.","format":"int32"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/FoundGroup"}}},"additionalProperties":false,"description":"The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.","xml":{"name":"groupsuggestions"}},"GroupLabel":{"type":"object","properties":{"text":{"type":"string","description":"The group label name."},"title":{"type":"string","description":"The title of the group label."},"type":{"type":"string","description":"The type of the group label.","enum":["ADMIN","SINGLE","MULTIPLE"]}},"additionalProperties":false,"description":"A group label.","xml":{"name":"grouplabel"}},"GroupDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"groupId":{"type":"string","description":"The ID of the group, if available, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*."}},"additionalProperties":false,"description":"Details about a group.","xml":{"name":"group"}},"PageBeanGroupDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/GroupDetails"}}},"additionalProperties":false,"description":"A page of items."},"FoundUsersAndGroups":{"type":"object","properties":{"users":{"$ref":"#/components/schemas/FoundUsers"},"groups":{"$ref":"#/components/schemas/FoundGroups"}},"additionalProperties":false,"description":"List of users and groups found in a search."},"FieldDetails":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the field."},"key":{"type":"string","description":"The key of the field."},"name":{"type":"string","description":"The name of the field."},"custom":{"type":"boolean","description":"Whether the field is a custom field."},"orderable":{"type":"boolean","description":"Whether the content of the field can be used to order lists."},"navigable":{"type":"boolean","description":"Whether the field can be used as a column on the issue navigator."},"searchable":{"type":"boolean","description":"Whether the content of the field can be searched."},"clauseNames":{"uniqueItems":true,"type":"array","description":"The names that can be used to reference the field in an advanced search. For more information, see [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ).","items":{"type":"string"}},"scope":{"description":"The scope of the field.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"schema":{"description":"The data schema for the field.","allOf":[{"$ref":"#/components/schemas/JsonTypeBean"}]}},"additionalProperties":false,"description":"Details about a field.","xml":{"name":"field"}},"CustomFieldDefinitionJsonBean":{"required":["name","searcherKey","type"],"type":"object","properties":{"name":{"type":"string","description":"The name of the custom field, which is displayed in Jira. This is not the unique identifier."},"description":{"type":"string","description":"The description of the custom field, which is displayed in Jira."},"type":{"type":"string","description":"The type of the custom field. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppicker*.\n\n * `cascadingselect`: Allows multiple values to be selected using two select lists\n * `datepicker`: Stores a date using a picker control\n * `datetime`: Stores a date with a time component\n * `float`: Stores and validates a numeric (floating point) input\n * `grouppicker`: Stores a user group using a picker control\n * `importid`: A read-only field that stores the previous ID of the issue from the system that it was imported from\n * `labels`: Stores labels\n * `multicheckboxes`: Stores multiple values using checkboxes\n * `multigrouppicker`: Stores multiple user groups using a picker control\n * `multiselect`: Stores multiple values using a select list\n * `multiuserpicker`: Stores multiple users using a picker control\n * `multiversion`: Stores multiple versions from the versions available in a project using a picker control\n * `project`: Stores a project from a list of projects that the user is permitted to view\n * `radiobuttons`: Stores a value using radio buttons\n * `readonlyfield`: Stores a read-only text value, which can only be populated via the API\n * `select`: Stores a value from a configurable list of options\n * `textarea`: Stores a long text string using a multiline text area\n * `textfield`: Stores a text string using a single-line text box\n * `url`: Stores a URL\n * `userpicker`: Stores a user using a picker control\n * `version`: Stores a version using a picker control","enum":["com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect","com.atlassian.jira.plugin.system.customfieldtypes:datepicker","com.atlassian.jira.plugin.system.customfieldtypes:datetime","com.atlassian.jira.plugin.system.customfieldtypes:float","com.atlassian.jira.plugin.system.customfieldtypes:grouppicker","com.atlassian.jira.plugin.system.customfieldtypes:importid","com.atlassian.jira.plugin.system.customfieldtypes:labels","com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes","com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker","com.atlassian.jira.plugin.system.customfieldtypes:multiselect","com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker","com.atlassian.jira.plugin.system.customfieldtypes:multiversion","com.atlassian.jira.plugin.system.customfieldtypes:project","com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons","com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield","com.atlassian.jira.plugin.system.customfieldtypes:select","com.atlassian.jira.plugin.system.customfieldtypes:textarea","com.atlassian.jira.plugin.system.customfieldtypes:textfield","com.atlassian.jira.plugin.system.customfieldtypes:url","com.atlassian.jira.plugin.system.customfieldtypes:userpicker","com.atlassian.jira.plugin.system.customfieldtypes:version"]},"searcherKey":{"type":"string","description":"The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. \nThe search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown):\n\n * `cascadingselect`: `cascadingselectsearcher`\n * `datepicker`: `daterange`\n * `datetime`: `datetimerange`\n * `float`: `exactnumber` or `numberrange`\n * `grouppicker`: `grouppickersearcher`\n * `importid`: `exactnumber` or `numberrange`\n * `labels`: `labelsearcher`\n * `multicheckboxes`: `multiselectsearcher`\n * `multigrouppicker`: `multiselectsearcher`\n * `multiselect`: `multiselectsearcher`\n * `multiuserpicker`: `userpickergroupsearcher`\n * `multiversion`: `versionsearcher`\n * `project`: `projectsearcher`\n * `radiobuttons`: `multiselectsearcher`\n * `readonlyfield`: `textsearcher`\n * `select`: `multiselectsearcher`\n * `textarea`: `textsearcher`\n * `textfield`: `textsearcher`\n * `url`: `exacttextsearcher`\n * `userpicker`: `userpickergroupsearcher`\n * `version`: `versionsearcher`","enum":["com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:daterange","com.atlassian.jira.plugin.system.customfieldtypes:datetimerange","com.atlassian.jira.plugin.system.customfieldtypes:exactnumber","com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher","com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher","com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:numberrange","com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:textsearcher","com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher","com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher"]}},"additionalProperties":false},"Context":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the context.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the context.","readOnly":true},"scope":{"description":"The scope of the context.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"A context."},"PageBeanContext":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Context"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContextOption":{"required":["disabled","id","value"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the custom field option."},"value":{"type":"string","description":"The value of the custom field option."},"optionId":{"type":"string","description":"For cascading options, the ID of the custom field option containing the cascading option."},"disabled":{"type":"boolean","description":"Whether the option is disabled."}},"additionalProperties":false,"description":"Details of the custom field options for a context."},"PageBeanCustomFieldContextOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContextOption"}}},"additionalProperties":false,"description":"A page of items."},"OrderOfCustomFieldOptions":{"required":["customFieldOptionIds"],"type":"object","properties":{"customFieldOptionIds":{"type":"array","description":"A list of IDs of custom field options to move. The order of the custom field option IDs in the list is the order they are given after the move. The list must contain custom field options or cascading options, but not both.","writeOnly":true,"items":{"type":"string","writeOnly":true}},"after":{"type":"string","description":"The ID of the custom field option or cascading option to place the moved options after. Required if `position` isn't provided.","writeOnly":true},"position":{"type":"string","description":"The position the custom field options should be moved to. Required if `after` isn't provided.","writeOnly":true,"enum":["First","Last"]}},"additionalProperties":false,"description":"An ordered list of custom field option IDs and information on where to move them."},"ComponentIssuesCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL for this count of issues for a component.","format":"uri","readOnly":true},"issueCount":{"type":"integer","description":"The count of issues assigned to a component.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Count of issues assigned to a component.","xml":{"name":"component"}},"BulkCreateCustomFieldOptionRequest":{"type":"object","properties":{"options":{"type":"array","description":"Details of options to create.","items":{"$ref":"#/components/schemas/CustomFieldOptionValue"}}},"additionalProperties":false,"description":"Details of options to create for a custom field.","writeOnly":true},"CustomFieldOptionValue":{"required":["value"],"type":"object","properties":{"value":{"maxLength":255,"type":"string","description":"The value of the custom field option."},"cascadingOptions":{"type":"array","description":"The cascading options.","items":{"type":"string"}}},"additionalProperties":false,"description":"Value of a custom field option and the values of its cascading options.","writeOnly":true},"RenamedCascadingOption":{"required":["newValue","value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the cascading option."},"newValue":{"maxLength":255,"type":"string","description":"The new value of the cascading option."}},"additionalProperties":false,"description":"Details of a custom field cascading option to rename.","writeOnly":true},"RenamedOption":{"required":["newValue","value"],"type":"object","properties":{"value":{"type":"string","description":"The current option value."},"newValue":{"maxLength":255,"type":"string","description":"The new value of the option."},"cascadingOptions":{"type":"array","description":"The new values for the cascading options of this option. Only used for Select List (cascading) fields.","items":{"$ref":"#/components/schemas/RenamedCascadingOption"}}},"additionalProperties":false,"description":"Details of a custom field option to rename.","writeOnly":true},"UpdateCustomFieldOption":{"type":"object","properties":{"options":{"type":"array","description":"Details of the options to update.","items":{"$ref":"#/components/schemas/RenamedOption"}}},"additionalProperties":false,"description":"Details of the options to update for a custom field.","writeOnly":true},"CustomFieldOptionDetails":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the custom field option.","format":"int64","readOnly":true},"value":{"type":"string","description":"The value of the custom field option.","readOnly":true},"cascadingOptions":{"type":"array","description":"The cascading options.","readOnly":true,"items":{"type":"string","readOnly":true}}},"additionalProperties":false,"description":"Details of a custom field option and its cascading options."},"PageBeanCustomFieldOptionDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldOptionDetails"}}},"additionalProperties":false,"description":"A page of items."},"SystemAvatars":{"type":"object","properties":{"system":{"type":"array","description":"A list of avatar details.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"List of system avatars."},"CreateUpdateRoleRequestBean":{"type":"object","properties":{"name":{"type":"string","description":"The name of the project role. Must be unique. Cannot begin or end with whitespace. The maximum length is 255 characters. Required when creating a project role. Optional when partially updating a project role."},"description":{"type":"string","description":"A description of the project role. Required when fully updating a project role. Optional when creating or partially updating a project role."}},"additionalProperties":false},"ActorInputBean":{"type":"object","properties":{"user":{"type":"array","description":"The account IDs of the users to add as default actors. This parameter accepts a comma-separated list. For example, `\"user\":[\"5b10a2844c20165700ede21g\", \"5b109f2e9729b51b54dc274d\"]`.","items":{"type":"string"}},"group":{"type":"array","description":"The name of the group to add as a default actor. This parameter accepts a comma-separated list. For example, `\"group\":[\"project-admin\", \"jira-developers\"]`.","items":{"type":"string"}}},"additionalProperties":false},"ProjectRoleActorsUpdateBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","format":"int64","readOnly":true},"categorisedActors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"The actors to add to the project role. Add groups using `atlassian-group-role-actor` and a list of group names. For example, `\"atlassian-group-role-actor\":[\"another\",\"administrators\"]}`. Add users using `atlassian-user-role-actor` and a list of account IDs. For example, `\"atlassian-user-role-actor\":[\"12345678-9abc-def1-2345-6789abcdef12\", \"abcdef12-3456-789a-bcde-f123456789ab\"]`."}},"additionalProperties":false,"xml":{"name":"actor"}},"ActorsMap":{"type":"object","properties":{"user":{"type":"array","description":"The user account ID of the user to add.","items":{"type":"string"}},"group":{"type":"array","description":"The name of the group to add.","items":{"type":"string"}}},"additionalProperties":false},"GlobalScopeBean":{"type":"object","properties":{"attributes":{"uniqueItems":true,"type":"array","description":"Defines the behavior of the option in the global context.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false},"IssueFieldOption":{"required":["id","value"],"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier for the option. This is only unique within the select field's set of options.","format":"int64"},"value":{"type":"string","description":"The option's name, which is displayed in Jira."},"properties":{"type":"object","additionalProperties":{},"description":"The properties of the object, as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see [Issue Field Option Property Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)) are defined in the descriptor for the issue field module."},"config":{"$ref":"#/components/schemas/IssueFieldOptionConfiguration"}},"additionalProperties":false,"description":"Details of the options for a select list issue field."},"IssueFieldOptionConfiguration":{"type":"object","properties":{"scope":{"description":"Defines the projects that the option is available in. If the scope is not defined, then the option is available in all projects.","allOf":[{"$ref":"#/components/schemas/IssueFieldOptionScopeBean"}]},"attributes":{"uniqueItems":true,"type":"array","description":"DEPRECATED","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false,"description":"Details of the projects the option is available in."},"IssueFieldOptionScopeBean":{"type":"object","properties":{"projects":{"uniqueItems":true,"type":"array","description":"DEPRECATED","items":{"type":"integer","format":"int64"}},"projects2":{"uniqueItems":true,"type":"array","description":"Defines the projects in which the option is available and the behavior of the option within each project. Specify one object per project. The behavior of the option in a project context overrides the behavior in the global context.","items":{"$ref":"#/components/schemas/ProjectScopeBean"}},"global":{"description":"Defines the behavior of the option within the global context. If this property is set, even if set to an empty object, then the option is available in all projects.","allOf":[{"$ref":"#/components/schemas/GlobalScopeBean"}]}},"additionalProperties":false},"PageBeanIssueFieldOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueFieldOption"}}},"additionalProperties":false,"description":"A page of items."},"ProjectScopeBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project that the option's behavior applies to.","format":"int64"},"attributes":{"uniqueItems":true,"type":"array","description":"Defines the behavior of the option in the project.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false},"IssueFieldOptionCreateBean":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The option's name, which is displayed in Jira."},"properties":{"type":"object","additionalProperties":{},"description":"The properties of the option as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/) are defined in the descriptor for the issue field module."},"config":{"$ref":"#/components/schemas/IssueFieldOptionConfiguration"}},"additionalProperties":true},"RemoveOptionFromIssuesResult":{"type":"object","properties":{"modifiedIssues":{"type":"array","description":"The IDs of the modified issues.","items":{"type":"integer","format":"int64"}},"unmodifiedIssues":{"type":"array","description":"The IDs of the unchanged issues, those issues where errors prevent modification.","items":{"type":"integer","format":"int64"}},"errors":{"description":"A collection of errors related to unchanged issues. The collection size is limited, which means not all errors may be returned.","allOf":[{"$ref":"#/components/schemas/SimpleErrorCollection"}]}},"additionalProperties":false},"SimpleErrorCollection":{"type":"object","properties":{"errors":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of errors by parameter returned by the operation. For example,\"projectKey\": \"Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.\""},"errorMessages":{"type":"array","description":"The list of error messages produced by this operation. For example, \"input parameter 'key' must be provided\"","items":{"type":"string"}},"httpStatusCode":{"type":"integer","format":"int32"}},"additionalProperties":false},"TaskProgressBeanRemoveOptionFromIssuesResult":{"required":["elapsedRuntime","id","lastUpdate","progress","self","status","submitted","submittedBy"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the task.","format":"uri"},"id":{"type":"string","description":"The ID of the task."},"description":{"type":"string","description":"The description of the task."},"status":{"type":"string","description":"The status of the task.","enum":["ENQUEUED","RUNNING","COMPLETE","FAILED","CANCEL_REQUESTED","CANCELLED","DEAD"]},"message":{"type":"string","description":"Information about the progress of the task."},"result":{"description":"The result of the task execution.","allOf":[{"$ref":"#/components/schemas/RemoveOptionFromIssuesResult"}]},"submittedBy":{"type":"integer","description":"The ID of the user who submitted the task.","format":"int64"},"progress":{"type":"integer","description":"The progress of the task, as a percentage complete.","format":"int64"},"elapsedRuntime":{"type":"integer","description":"The execution time of the task, in milliseconds.","format":"int64"},"submitted":{"type":"integer","description":"A timestamp recording when the task was submitted.","format":"int64"},"started":{"type":"integer","description":"A timestamp recording when the task was started.","format":"int64"},"finished":{"type":"integer","description":"A timestamp recording when the task was finished.","format":"int64"},"lastUpdate":{"type":"integer","description":"A timestamp recording when the task progress was last updated.","format":"int64"}},"additionalProperties":false,"description":"Details about a task."},"Field":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field."},"name":{"type":"string","description":"The name of the field."},"schema":{"$ref":"#/components/schemas/JsonTypeBean"},"description":{"type":"string","description":"The description of the field."},"key":{"type":"string","description":"The key of the field."},"isLocked":{"type":"boolean","description":"Whether the field is locked."},"screensCount":{"type":"integer","description":"Number of screens where the field is used.","format":"int64"},"contextsCount":{"type":"integer","description":"Number of contexts where the field is used.","format":"int64"},"lastUsed":{"$ref":"#/components/schemas/FieldLastUsed"}},"additionalProperties":false,"description":"Details of a field."},"FieldLastUsed":{"type":"object","properties":{"type":{"type":"string","description":"Last used value type:\n\n * *TRACKED*: field is tracked and a last used date is available.\n * *NOT\\_TRACKED*: field is not tracked, last used date is not available.\n * *NO\\_INFORMATION*: field is tracked, but no last used date is available.","enum":["TRACKED","NOT_TRACKED","NO_INFORMATION"]},"value":{"type":"string","description":"The date when the value of the field last changed.","format":"date-time"}},"additionalProperties":false,"description":"Information about the most recent use of a field."},"PageBeanField":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Field"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field configuration scheme."},"name":{"type":"string","description":"The name of the field configuration scheme."},"description":{"type":"string","description":"The description of the field configuration scheme."}},"additionalProperties":false,"description":"Details of a field configuration scheme."},"PageBeanFieldConfigurationScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationScheme"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationIssueTypeItem":{"required":["fieldConfigurationId","fieldConfigurationSchemeId","issueTypeId"],"type":"object","properties":{"fieldConfigurationSchemeId":{"type":"string","description":"The ID of the field configuration scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. When set to *default* this field configuration issue type item applies to all issue types without a field configuration."},"fieldConfigurationId":{"type":"string","description":"The ID of the field configuration."}},"additionalProperties":false,"description":"The field configuration for an issue type."},"PageBeanFieldConfigurationIssueTypeItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationIssueTypeItem"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationSchemeProjects":{"required":["projectIds"],"type":"object","properties":{"fieldConfigurationScheme":{"$ref":"#/components/schemas/FieldConfigurationScheme"},"projectIds":{"type":"array","description":"The IDs of projects using the field configuration scheme.","items":{"type":"string","description":"The IDs of projects using the field configuration scheme."}}},"additionalProperties":false,"description":"Project list with assigned field configuration schema."},"PageBeanFieldConfigurationSchemeProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationSchemeProjects"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationSchemeProjectAssociation":{"required":["projectId"],"type":"object","properties":{"fieldConfigurationSchemeId":{"type":"string","description":"The ID of the field configuration scheme. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Associated field configuration scheme and project."},"FieldConfiguration":{"required":["description","id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the field configuration.","format":"int64"},"name":{"type":"string","description":"The name of the field configuration."},"description":{"type":"string","description":"The description of the field configuration."},"isDefault":{"type":"boolean","description":"Whether the field configuration is the default."}},"additionalProperties":false,"description":"Details of a field configuration."},"PageBeanFieldConfiguration":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfiguration"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationItem":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field within the field configuration."},"description":{"type":"string","description":"The description of the field within the field configuration."},"isHidden":{"type":"boolean","description":"Whether the field is hidden in the field configuration."},"isRequired":{"type":"boolean","description":"Whether the field is required in the field configuration."}},"additionalProperties":false,"description":"A field within a field configuration."},"PageBeanFieldConfigurationItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationItem"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these custom field option details.","format":"uri","readOnly":true},"value":{"type":"string","description":"The value of the custom field option.","readOnly":true}},"additionalProperties":false,"description":"Details of a custom option for a field.","xml":{"name":"customFieldOption"}},"ChangedWorklog":{"type":"object","properties":{"worklogId":{"type":"integer","description":"The ID of the worklog.","format":"int64","readOnly":true},"updatedTime":{"type":"integer","description":"The datetime of the change.","format":"int64","readOnly":true},"properties":{"type":"array","description":"Details of properties associated with the change.","readOnly":true,"items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":false,"description":"Details of a changed worklog."},"ChangedWorklogs":{"type":"object","properties":{"values":{"type":"array","description":"Changed worklog list.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangedWorklog"}},"since":{"type":"integer","description":"The datetime of the first worklog item in the list.","format":"int64","readOnly":true},"until":{"type":"integer","description":"The datetime of the last worklog item in the list.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of this changed worklogs list.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"The URL of the next list of changed worklogs.","format":"uri","readOnly":true},"lastPage":{"type":"boolean"}},"additionalProperties":false,"description":"List of changed worklogs."},"WorklogIdsRequestBean":{"required":["ids"],"type":"object","properties":{"ids":{"uniqueItems":true,"type":"array","description":"A list of worklog IDs.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false},"PageBeanScreenScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ScreenScheme"}}},"additionalProperties":false,"description":"A page of items."},"ScreenScheme":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen scheme.","format":"int64"},"name":{"type":"string","description":"The name of the screen scheme."},"description":{"type":"string","description":"The description of the screen scheme."},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme.","allOf":[{"$ref":"#/components/schemas/ScreenTypes"}]}},"additionalProperties":false,"description":"A screen scheme."},"ScreenTypes":{"required":["defaultScreen"],"type":"object","properties":{"edit":{"type":"integer","description":"The ID of the edit screen.","format":"int64"},"create":{"type":"integer","description":"The ID of the create screen.","format":"int64"},"view":{"type":"integer","description":"The ID of the view screen.","format":"int64"},"default":{"type":"integer","description":"The ID of the default screen. Required when creating a screen scheme.","format":"int64"}},"additionalProperties":false,"description":"The IDs of the screens for the screen types of the screen scheme.","writeOnly":true},"ScreenSchemeDetails":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen scheme. The maximum length is 255 characters.","writeOnly":true},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.","allOf":[{"$ref":"#/components/schemas/ScreenTypes"}]}},"additionalProperties":false,"description":"Details of a screen scheme."},"ScreenSchemeId":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen scheme.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"The ID of a screen scheme."},"UpdateScreenSchemeDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen scheme. The maximum length is 255 characters.","writeOnly":true},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.","allOf":[{"$ref":"#/components/schemas/UpdateScreenTypes"}]}},"additionalProperties":false,"description":"Details of a screen scheme."},"UpdateScreenTypes":{"type":"object","properties":{"edit":{"type":"string","description":"The ID of the edit screen. To remove the screen association, pass a null.","writeOnly":true},"create":{"type":"string","description":"The ID of the create screen. To remove the screen association, pass a null.","writeOnly":true},"view":{"type":"string","description":"The ID of the view screen. To remove the screen association, pass a null.","writeOnly":true},"default":{"type":"string","description":"The ID of the default screen. When specified, must include a screen ID as a default screen is required.","writeOnly":true}},"additionalProperties":false,"description":"The IDs of the screens for the screen types of the screen scheme.","writeOnly":true},"IssueTypeScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type scheme."},"name":{"type":"string","description":"The name of the issue type scheme."},"description":{"type":"string","description":"The description of the issue type scheme."},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme."},"isDefault":{"type":"boolean","description":"Whether the issue type scheme is the default."}},"additionalProperties":false,"description":"Details of an issue type scheme."},"PageBeanIssueTypeScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScheme"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeProjects":{"required":["projectIds"],"type":"object","properties":{"issueTypeScheme":{"description":"Details of an issue type scheme.","allOf":[{"$ref":"#/components/schemas/IssueTypeScheme"}]},"projectIds":{"type":"array","description":"The IDs of the projects using the issue type scheme.","items":{"type":"string"}}},"additionalProperties":false,"description":"Issue type scheme with a list of the projects that use it."},"PageBeanIssueTypeSchemeProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeSchemeProjects"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeMapping":{"required":["issueTypeId","issueTypeSchemeId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type."}},"additionalProperties":false,"description":"Issue type scheme item."},"PageBeanIssueTypeSchemeMapping":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeSchemeMapping"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeProjectAssociation":{"required":["issueTypeSchemeId","projectId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Details of the association between an issue type scheme and project."},"IssueTypeSchemeDetails":{"required":["issueTypeIds","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type scheme. The maximum length is 4000 characters.","writeOnly":true},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme. This ID must be included in `issueTypeIds`.","writeOnly":true},"issueTypeIds":{"type":"array","description":"The list of issue types IDs of the issue type scheme. At least one standard issue type ID is required.","writeOnly":true,"items":{"type":"string","writeOnly":true}}},"additionalProperties":false,"description":"Details of an issue type scheme and its associated issue types."},"IssueTypeSchemeID":{"required":["issueTypeSchemeId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme.","readOnly":true}},"additionalProperties":false,"description":"The ID of an issue type scheme."},"IssueTypeIDs":{"required":["issueTypeIds"],"type":"object","properties":{"issueTypeIds":{"type":"array","description":"List of issue type IDs.","items":{"type":"string"}}},"additionalProperties":false,"description":"A list of issue type IDs."},"IssueTypeSchemeUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type scheme. The maximum length is 4000 characters.","writeOnly":true},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme.","writeOnly":true}},"additionalProperties":false,"description":"Details of the name, description, and default issue type for an issue type scheme."},"OrderOfIssueTypes":{"required":["issueTypeIds"],"type":"object","properties":{"issueTypeIds":{"type":"array","description":"A list of the issue type IDs to move. The order of the issue type IDs in the list is the order they are given after the move.","writeOnly":true,"items":{"type":"string","writeOnly":true}},"after":{"type":"string","description":"The ID of the issue type to place the moved issue types after. Required if `position` isn't provided.","writeOnly":true},"position":{"type":"string","description":"The position the issue types should be moved to. Required if `after` isn't provided.","writeOnly":true,"enum":["First","Last"]}},"additionalProperties":false,"description":"An ordered list of issue type IDs and information about where to move them."},"IssueTypeScreenSchemeItem":{"required":["issueTypeId","issueTypeScreenSchemeId","screenSchemeId"],"type":"object","properties":{"issueTypeScreenSchemeId":{"type":"string","description":"The ID of the issue type screen scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. When set to *default* this issue type screen scheme item applies to all issue types without a screen scheme."},"screenSchemeId":{"type":"string","description":"The ID of the screen scheme."}},"additionalProperties":false,"description":"The screen scheme for an issue type."},"PageBeanIssueTypeScreenSchemeItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeItem"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeScreenScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type screen scheme."},"name":{"type":"string","description":"The name of the issue type screen scheme."},"description":{"type":"string","description":"The description of the issue type screen scheme."}},"additionalProperties":false,"description":"Details of an issue type screen scheme."},"IssueTypeScreenSchemesProjects":{"required":["projectIds"],"type":"object","properties":{"issueTypeScreenScheme":{"description":"Details of an issue type screen scheme.","allOf":[{"$ref":"#/components/schemas/IssueTypeScreenScheme"}]},"projectIds":{"type":"array","description":"The IDs of the projects using the issue type screen scheme.","items":{"type":"string"}}},"additionalProperties":false,"description":"Issue type screen scheme with a list of the projects that use it."},"PageBeanIssueTypeScreenSchemesProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemesProjects"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanIssueTypeScreenScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenScheme"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeScreenSchemeProjectAssociation":{"type":"object","properties":{"issueTypeScreenSchemeId":{"type":"string","description":"The ID of the issue type screen scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Associated issue type screen scheme and project."},"IssueTypeScreenSchemeDetails":{"required":["issueTypeMappings","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type screen scheme. The maximum length is 255 characters.","writeOnly":true},"issueTypeMappings":{"type":"array","description":"The IDs of the screen schemes for the issue type IDs and *default*. A *default* entry is required to create an issue type screen scheme, it defines the mapping for all issue types without a screen scheme.","writeOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeMapping"}}},"additionalProperties":false,"description":"The details of an issue type screen scheme."},"IssueTypeScreenSchemeMapping":{"required":["issueTypeId","screenSchemeId"],"type":"object","properties":{"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. Only issue types used in classic projects are accepted. An entry for *default* must be provided and defines the mapping for all issue types without a screen scheme.","writeOnly":true},"screenSchemeId":{"type":"string","description":"The ID of the screen scheme. Only screen schemes used in classic projects are accepted.","writeOnly":true}},"additionalProperties":false,"description":"The IDs of the screen schemes for the issue type IDs.","writeOnly":true},"IssueTypeScreenSchemeId":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type screen scheme.","readOnly":true}},"additionalProperties":false,"description":"The ID of an issue type screen scheme."},"IssueTypeScreenSchemeUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type screen scheme. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of an issue type screen scheme."},"EventNotification":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional event notification details in the response."},"id":{"type":"integer","description":"The ID of the notification.","format":"int64"},"notificationType":{"type":"string","description":"Identifies the recipients of the notification.","enum":["CurrentAssignee","Reporter","CurrentUser","ProjectLead","ComponentLead","User","Group","ProjectRole","EmailAddress","AllWatchers","UserCustomField","GroupCustomField"]},"parameter":{"type":"string","description":"The value of the `notificationType`:\n\n * `User` The `parameter` is the user account ID.\n * `Group` The `parameter` is the group name.\n * `ProjectRole` The `parameter` is the project role ID.\n * `UserCustomField` The `parameter` is the ID of the custom field.\n * `GroupCustomField` The `parameter` is the ID of the custom field."},"group":{"description":"The specified group.","allOf":[{"$ref":"#/components/schemas/GroupName"}]},"field":{"description":"The custom user or group field.","allOf":[{"$ref":"#/components/schemas/FieldDetails"}]},"emailAddress":{"type":"string","description":"The email address."},"projectRole":{"description":"The specified project role.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"user":{"description":"The specified user.","allOf":[{"$ref":"#/components/schemas/UserDetails"}]}},"additionalProperties":false,"description":"Details about a notification associated with an event."},"NotificationEvent":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the event. The event can be a [Jira system event](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or a [custom event](https://confluence.atlassian.com/x/AIlKLg).","format":"int64"},"name":{"type":"string","description":"The name of the event."},"description":{"type":"string","description":"The description of the event."},"templateEvent":{"description":"The template of the event. Only custom events configured by Jira administrators have template.","allOf":[{"$ref":"#/components/schemas/NotificationEvent"}]}},"additionalProperties":false,"description":"Details about a notification event."},"NotificationScheme":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional notification scheme details in the response."},"id":{"type":"integer","description":"The ID of the notification scheme.","format":"int64"},"self":{"type":"string"},"name":{"type":"string","description":"The name of the notification scheme."},"description":{"type":"string","description":"The description of the notification scheme."},"notificationSchemeEvents":{"type":"array","description":"The notification events and associated recipients.","items":{"$ref":"#/components/schemas/NotificationSchemeEvent"}},"scope":{"description":"The scope of the notification scheme.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"Details about a notification scheme."},"NotificationSchemeEvent":{"type":"object","properties":{"event":{"$ref":"#/components/schemas/NotificationEvent"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/EventNotification"}}},"additionalProperties":false,"description":"Details about a notification scheme event."},"PageBeanNotificationScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/NotificationScheme"}}},"additionalProperties":false,"description":"A page of items."},"ProjectIssueSecurityLevels":{"required":["levels"],"type":"object","properties":{"levels":{"type":"array","description":"Issue level security items list.","readOnly":true,"items":{"$ref":"#/components/schemas/SecurityLevel"}}},"additionalProperties":false,"description":"List of issue level security items in a project."},"BulkIssuePropertyUpdateRequest":{"type":"object","properties":{"value":{"description":"The value of the property. The value must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters."},"filter":{"description":"The bulk operation filter.","allOf":[{"$ref":"#/components/schemas/IssueFilterForBulkPropertySet"}]}},"additionalProperties":false,"description":"Bulk issue property update request details."},"IssueFilterForBulkPropertySet":{"type":"object","properties":{"entityIds":{"uniqueItems":true,"type":"array","description":"List of issues to perform the bulk operation on.","items":{"type":"integer","format":"int64"}},"currentValue":{"description":"The value of properties to perform the bulk operation on."},"hasProperty":{"type":"boolean","description":"Whether the bulk operation occurs only when the property is present on or absent from an issue."}},"additionalProperties":false,"description":"Bulk operation filter details."},"IssueFilterForBulkPropertyDelete":{"type":"object","properties":{"entityIds":{"uniqueItems":true,"type":"array","description":"List of issues to perform the bulk delete operation on.","items":{"type":"integer","format":"int64"}},"currentValue":{"description":"The value of properties to perform the bulk operation on."}},"additionalProperties":false,"description":"Bulk operation filter details."},"IssueEntityProperties":{"type":"object","properties":{"entitiesIds":{"maxItems":10000,"minItems":1,"uniqueItems":true,"type":"array","description":"A list of entity property IDs.","items":{"type":"integer","format":"int64"}},"properties":{"maxProperties":10,"minProperties":1,"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonNode"},"description":"A list of entity property keys and values."}},"additionalProperties":false,"description":"Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information."},"JsonNode":{"maxProperties":10,"minProperties":1,"type":"object","properties":{"elements":{"type":"object"},"number":{"type":"boolean"},"pojo":{"type":"boolean"},"integralNumber":{"type":"boolean"},"floatingPointNumber":{"type":"boolean"},"int":{"type":"boolean"},"long":{"type":"boolean"},"double":{"type":"boolean"},"bigDecimal":{"type":"boolean"},"bigInteger":{"type":"boolean"},"textual":{"type":"boolean"},"boolean":{"type":"boolean"},"binary":{"type":"boolean"},"object":{"type":"boolean"},"missingNode":{"type":"boolean"},"valueNode":{"type":"boolean"},"containerNode":{"type":"boolean"},"valueAsInt":{"type":"integer","format":"int32"},"valueAsLong":{"type":"integer","format":"int64"},"valueAsDouble":{"type":"number","format":"double"},"valueAsBoolean":{"type":"boolean"},"numberValue":{"type":"number"},"numberType":{"type":"string","enum":["INT","LONG","BIG_INTEGER","FLOAT","DOUBLE","BIG_DECIMAL"]},"intValue":{"type":"integer","format":"int32"},"longValue":{"type":"integer","format":"int64"},"bigIntegerValue":{"type":"integer"},"doubleValue":{"type":"number","format":"double"},"decimalValue":{"type":"number"},"booleanValue":{"type":"boolean"},"binaryValue":{"type":"array","items":{"type":"string","format":"byte"}},"textValue":{"type":"string"},"valueAsText":{"type":"string"},"fieldNames":{"type":"object"},"array":{"type":"boolean"},"fields":{"type":"object"},"null":{"type":"boolean"}},"additionalProperties":false},"JqlQueriesToParse":{"required":["queries"],"type":"object","properties":{"queries":{"minLength":1,"type":"array","description":"A list of queries to parse.","items":{"minLength":1,"type":"string"}}},"additionalProperties":false,"description":"A list of JQL queries to parse.","writeOnly":true},"CompoundClause":{"required":["clauses","operator"],"type":"object","properties":{"clauses":{"type":"array","description":"The list of nested clauses.","items":{"$ref":"#/components/schemas/JqlQueryClause"}},"operator":{"type":"string","description":"The operator between the clauses.","enum":["and","or","not"]}},"description":"A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A OR B) AND C\". See Setting the precedence of operators for more information about precedence in JQL queries.`"},"FieldChangedClause":{"required":["field","operator","predicates"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator applied to the field.","enum":["changed"]},"predicates":{"type":"array","description":"The list of time predicates.","items":{"$ref":"#/components/schemas/JqlQueryClauseTimePredicate"}}},"description":"A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator."},"FieldValueClause":{"required":["field","operand","operator"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator between the field and operand.","enum":["=","!=",">","<",">=","<=","in","not in","~","~=","is","is not"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"}},"description":"A clause that asserts the current value of a field. For example, `summary ~ test`."},"FieldWasClause":{"required":["field","operand","operator","predicates"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator between the field and operand.","enum":["was","was in","was not in","was not"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"},"predicates":{"type":"array","description":"The list of time predicates.","items":{"$ref":"#/components/schemas/JqlQueryClauseTimePredicate"}}},"description":"A clause that asserts a previous value of a field. For example, `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator."},"FunctionOperand":{"required":["function"],"type":"object","properties":{"function":{"type":"string","description":"The name of the function."},"arguments":{"type":"array","description":"The list of function arguments.","items":{"type":"string"}}},"description":"An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions."},"JqlQuery":{"type":"object","properties":{"where":{"$ref":"#/components/schemas/JqlQueryClause"},"orderBy":{"$ref":"#/components/schemas/JqlQueryOrderByClause"}},"additionalProperties":false,"description":"A parsed JQL query."},"JqlQueryClause":{"type":"object","additionalProperties":false,"description":"A JQL query clause.","anyOf":[{"$ref":"#/components/schemas/CompoundClause"},{"$ref":"#/components/schemas/FieldValueClause"},{"$ref":"#/components/schemas/FieldWasClause"},{"$ref":"#/components/schemas/FieldChangedClause"}]},"JqlQueryClauseOperand":{"type":"object","description":"Details of an operand in a JQL clause.","anyOf":[{"$ref":"#/components/schemas/ListOperand"},{"$ref":"#/components/schemas/ValueOperand"},{"$ref":"#/components/schemas/FunctionOperand"},{"$ref":"#/components/schemas/KeywordOperand"}]},"JqlQueryClauseTimePredicate":{"required":["operand","operator"],"type":"object","properties":{"operator":{"type":"string","description":"The operator between the field and the operand.","enum":["before","after","from","to","on","during","by"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"}},"description":"A time predicate for a temporal JQL clause."},"JqlQueryField":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field."},"property":{"type":"array","description":"When the field refers to a value in an entity property, details of the entity property value.","items":{"$ref":"#/components/schemas/JqlQueryFieldEntityProperty"}}},"additionalProperties":false,"description":"A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries."},"JqlQueryFieldEntityProperty":{"required":["entity","key","path"],"type":"object","properties":{"entity":{"type":"string","description":"The object on which the property is set.","example":"issue"},"key":{"type":"string","description":"The key of the property.","example":"stats"},"path":{"type":"string","description":"The path in the property value to query.","example":"comments.count"},"type":{"type":"string","description":"The type of the property value extraction. Not available if the extraction for the property is not registered on the instance with the [Entity property](https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/) module.","example":"number","enum":["number","string","text","date","user"]}},"description":"Details of an entity property."},"JqlQueryOrderByClause":{"required":["fields"],"type":"object","properties":{"fields":{"type":"array","description":"The list of order-by clause fields and their ordering directives.","items":{"$ref":"#/components/schemas/JqlQueryOrderByClauseElement"}}},"additionalProperties":false,"description":"Details of the order-by JQL clause."},"JqlQueryOrderByClauseElement":{"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"direction":{"type":"string","description":"The direction in which to order the results.","enum":["asc","desc"]}},"additionalProperties":false,"description":"An element of the order-by JQL clause."},"JqlQueryUnitaryOperand":{"type":"object","description":"An operand that can be part of a list operand.","anyOf":[{"$ref":"#/components/schemas/ValueOperand"},{"$ref":"#/components/schemas/FunctionOperand"},{"$ref":"#/components/schemas/KeywordOperand"}]},"KeywordOperand":{"required":["keyword"],"type":"object","properties":{"keyword":{"type":"string","description":"The keyword that is the operand value.","enum":["empty"]}},"description":"An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords."},"ListOperand":{"type":"object","properties":{"values":{"minLength":1,"type":"array","description":"The list of operand values.","items":{"$ref":"#/components/schemas/JqlQueryUnitaryOperand"}}},"description":"An operand that is a list of values."},"ParsedJqlQueries":{"required":["queries"],"type":"object","properties":{"queries":{"minLength":1,"type":"array","description":"A list of parsed JQL queries.","items":{"$ref":"#/components/schemas/ParsedJqlQuery"}}},"additionalProperties":false,"description":"A list of parsed JQL queries."},"ParsedJqlQuery":{"minLength":1,"required":["query"],"type":"object","properties":{"query":{"type":"string","description":"The JQL query that was parsed and validated."},"structure":{"description":"The syntax tree of the query. Empty if the query was invalid.","allOf":[{"$ref":"#/components/schemas/JqlQuery"}]},"errors":{"uniqueItems":true,"type":"array","description":"The list of syntax or validation errors.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of a parsed JQL query."},"ValueOperand":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The operand value."}},"description":"An operand that is a user-provided value."},"IssueTypeInfo":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue type.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"avatarId":{"type":"integer","description":"The avatar of the issue type.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details of an issue type."},"ProjectIssueTypeHierarchy":{"type":"object","properties":{"projectId":{"type":"integer","description":"The ID of the project.","format":"int64","readOnly":true},"hierarchy":{"type":"array","description":"Details of an issue type hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueTypesHierarchyLevel"}}},"additionalProperties":false,"description":"The hierarchy of issue types within a project."},"ProjectIssueTypesHierarchyLevel":{"type":"object","properties":{"entityId":{"type":"string","description":"The ID of the issue type hierarchy level.","format":"uuid","readOnly":true},"level":{"type":"integer","description":"The level of the issue type hierarchy level.","format":"int32","readOnly":true},"name":{"type":"string","description":"The name of the issue type hierarchy level.","readOnly":true},"issueTypes":{"type":"array","description":"The list of issue types in the hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeInfo"}}},"additionalProperties":false,"description":"Details of an issue type hierarchy level."},"OperationMessage":{"required":["message","statusCode"],"type":"object","properties":{"message":{"type":"string","description":"The human-readable message that describes the result."},"statusCode":{"type":"integer","description":"The status code of the response."}},"additionalProperties":false,"example":{"message":"An example message.","statusCode":200}},"ErrorMessage":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"The error message."}},"additionalProperties":false,"example":{"message":"The request is not from a Connect app."}},"ConnectModules":{"required":["modules"],"type":"object","properties":{"modules":{"type":"array","description":"A list of app modules in the same format as the `modules` property in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).","items":{"$ref":"#/components/schemas/ConnectModule"}}},"example":{"jiraEntityProperties":[{"keyConfigurations":[{"extractions":[{"objectName":"extension","type":"text","alias":"attachmentExtension"}],"propertyKey":"attachment"}],"entityType":"issue","name":{"value":"Attachment Index Document"},"key":"dynamic-attachment-entity-property"}],"jiraIssueFields":[{"description":{"value":"A dynamically added single-select field"},"type":"single_select","extractions":[{"path":"category","type":"text","name":"categoryName"}],"name":{"value":"Dynamic single select"},"key":"dynamic-select-field"}]}},"ConnectModule":{"type":"object","description":"A [Connect module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/) in the same format as in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).","example":{"description":{"value":"field with team"},"type":"single_select","extractions":[{"path":"category","type":"text","name":"categoryName"}],"name":{"value":"Team"},"key":"team-field"}}},"securitySchemes":{"basicAuth":{"type":"http","description":"You can access this resource via basic auth.","scheme":"basic"},"OAuth2":{"type":"oauth2","description":"OAuth2 scopes for Jira","flows":{"authorizationCode":{"authorizationUrl":"https://auth.atlassian.com/authorize","tokenUrl":"https://auth.atlassian.com/oauth/token","scopes":{"read:jira-user":"View user information in Jira that you have access to, including usernames, email addresses, and avatars.","read:jira-work":"Read project and issue data. Search for issues and objects associated with issues (such as attachments and worklogs).","write:jira-work":"Create and edit issues in Jira, post comments, create worklogs, and delete issues.","manage:jira-project":"Create and edit project settings and create new project-level objects, for example, versions, components.","manage:jira-configuration":"Configure Jira settings that require the Jira administrators permission, for example, create projects and custom fields, view workflows, manage issue link types."}}}}}},"x-atlassian-narrative":{"documents":[{"title":"About","anchor":"about","body":"The Jira REST API enables you to interact with Jira programmatically. Use this API to \n[build apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/), script interactions with \nJira, or develop any other type of integration. This page documents the REST resources available in Jira Cloud, including \nthe HTTP response codes and example requests and responses."},{"title":"Version and URI","anchor":"version","body":"This documentation is for **version 3** of the Jira Cloud platform REST API, which is the latest version. \n\nThe URIs for resources have the following structure:\n\n`https:///rest/api/3/`\n\nFor example,\n`https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`\n\n**Note that version 3 of the Jira Cloud platform REST API is in beta**. All the endpoints from the \n[version 2](https://developer.atlassian.com/cloud/jira/platform/rest/v2/) API are available. However,\nthey are under development and may change. \n\nThe change from version 2 is the introduction of the \n[Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/) \nto: \n- `body` in comments, including where comments are used in issue, issue link, and transition resources.\n- `comment` in worklogs.\n- `description` and `environment` fields in issues.\n- `textarea` type custom fields (multi-line text fields) in issues. Single line custom fields \n (`textfield`) accept a string and don't handle Atlassian Document Format content."},{"title":"Authentication and authorization","anchor":"authentication","body":"### Connect apps\n\nFor Connect apps, authentication (JWT-based) is built into the Connect libraries. Authorization is implemented using either \nscopes (shown as _App scope required_ for operations on this page) or user impersonation. See \n[Security for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/) \nfor details.\n\n### Other integrations\n\nFor integrations that are not Connect apps, use OAuth 2.0 authorization code grants (3LO) for security \n(3LO scopes are shown as _OAuth scopes required_ for operations on this page). Basic authentication is also available, \nbut you should only use it for tools such as personal scripts or bots. See \n[Security for other integrations](https://developer.atlassian.com/cloud/jira/platform/security-for-other-integrations/) \nfor details."},{"title":"Permissions","anchor":"permissions","body":"### Operation permissions\n\nMost operations in this API require permissions. The calling user must have the required permissions for an operation to \nuse it. Note that for Connect apps, the app user must have the required permissions for the operation and the app must \nhave scopes that permit the operation.\n\nA permission can be granted to a group, project role, or issue role that the user is a member of, or granted directly to a user. \nSee [Permissions overview](https://confluence.atlassian.com/x/FQiiLQ) for details. The most common permissions are:\n\n- **Administer the Cloud site**: Users in the _site-admins_ group have this \npermission. See [Manage groups](https://confluence.atlassian.com/x/24xjL) for details.\n- **Administer Jira**: Granted by the _Jira Administrators_ global permission. Users in the _administrators_ group have this \npermission. See [Manage groups](https://confluence.atlassian.com/x/24xjL) and \n[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg) for details.\n- **Administer a project in Jira**: Granted by the _Administer projects_ project permission for a project. This can be \ngranted to a user, a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for details.\n- **Access a project in Jira**: Granted by the _Browse projects_ project permission for a project. This can be \ngranted to a user, a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for details.\n- **Access Jira**: Granted by the _Jira Users_ global permission. Users in the _\\[product]-users_ (for example, \n_jira-software-users_) group have this permission. \nSee [Manage groups](https://confluence.atlassian.com/x/24xjL) and \n[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg) for details.\n\n### Anonymous access\n\nSome operations provide support for anonymous access. However, anonymous access is only available if \nthe Jira permission needed to access the object or records returned by the operation is granted to \nthe _Public_ group. See [Allowing anonymous access to your project](https://confluence.atlassian.com/x/GDxxLg) \nfor details.\n\nIf an operation is called anonymously and anonymous access is not available, the operation will return \nan error. Note that not all operations that correspond to objects that can be given public access \nprovide for anonymous access."},{"title":"Expansion, pagination, and ordering","anchor":"expansion","body":"### Expansion\n\nThe Jira REST API uses resource expansion, which means that some parts of a resource are not returned unless specified \nin the request. This simplifies responses and minimizes network traffic.\n\nTo expand part of a resource in a request, use the expand query parameter and specify the object(s) to be expanded. \nIf you need to expand nested objects, use the `.` dot notation. If you need to expand multiple objects, use a \ncomma-separated list. \n\nFor example, the following request expands the `names` and `renderedFields` properties for the _JRACLOUD-34423_ issue:\n\n`GET issue/JRACLOUD-34423?expand=names,renderedFields`\n\nTo discover which object can be expanded, refer to the `expand` property in the object. \nIn the JSON example below, the resource declares `widgets` as expandable.\n\n```json\n{\n \"expand\": \"widgets\", \n \"self\": \"https://your-domain.atlassian.net/rest/api/3/resource/KEY-1\", \n \"widgets\": {\n \"widgets\": [],\n \"size\": 5\n }\n}\n```\n\n### Pagination\n\nThe Jira REST API uses pagination to improve performance. Pagination is enforced for operations that could return a large \ncollection of items. When you make a request to a paginated resource, the response wraps the returned array of values in \na JSON object with paging metadata. For example:\n\n```json\n{\n \"startAt\" : 0,\n \"maxResults\" : 10,\n \"total\": 200,\n \"isLast\": false,\n \"values\": [\n { /* result 0 */ },\n { /* result 1 */ },\n { /* result 2 */ }\n ]\n}\n```\n\n* `startAt` is the index of the first item returned in the page.\n* `maxResults` is the maximum number of items that a page can return. Each operation can have a different limit for\n the number of items returned, and these limits may change without notice. To find the maximum number of items \n that an operation could return, set `maxResults` to a large number—for example, over 1000—and if the returned value of `maxResults` is less than the requested value, the returned value is the maximum.\n* `total` is the total number of items contained in all pages. This number **_may change_** as the client \nrequests the subsequent pages, therefore the client should always assume that the requested page can be empty. Note \nthat this property is not returned for all operations.\n* `isLast` indicates whether the page returned is the last one. Note that this property is not returned for all operations.\n\n### Ordering\n\nSome operations support ordering the elements of a response by a field. Check the documentation for the operation to \nconfirm whether ordering of a response is supported and which fields can be used. Responses are listed in ascending order \nby default. You can change the order using the `orderby` query parameter with a `-` or `+` symbol. For example:\n\n* `?orderBy=name` to order by `name` field ascending.\n* `?orderBy=+name` to order by `name` field ascending.\n* `?orderBy=-name` to order by `name` field descending.\n\n\n"},{"title":"Special headers","anchor":"special-request-headers","body":"The following request and response headers define important metadata for the Jira Cloud REST API resources.\n\n- `X-Atlassian-Token` (request): Operations that accept multipart/form-data must include the `X-Atlassian-Token: no-check`\nheader in requests. Otherwise the request will be blocked by cross-site request forgery (CSRF/XSRF) protection.\n- `X-Force-Accept-Language` (request): controls how the standard HTTP `Accept-Language` header is processed.\nBy default `Accept-Language` is ignored and the response is in the language configured in the user's profile or,\nwhen no language is configured for the user, the default Jira instance language. For the response to recognize\n`Accept-Language` send `X-Force-Accept-Language = true` as well. If `Accept-Language` requests a language that Jira\ncan return the response is in that language, otherwise Jira returns the response in the default language. If\n`Accept-Language` is not specified the response is in the default language.\n- `X-AccountId` (response): This response header contains the Atlassian account ID of the authenticated user."},{"title":"Anonymous operations","anchor":"anonymous-operations","body":" Jira provides for all permissions, except the [global permission](https://confluence.atlassian.com/x/x4dKLg) Administer Jira, to be assigned to *Anyone*. Once a permission is assigned to *Anyone*, anyone knowing a project's URL is able to use the features in Jira enabled by the permission. However, the Jira REST API does not enable anonymous access for operations by default. This means that an anonymous user who may be able to perform an action through Jira, may not be able to perform the same action where it's enabled by the REST API. \n\n The operations that provide anonymous access are annotated \"This operation can be accessed anonymously.\""},{"title":"Asynchronous operations","anchor":"async-operations","body":"Some Jira REST API operations may trigger long-running or computationally expensive tasks. In these cases, the operation \nwill schedule an asynchronous task and return a `303 (See Other)` response, indicating the location of the queued task \nin the `Location` header. You can query this task to get progress updates.\n\nWhen the task finishes, the response object will contain the `result` field. The content of the field is specific to the \noperation that created the task. Refer to the operation’s documentation for more information.\n\nNote that asynchronous tasks are not guaranteed to be run in order. In other words, if you need your tasks to execute \nin a certain order, you should start a task only after the prerequisite task(s) have finished."},{"title":"Experimental features","anchor":"experimental","body":"Features and methods marked as experimental may change without notice. Feedback on experimental functionality is welcome. \nReport your suggestions and bugs in the [ACJIRA project](https://ecosystem.atlassian.net/projects/ACJIRA) (preferred) or use the \n**Give docs feedback** link at the top of this page. \n"},{"title":"Status codes","anchor":"status-codes","body":"The Jira Cloud platform REST API uses the [standard HTTP status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).\n\nOperations that return an error status code may also return a response body containing details of the error or errors. \nThe schema for the response body is shown below:\n\n\n```json\n{\n \"id\": \"https://docs.atlassian.com/jira/REST/schema/error-collection#\",\n \"title\": \"Error Collection\",\n \"type\": \"object\",\n \"properties\": {\n \"errorMessages\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"errors\": {\n \"type\": \"object\",\n \"patternProperties\": {\n \".+\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"status\": { \n \"type\": \"integer\"\n }\n },\n \"additionalProperties\": false\n}\n```"}]}} \ No newline at end of file +{"openapi":"3.0.1","info":{"title":"The Jira Cloud platform REST API","description":"Jira Cloud platform REST API documentation","termsOfService":"http://atlassian.com/terms/","contact":{"email":"ecosystem@atlassian.com"},"license":{"name":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},"version":"1001.0.0-SNAPSHOT"},"externalDocs":{"description":"Find out more about Atlassian products and services.","url":"http://www.atlassian.com"},"servers":[{"url":"https://your-domain.atlassian.net"}],"tags":[{"name":"Application roles","description":"This resource represents application roles. Use it to get details of an application role or all application roles."},{"name":"Audit records","description":"This resource represents audits that record activities undertaken in Jira. Use it to get a list of audit records."},{"name":"Avatars","description":"This resource represents system and custom avatars. Use it to obtain the details of system or custom avatars as well as add and remove avatars from a project or issue type."},{"name":"Dashboards","description":"This resource represents dashboards. Use it to obtain the details of dashboards as well as add and remove item properties from dashboards."},{"name":"Filters","description":"This resource represents [filters](https://confluence.atlassian.com/x/eQiiLQ). Use it to get, create, update, or delete filters. Also use it to configure the columns for a filter and set favorite filters."},{"name":"Filter sharing","description":"This resource represents options for sharing [filters](#api-group-Filters). Use it to get share scopes as well as add and remove share scopes from filters."},{"name":"Group and user picker","description":"This resource represents a list of users and a list of groups. Use it to obtain the details to populate user and group picker suggestions list."},{"name":"Groups","description":"This resource represents groups of users. Use it to get, create, find, and delete groups as well as add and remove users from groups."},{"name":"Instance information","description":"This resource represents information about the Jira instance. Use it to get license details."},{"name":"Issues","description":"This resource represents Jira issues. Use it to:\n\n * create or edit issues, individually or in bulk.\n * retrieve metadata about the options for creating or editing issues.\n * delete an issue.\n * assign a user to an issue.\n * get issue changelogs.\n * send notifications about an issue.\n * get details of the transitions available for an issue.\n * transition an issue."},{"name":"Issue attachments","description":"This resource represents issue attachments and the attachment settings for Jira. Use it to get the metadata for an attachment, delete an attachment, and view the metadata for the contents of an attachment. Also, use it to get the attachment settings for Jira."},{"name":"Issue comments","description":"This resource represents issue comments. Use it to:\n\n * get, create, update, and delete a comment from an issue.\n * get all comments from issue.\n * get a list of comments by comment ID."},{"name":"Issue comment properties","description":"This resource represents [issue comment](#api-group-Issue-comments) properties, which provides for storing custom data against an issue comment. Use is to get, set, and delete issue comment properties as well as obtain the keys of all properties on a comment. Comment properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue fields","description":"This resource represents issue fields, both system and custom fields. Use it to get fields, field configurations, and create custom fields."},{"name":"Issue field configurations","description":"This resource represents issue field configurations. Use it to get, set, and delete field configurations and field configuration schemes."},{"name":"Issue custom field contexts","description":"This resource represents issue custom field contexts. Use it to:\n\n * get, create, update, and delete custom field contexts.\n * get context to issue types and projects mappings.\n * get custom field contexts for projects and issue types.\n * assign custom field contexts to projects.\n * remove custom field contexts from projects.\n * add issue types to custom field contexts."},{"name":"Issue custom field options","description":"This resource represents custom issue field select list options created in Jira or using the REST API. This resource supports the following field types:\n\n * Checkboxes.\n * Radio Buttons.\n * Select List (single choice).\n * Select List (multiple choices).\n * Select List (cascading).\n\nSee [Issue custom field options (apps)](#api-group-Issue-custom-field-options--apps-) to manipulate custom issue field select list options created by a Connect app.\n\nUse it to retrieve, create, update, order, and delete custom field options."},{"name":"Issue custom field options (apps)","description":"This resource represents custom issue field select list options created by a Connect app. See [Issue custom field options](#api-group-Issue-custom-field-options) to manipulate options created in Jira or using the REST API.\n\nA select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select an option from a list. Use it to add, remove, and update the options of a select list issue field."},{"name":"Issue custom field values (apps)","description":"This resource represents the values of custom fields added by [Forge apps](https://developer.atlassian.com/platform/forge/). Use it to update the value of a custom field on issues."},{"name":"Issue custom field configuration (apps)","description":"This resource represents configurations stored against a custom field context by a [Forge app](https://developer.atlassian.com/platform/forge/). Configurations are information used by the Forge app at runtime to determine how to handle or process the data in a custom field in a given context. Use this resource to set and read configurations."},{"name":"Issue links","description":"This resource represents links between issues. Use it to get, create, and delete links between issues.\n\nTo use it, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled."},{"name":"Issue link types","description":"This resource represents [issue link](#api-group-Issue-links) types. Use it to get, create, update, and delete link issue types as well as get lists of all link issue types.\n\nTo use it, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled."},{"name":"Issue navigator settings","description":"This resource represents issue navigator settings. Use it to get and set issue navigator default columns."},{"name":"Issue notification schemes","description":"This resource represents notification schemes, lists of events and the recipients who will receive notifications for those events. Use it to get details of a notification scheme and a list of notification schemes."},{"name":"Issue priorities","description":"This resource represents issue priorities. Use it to obtain a list of issue priorities and details for individual issue priorities."},{"name":"Issue properties","description":"This resource represents [issue](#api-group-Issues) properties, which provides for storing custom data against an issue. Use it to get, set, and delete issue properties as well as obtain details of all properties on an issue. Operations to bulk update and delete issue properties are also provided. Issue properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue remote links","description":"This resource represents remote issue links, a way of linking Jira to information in other systems. Use it to get, create, update, and delete remote issue links either by ID or global ID. The global ID provides a way of accessing remote issue links using information about the item's remote system host and remote system identifier."},{"name":"Issue resolutions","description":"This resource represents issue resolution values. Use it to obtain a list of all issue resolution values and the details of individual resolution values."},{"name":"Issue search","description":"This resource represents various ways to search for issues. Use it to search for issues with a JQL query and find issues to populate an issue picker."},{"name":"Issue security level","description":"This resource represents issue security levels. Use it to obtain the details of any issue security level. For more information about issue security levels, see [Configuring issue-level security](https://confluence.atlassian.com/x/J4lKLg)."},{"name":"Issue security schemes","description":"This resource represents issue security schemes. Use it to get an issue security scheme or list of issues security schemes.\n\nIssue security schemes control which users or groups of users can view an issue. When an issue security scheme is associated with a project, its security levels can be applied to issues in that project. Sub-tasks also inherit the security level of their parent issue."},{"name":"Issue types","description":"This resource represents issues types. Use it to:\n\n * get, create, update, and delete issue types.\n * get all issue types for a user.\n * get alternative issue types.\n * set an avatar for an issue type."},{"name":"Issue type schemes","description":"This resource represents issue type schemes in classic projects. Use it to:\n\n * get issue type schemes and a list of the projects that use them.\n * associate issue type schemes with projects.\n * add issue types to issue type schemes.\n * delete issue types from issue type schemes.\n * create, update, and delete issue type schemes.\n * change the order of issue types in issue type schemes."},{"name":"Issue type screen schemes","description":"This resource represents issue type screen schemes. Use it to:\n\n * get issue type screen schemes and a list of the projects that use them.\n * create issue type screen schemes.\n * update issue type screen schemes.\n * delete issue type screen schemes.\n * associate issue type screen schemes with projects.\n * append issue type to screen scheme mappings to issue type screen schemes.\n * remove issue type to screen scheme mappings from issue type screen schemes.\n * update default screen scheme of issue type screen scheme."},{"name":"Issue type properties","description":"This resource represents [issue type](#api-group-Issue-types) properties, which provides for storing custom data against an issue type. Use it to get, create, and delete issue type properties as well as obtain the keys of all properties on a issues type. Issue type properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Issue votes","description":"This resource represents votes cast by users on an issue. Use it to get details of votes on an issue as well as cast and withdrawal votes."},{"name":"Issue watchers","description":"This resource represents users watching an issue. Use it to get details of users watching an issue as well as start and stop a user watching an issue."},{"name":"Issue worklogs","description":"This resource represents issue worklogs. Use it to:\n\n * get, create, update, and delete worklogs.\n * obtain lists of updated or deleted worklogs."},{"name":"Issue worklog properties","description":"This resource represents [issue worklog](#api-group-Issue-worklogs) properties, which provides for storing custom data against an issue worklog. Use it to get, create, and delete issue worklog properties as well as obtain the keys of all properties on a issue worklog. Issue worklog properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Jira expressions","description":"This resource is a collection of operations for [Jira expressions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/)."},{"name":"Jira settings","description":"This resource represents various settings in Jira. Use it to get and update Jira settings and properties."},{"name":"JQL","description":"This resource represents JQL search auto-complete details. Use it to obtain JQL search auto-complete data and suggestions for use in programmatic construction of queries or custom query builders. It also provides an operation to convert one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs."},{"name":"Labels","description":"This resource represents available labels. Use it to get available labels for the global label field."},{"name":"Myself","description":"This resource represents information about the current user, such as basic details, group membership, application roles, preferences, and locale. Use it to get, create, update, and delete (restore default) values of the user's preferences and locale."},{"name":"Permissions","description":"This resource represents permissions. Use it to obtain details of all permissions and determine whether the user has certain permissions."},{"name":"Permission schemes","description":"This resource represents permission schemes. Use it to get, create, update, and delete permission schemes as well as get, create, update, and delete details of the permissions granted in those schemes."},{"name":"Projects","description":"This resource represents projects. Use it to get, create, update, and delete projects. Also get statuses available to a project, a project's notification schemes, and update a project's type."},{"name":"Project avatars","description":"This resource represents avatars associated with a project. Use it to get, load, set, and remove project avatars."},{"name":"Project categories","description":"This resource represents project categories. Use it to create, update, and delete project categories as well as obtain a list of all project categories and details of individual categories. For more information on managing project categories, see [Adding, assigning, and deleting project categories](https://confluence.atlassian.com/x/-A5WMg)."},{"name":"Project components","description":"This resource represents project components. Use it to get, create, update, and delete project components. Also get components for project and get a count of issues by component."},{"name":"Project email","description":"This resource represents the email address used to send a project's notifications. Use it to get and set the [project's sender email address](https://confluence.atlassian.com/x/dolKLg)."},{"name":"Project features","description":"This resource represents project features. Use it to get the list of features for a project and modify the state of a feature."},{"name":"Project key and name validation","description":"This resource provides validation for project keys and names."},{"name":"Project permission schemes","description":"This resource represents permission schemes for a project. Use this resource to:\n\n * get details of a project's issue security levels available to the calling user.\n * get the permission scheme associated with the project or assign different permission scheme to the project.\n * get details of a project's issue security scheme.\n\nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes."},{"name":"Project properties","description":"This resource represents [project](#api-group-Projects) properties, which provides for storing custom data against a project. Use it to get, create, and delete project properties as well as get a list of property keys for a project. Project properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"Project roles","description":"This resource represents the roles that users can play in projects. Use this resource to get, create, update, and delete project roles."},{"name":"Project role actors","description":"This resource represents the users assigned to [project roles](#api-group-Issue-comments). Use it to get, add, and remove default users from project roles. Also use it to add and remove users from a project role associated with a project."},{"name":"Project types","description":"This resource represents project types. Use it to obtain a list of all project types, a list of project types accessible to the calling user, and details of a project type."},{"name":"Project versions","description":"This resource represents project versions. Use it to get, get lists of, create, update, move, merge, and delete project versions. This resource also provides counts of issues by version."},{"name":"Screens","description":"This resource represents the screens used to record issue details. Use it to:\n\n * get details of all screens.\n * get details of all the fields available for use on screens.\n * create screens.\n * delete screens.\n * update screens.\n * add a field to the default screen."},{"name":"Screen tabs","description":"This resource represents the screen tabs used to record issue details. Use it to get, create, update, move, and delete screen tabs."},{"name":"Screen tab fields","description":"This resource represents the screen tab fields used to record issue details. Use it to get, add, move, and remove fields from screen tabs."},{"name":"Screen schemes","description":"This resource represents screen schemes in classic projects. Use it to get, create, update, and delete screen schemes."},{"name":"Server info","description":"This resource provides information about the Jira instance."},{"name":"Tasks","description":"This resource represents a [long-running asynchronous tasks](#async-operations). Use it to obtain details about the progress of a long-running task or cancel a long-running task."},{"name":"Time tracking","description":"This resource represents time tracking and time tracking providers. Use it to get and set the time tracking provider, get and set the time tracking options, and disable time tracking."},{"name":"Users","description":"This resource represent users. Use it to:\n\n * get, get a list of, create, and delete users.\n * get, set, and reset a user's default issue table columns.\n * get a list of the groups the user belongs to.\n * get a list of user account IDs for a list of usernames or user keys."},{"name":"User properties","description":"This resource represents [user](#api-group-Users) properties and provides for storing custom data against a user. Use it to get, create, and delete user properties as well as get a list of property keys for a user. This resourse is designed for integrations and apps to store per-user data and settings. This enables data used to customized the user experience to be kept in the Jira Cloud instance's database. User properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/).\n\nThis resource does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira."},{"name":"User search","description":"This resource represents various ways to search for and find users. Use it to obtain list of users including users assignable to projects and issues, users with permissions, user lists for pickup fields, and user lists generated using structured queries. Note that the operations in this resource only return users found within the first 1000 users."},{"name":"Webhooks","description":"This resource represents webhooks. Webhooks are calls sent to a URL when an event occurs in Jira for issues specified by a JQL query. Only Connect and OAuth 2.0 apps can register and manage webhooks. For more information, see [Webhooks](https://developer.atlassian.com/cloud/jira/platform/webhooks/#registering-a-webhook-via-the-jira-rest-api-for-connect-apps)."},{"name":"Workflows","description":"This resource represents workflows. Use it to:\n\n * get workflows.\n * create workflows.\n * delete inactive workflows."},{"name":"Workflow transition rules","description":"This resource represents workflow transition rules. Workflow transition rules define a Connect app routine, such as a [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/) that is executed in association with the workflow. Use it to read and modify configuration of workflow transition rules."},{"name":"Workflow schemes","description":"This resource represents workflow schemes. Use it to manage workflow schemes and the workflow scheme's workflows and issue types.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. When an active workflow scheme is edited, a draft copy of the scheme is created. The draft workflow scheme is then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information."},{"name":"Workflow scheme project associations","description":"This resource represents the associations between workflow schemes and projects.\n\nFor more information, see [Managing your workflows](https://confluence.atlassian.com/x/q4hKLg)."},{"name":"Workflow scheme drafts","description":"This resource represents draft workflow schemes. Use it to manage drafts of workflow schemes.\n\nA workflow scheme maps issue types to workflows. A workflow scheme can be associated with one or more projects, which enables the projects to use the workflow-issue type mappings.\n\nActive workflow schemes (workflow schemes that are used by projects) cannot be edited. Editing an active workflow scheme creates a draft copy of the scheme. The draft workflow scheme can then be edited and published (replacing the active scheme).\n\nSee [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information."},{"name":"Workflow statuses","description":"This resource represents issue workflow statuses. Use it to obtain a list of all statuses associated with workflows and the details of a status."},{"name":"Workflow status categories","description":"This resource represents status categories. Use it to obtain a list of all status categories and the details of a category. Status categories provided a mechanism for categorizing [statuses](#api-group-Workflow-statuses)."},{"name":"Workflow transition properties","description":"This resource represents workflow transition properties, which provides for storing custom data against a workflow transition. Use it to get, create, and delete workflow transition properties as well as get a list of property keys for a workflow transition. Workflow transition properties are a type of [entity property](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},{"name":"App properties","description":"This resource represents app properties. Use it to store arbitrary data for your\n[Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps)."},{"name":"Dynamic modules","description":"This resource represents [modules registered dynamically](https://developer.atlassian.com/cloud/jira/platform/dynamic-modules/)\nby [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps)."},{"name":"App migration","description":"This resource supports [app migrations](https://developer.atlassian.com/platform/app-migration/). Use it to:\n- [to request migrated workflow rules details](https://developer.atlassian.com/platform/app-migration/migration-app-workflow-rules/).\n- perform bulk updates of entity properties.\n- [perform bulk updates of issue custom field values](https://developer.atlassian.com/platform/app-migration/migrating-app-custom-fields/)."}],"paths":{"/rest/api/3/app/field/{fieldIdOrKey}/context/configuration":{"get":{"tags":["Issue custom field configuration (apps)"],"summary":"Get custom field configurations","description":"Returns a [paginated](#pagination) list of configurations for a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/).\n\nThe result can be filtered by one of these criteria:\n\n * `contextId`.\n * `issueId`.\n * `projectKeyOrId` and `issueTypeId`.\n\nOtherwise, all configurations are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field.","operationId":"getCustomFieldConfiguration","parameters":[{"name":"fieldIdOrKey","in":"path","description":"The ID or key of the custom field, for example `customfield_10000`.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"query","description":"The list of context IDs. To include multiple contexts, separate IDs with an ampersand: `contextId=10000&contextId=10001`. Can't be provided with `issueId`, `projectKeyOrId`, or `issueTypeId`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"issueId","in":"query","description":"The ID of the issue to filter results by. If the issue doesn't exist, an empty list is returned. Can't be provided with `contextIds`, `projectKeyOrId`, or `issueTypeId`.","schema":{"type":"integer","format":"int64"}},{"name":"projectKeyOrId","in":"query","description":"The ID or key of the project to filter results by. Must be provided with `issueTypeId`. Can't be provided with `contextIds` or `issueId`.","schema":{"type":"string"}},{"name":"issueTypeId","in":"query","description":"The ID of the issue type to filter results by. Must be provided with `projectKeyOrId`. Can't be provided with `contextIds` or `issueId`.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanContextualConfiguration"},"example":"{\"maxResults\":1000,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"contextId\":1000},{\"contextId\":1000,\"configuration\":{\"minValue\":0,\"maxValue\":10000},\"schema\":{\"properties\":{\"amount\":{\"type\":\"number\"},\"currency\":{\"type\":\"string\"}},\"required\":[\"amount\",\"currency\"]}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not a Jira admin or the request is not authenticated as from the app that provided the field."},"404":{"description":"Returned if the custom field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue custom field configuration (apps)"],"summary":"Update custom field configurations","description":"Update the configuration for contexts of a custom field created by a [Forge app](https://developer.atlassian.com/platform/forge/).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the Forge app that created the custom field.","operationId":"updateCustomFieldConfiguration","parameters":[{"name":"fieldIdOrKey","in":"path","description":"The ID or key of the custom field, for example `customfield_10000`.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldConfigurations"},"example":{"configurations":[{"contextId":1000},{"schema":{"properties":{"amount":{"type":"number"},"currency":{"type":"string"}},"required":["amount","currency"]},"configuration":{"minValue":0,"maxValue":10000},"contextId":1000}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not a Jira admin or the request is not authenticated as from the app that provided the field."},"404":{"description":"Returned if the custom field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/app/field/{fieldIdOrKey}/value":{"put":{"tags":["Issue custom field values (apps)"],"summary":"Update custom field value","description":"Updates the value of a custom field on one or more issues. Custom fields can only be updated by the Forge app that created them.\n\n**[Permissions](#permissions) required:** Only the app that created the custom field can update its values with this operation.","operationId":"updateCustomFieldValue","parameters":[{"name":"fieldIdOrKey","in":"path","description":"The ID or key of the custom field. For example, `customfield_10010`.","required":true,"schema":{"type":"string"}},{"name":"generateChangelog","in":"query","description":"Whether to generate a changelog for this update. Default: true.","schema":{"type":"boolean","default":true}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldValueUpdateRequest"},"example":{"updates":[{"issueIds":[10010],"value":"new value"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the request is not authenticated as the app that provided the field."},"404":{"description":"Returned if the field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/application-properties":{"get":{"tags":["Jira settings"],"summary":"Get application property","description":"Returns all application properties or an application property.\n\nIf you specify a value for the `key` parameter, then an application property is returned as an object (not in an array). Otherwise, an array of all editable application properties is returned. See [Set application property](#api-rest-api-3-application-properties-id-put) for descriptions of editable properties.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getApplicationProperty","parameters":[{"name":"key","in":"query","description":"The key of the application property.","schema":{"type":"string"}},{"name":"permissionLevel","in":"query","description":"The permission level of all items being returned in the list.","schema":{"type":"string"}},{"name":"keyFilter","in":"query","description":"When a `key` isn't provided, this filters the list of results by the application property `key` using a regular expression. For example, using `jira.lf.*` will return all application properties with keys that start with *jira.lf.*.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationProperty"}},"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 -\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the application property is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/application-properties/advanced-settings":{"get":{"tags":["Jira settings"],"summary":"Get advanced settings","description":"Returns the application properties that are accessible on the *Advanced Settings* page. To navigate to the *Advanced Settings* page in Jira, choose the Jira icon > **Jira settings** > **System**, **General Configuration** and then click **Advanced Settings** (in the upper right).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAdvancedSettings","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationProperty"}},"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 -\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/application-properties/{id}":{"put":{"tags":["Jira settings"],"summary":"Set application property","description":"Changes the value of an application property. For example, you can change the value of the `jira.clone.prefix` from its default value of *CLONE -* to *Clone -* if you prefer sentence case capitalization. Editable properties are described below along with their default values.\n\n#### Advanced settings ####\n\nThe advanced settings below are also accessible in [Jira](https://confluence.atlassian.com/x/vYXKM).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.clone.prefix` | The string of text prefixed to the title of a cloned issue. | `CLONE -` | \n| `jira.date.picker.java.format` | The date format for the Java (server-side) generated dates. This must be the same as the `jira.date.picker.javascript.format` format setting. | `d/MMM/yy` | \n| `jira.date.picker.javascript.format` | The date format for the JavaScript (client-side) generated dates. This must be the same as the `jira.date.picker.java.format` format setting. | `%e/%b/%y` | \n| `jira.date.time.picker.java.format` | The date format for the Java (server-side) generated date times. This must be the same as the `jira.date.time.picker.javascript.format` format setting. | `dd/MMM/yy h:mm a` | \n| `jira.date.time.picker.javascript.format` | The date format for the JavaScript (client-side) generated date times. This must be the same as the `jira.date.time.picker.java.format` format setting. | `%e/%b/%y %I:%M %p` | \n| `jira.issue.actions.order` | The default order of actions (such as *Comments* or *Change history*) displayed on the issue view. | `asc` | \n| `jira.table.cols.subtasks` | The columns to show while viewing subtask issues in a table. For example, a list of subtasks on an issue. | `issuetype, status, assignee, progress` | \n| `jira.view.issue.links.sort.order` | The sort order of the list of issue links on the issue view. | `type, status, priority` | \n| `jira.comment.collapsing.minimum.hidden` | The minimum number of comments required for comment collapsing to occur. A value of `0` disables comment collapsing. | `4` | \n| `jira.newsletter.tip.delay.days` | The number of days before a prompt to sign up to the Jira Insiders newsletter is shown. A value of `-1` disables this feature. | `7` | \n\n\n#### Look and feel ####\n\nThe settings listed below adjust the [look and feel](https://confluence.atlassian.com/x/VwCLLg).\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.lf.date.time` | The [ time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `h:mm a` | \n| `jira.lf.date.day` | The [ day format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `EEEE h:mm a` | \n| `jira.lf.date.complete` | The [ date and time format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy h:mm a` | \n| `jira.lf.date.dmy` | The [ date format](https://docs.oracle.com/javase/6/docs/api/index.html?java/text/SimpleDateFormat.html). | `dd/MMM/yy` | \n| `jira.date.time.picker.use.iso8061` | When enabled, sets Monday as the first day of the week in the date picker, as specified by the ISO8601 standard. | `false` | \n| `jira.lf.logo.url` | The URL of the logo image file. | `/images/icon-jira-logo.png` | \n| `jira.lf.logo.show.application.title` | Controls the visibility of the application title on the sidebar. | `false` | \n| `jira.lf.favicon.url` | The URL of the favicon. | `/favicon.ico` | \n| `jira.lf.favicon.hires.url` | The URL of the high-resolution favicon. | `/images/64jira.png` | \n| `jira.lf.navigation.bgcolour` | The background color of the sidebar. | `#0747A6` | \n| `jira.lf.navigation.highlightcolour` | The color of the text and logo of the sidebar. | `#DEEBFF` | \n| `jira.lf.hero.button.base.bg.colour` | The background color of the hero button. | `#3b7fc4` | \n| `jira.title` | The text for the application title. The application title can also be set in *General settings*. | `Jira` | \n| `jira.option.globalsharing` | Whether filters and dashboards can be shared with anyone signed into Jira. | `true` | \n| `xflow.product.suggestions.enabled` | Whether to expose product suggestions for other Atlassian products within Jira. | `true` | \n\n\n#### Other settings ####\n\n| Key | Description | Default value | \n| -- | -- | -- | \n| `jira.issuenav.criteria.autoupdate` | Whether instant updates to search criteria is active. | `true` | \n\n\n*Note: Be careful when changing [application properties and advanced settings](https://confluence.atlassian.com/x/vYXKM).*\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setApplicationProperty","parameters":[{"name":"id","in":"path","description":"The key of the application property to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimpleApplicationPropertyBean"},"example":{"id":"jira.home","value":"/var/jira/jira-home"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationProperty"}}}},"400":{"description":"Returned if the data type of the `value` does not match the application property's data type. For example, a string is provided instead of an integer."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the property."},"404":{"description":"Returned if the property is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/applicationrole":{"get":{"tags":["Application roles"],"summary":"Get all application roles","description":"Returns all application roles. In Jira, application roles are managed using the [Application access configuration](https://confluence.atlassian.com/x/3YxjL) page.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllApplicationRoles","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRole"}},"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}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/applicationrole/{key}":{"get":{"tags":["Application roles"],"summary":"Get application role","description":"Returns an application role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getApplicationRole","parameters":[{"name":"key","in":"path","description":"The key of the application role. Use the [Get all application roles](#api-rest-api-3-applicationrole-get) operation to get the key for each application role.","required":true,"schema":{"type":"string","example":"jira-software"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationRole"},"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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not an administrator."},"404":{"description":"Returned if the role is not found."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/attachment/meta":{"get":{"tags":["Issue attachments"],"summary":"Get Jira attachment settings","description":"Returns the attachment settings, that is, whether attachments are enabled and the maximum attachment size allowed.\n\nNote that there are also [project permissions](https://confluence.atlassian.com/x/yodKLg) that restrict whether users can create and delete attachments.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAttachmentMeta","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentSettings"},"example":"{\"enabled\":true,\"uploadLimit\":1000000}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/attachment/{id}":{"get":{"tags":["Issue attachments"],"summary":"Get attachment metadata","description":"Returns the metadata for an attachment. Note that the attachment itself is not returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getAttachment","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentMetadata"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:41.752+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/secure/thumbnail/10000/picture.jpg\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Issue attachments"],"summary":"Delete attachment","description":"Deletes an attachment from an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the project holding the issue containing the attachment:\n\n * *Delete own attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by the calling user.\n * *Delete all attachments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete an attachment created by any user.","operationId":"removeAttachment","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/attachment/{id}/expand/human":{"get":{"tags":["Issue attachments"],"summary":"Get all metadata for an expanded attachment","description":"Returns the metadata for the contents of an attachment, if it is an archive, and metadata for the attachment itself. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned and metadata for the ZIP archive. Currently, only the ZIP archive format is supported.\n\nUse this operation to retrieve data that is presented to the user, as this operation returns the metadata for the attachment itself, such as the attachment's ID and name. Otherwise, use [ Get contents metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-raw-get), which only returns the metadata for the attachment's contents.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"expandAttachmentForHumans","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentArchiveMetadataReadable"},"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\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"The user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."},"409":{"description":"Returned if the attachment is an archive, but not a supported archive format."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/attachment/{id}/expand/raw":{"get":{"tags":["Issue attachments"],"summary":"Get contents metadata for an expanded attachment","description":"Returns the metadata for the contents of an attachment, if it is an archive. For example, if the attachment is a ZIP archive, then information about the files in the archive is returned. Currently, only the ZIP archive format is supported.\n\nUse this operation if you are processing the data without presenting it to the user, as this operation only returns the metadata for the contents of the attachment. Otherwise, to retrieve data to present to the user, use [ Get all metadata for an expanded attachment](#api-rest-api-3-attachment-id-expand-human-get) which also returns the metadata for the attachment itself, such as the attachment's ID and name.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** For the issue containing the attachment:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"expandAttachmentForMachines","parameters":[{"name":"id","in":"path","description":"The ID of the attachment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. If an empty list is returned in the response, the attachment is empty, corrupt, or not an archive.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentArchiveImpl"},"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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"The user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the attachment is not found.\n * attachments are disabled in the Jira settings."},"409":{"description":"Returned if the attachment is an archive, but not a supported archive format."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/auditing/record":{"get":{"tags":["Audit records"],"summary":"Get audit records","description":"Returns a list of audit records. The list can be filtered to include items:\n\n * where each item in `filter` has at least one match in any of these fields:\n \n * `summary`\n * `category`\n * `eventSource`\n * `objectItem.name` If the object is a user, account ID is available to filter.\n * `objectItem.parentName`\n * `objectItem.typeName`\n * `changedValues.changedFrom`\n * `changedValues.changedTo`\n * `remoteAddress`\n \n For example, if `filter` contains *man ed*, an audit record containing `summary\": \"User added to group\"` and `\"category\": \"group management\"` is returned.\n * created on or after a date and time.\n * created or or before a date and time.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAuditRecords","parameters":[{"name":"offset","in":"query","description":"The number of records to skip before returning the first result.","schema":{"type":"integer","format":"int32","default":0}},{"name":"limit","in":"query","description":"The maximum number of results to return.","schema":{"type":"integer","format":"int32","default":1000}},{"name":"filter","in":"query","description":"The strings to match with audit field content, space separated.","schema":{"type":"string"}},{"name":"from","in":"query","description":"The date and time on or after which returned audit records must have been created. If `to` is provided `from` must be before `to` or no audit records are returned.","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","description":"The date and time on or before which returned audit results must have been created. If `from` is provided `to` must be after `from` or no audit records are returned.","schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditRecords"},"example":"{\"offset\":0,\"limit\":1000,\"total\":1,\"records\":[{\"id\":1,\"summary\":\"User created\",\"remoteAddress\":\"192.168.1.1\",\"authorKey\":\"administrator\",\"authorAccountId\":\"5ab8f18d741e9c2c7e9d4538\",\"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\"}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the required permissions.\n * all Jira products are on free plans. Audit logs are available when at least one Jira product is on a paid plan."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/avatar/{type}/system":{"get":{"tags":["Avatars"],"summary":"Get system avatars by type","description":"Returns a list of system avatar details by owner type, where the owner types are issue type, project, or user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllSystemAvatars","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","example":"project","enum":["issuetype","project","user"]},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemAvatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"500":{"description":"Returned if an error occurs while retrieving the list of avatars."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/comment/list":{"post":{"tags":["Issue comments"],"summary":"Get comments by IDs","description":"Returns a [paginated](#pagination) list of comments specified by a list of comment IDs.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are returned where the user:\n\n * has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentsByIds","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedBody` Returns the comment body rendered in HTML.\n * `properties` Returns the comment's properties.","schema":{"type":"string"}}],"requestBody":{"description":"The list of comment IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCommentListRequestBean"},"example":{"ids":[1,2,5,10]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanComment"},"example":"{\"maxResults\":1048576,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:40.706+0000\",\"updated\":\"2021-09-03T02:19:40.706+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}]}"}}},"400":{"description":"Returned if the request contains more than 1000 IDs or is empty."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/comment/{commentId}/properties":{"get":{"tags":["Issue comment properties"],"summary":"Get comment property keys","description":"Returns the keys of all the properties of a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentPropertyKeys","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the comment ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/comment/{commentId}/properties/{propertyKey}":{"get":{"tags":["Issue comment properties"],"summary":"Get comment property","description":"Returns the value of a comment property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment or the property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue comment properties"],"summary":"Set comment property","description":"Creates or updates the value of a property for a comment. Use this resource to store custom data against a comment.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to create or update the value of a property on a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.","operationId":"setCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the comment property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the comment property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue comment properties"],"summary":"Delete comment property","description":"Deletes a comment property.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Edit All Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from any comment.\n * *Edit Own Comments* [project permission](https://confluence.atlassian.com/x/yodKLg) to delete a property from a comment created by the user.\n\nAlso, when the visibility of a comment is restricted to a role or group the user must be a member of that role or group.","operationId":"deleteCommentProperty","parameters":[{"name":"commentId","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the comment or the property is not found or the user has the necessary project permissions but isn't a member of the role or group visibility of the comment is restricted to."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/component":{"post":{"tags":["Project components"],"summary":"Create component","description":"Creates a component. Use components to provide containers for issues within a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the component is created or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createComponent","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":{"isAssigneeTypeValid":false,"name":"Component 1","description":"This is a Jira component","project":"HSP","assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a2844c20165700ede21g"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `name` is not provided.\n * `name` is over 255 characters in length.\n * `projectId` is not provided.\n * `assigneeType` is an invalid value."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if the project is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/component/{id}":{"get":{"tags":["Project components"],"summary":"Get component","description":"Returns a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for project containing the component.","operationId":"getComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the component is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project components"],"summary":"Update component","description":"Updates a component. Any fields included in the request are overwritten. If `leadAccountId` is an empty string (\"\") the component lead is removed.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":{"isAssigneeTypeValid":false,"name":"Component 1","description":"This is a Jira component","assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a2844c20165700ede21g"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectComponent"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `assigneeType` is an invalid value.\n * `name` is over 255 characters in length."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if the component is not found or the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project components"],"summary":"Delete component","description":"Deletes a component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the component or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteComponent","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}},{"name":"moveIssuesTo","in":"query","description":"The ID of the component to replace the deleted component. If this value is null no replacement is made.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to manage the project containing the component or does not have permission to administer Jira."},"404":{"description":"Returned if:\n\n * the component is not found.\n * the replacement component is not found.\n * the user does not have permission to browse the project containing the component."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/component/{id}/relatedIssueCounts":{"get":{"tags":["Project components"],"summary":"Get component issues count","description":"Returns the counts of issues assigned to the component.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getComponentRelatedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the component.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentIssuesCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"issueCount\":23}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the component is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/configuration":{"get":{"tags":["Jira settings"],"summary":"Get global settings","description":"Returns the [global settings](https://confluence.atlassian.com/x/qYXKM) in Jira. These settings determine whether optional features (for example, subtasks, time tracking, and others) are enabled. If time tracking is enabled, this operation also returns the time tracking configuration.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getConfiguration","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"},"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\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/configuration/timetracking":{"get":{"tags":["Time tracking"],"summary":"Get selected time tracking provider","description":"Returns the time tracking provider that is currently selected. Note that if time tracking is disabled, then a successful but empty response is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getSelectedTimeTrackingImplementation","parameters":[],"responses":{"200":{"description":"Returned if the request is successful and time tracking is enabled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingProvider"},"example":"{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\",\"url\":\"/example/config/url\"}"}}},"204":{"description":"Returned if the request is successful but time tracking is disabled.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Time tracking"],"summary":"Select time tracking provider","description":"Selects a time tracking provider.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"selectTimeTrackingImplementation","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingProvider"},"example":{"key":"Jira"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the time tracking provider is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/configuration/timetracking/list":{"get":{"tags":["Time tracking"],"summary":"Get all time tracking providers","description":"Returns all time tracking providers. By default, Jira only has one time tracking provider: *JIRA provided time tracking*. However, you can install other time tracking providers via apps from the Atlassian Marketplace. For more information on time tracking providers, see the documentation for the [ Time Tracking Provider](https://developer.atlassian.com/cloud/jira/platform/modules/time-tracking-provider/) module.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAvailableTimeTrackingImplementations","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TimeTrackingProvider"}},"example":"[{\"key\":\"Jira\",\"name\":\"JIRA provided time tracking\",\"url\":\"/example/config/url\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/configuration/timetracking/options":{"get":{"tags":["Time tracking"],"summary":"Get time tracking settings","description":"Returns the time tracking settings. This includes settings such as the time format, default time unit, and others. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getSharedTimeTrackingConfiguration","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":"{\"workingHoursPerDay\":7.6,\"workingDaysPerWeek\":5.5,\"timeFormat\":\"pretty\",\"defaultUnit\":\"hour\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Time tracking"],"summary":"Set time tracking settings","description":"Sets the time tracking settings.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setSharedTimeTrackingConfiguration","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":{"defaultUnit":"hour","workingHoursPerDay":7.6,"workingDaysPerWeek":5.5,"timeFormat":"pretty"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimeTrackingConfiguration"},"example":"{\"workingHoursPerDay\":7.6,\"workingDaysPerWeek\":5.5,\"timeFormat\":\"pretty\",\"defaultUnit\":\"hour\"}"}}},"400":{"description":"Returned if the request object is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/customFieldOption/{id}":{"get":{"tags":["Issue custom field options"],"summary":"Get custom field option","description":"Returns a custom field option. For example, an option in a select list.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The custom field option is returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the custom field is used in, and the field is visible in at least one layout the user has permission to view.","operationId":"getCustomFieldOption","parameters":[{"name":"id","in":"path","description":"The ID of the custom field option.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/customFieldOption/10000\",\"value\":\"To Do\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the custom field option is not found.\n * the user does not have permission to view the custom field."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/dashboard":{"get":{"tags":["Dashboards"],"summary":"Get all dashboards","description":"Returns a list of dashboards owned by or shared with the user. The list may be filtered to include only favorite or owned dashboards.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllDashboards","parameters":[{"name":"filter","in":"query","description":"The filter applied to the list of dashboards. Valid values are:\n\n * `favourite` Returns dashboards the user has marked as favorite.\n * `my` Returns dashboards owned by the user.","schema":{"type":"string","enum":["my","favourite"]}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfDashboards"},"example":"{\"startAt\":10,\"maxResults\":10,\"total\":143,\"prev\":\"https://your-domain.atlassian.net/rest/api/3/dashboard?startAt=0\",\"next\":\"https://your-domain.atlassian.net/rest/api/3/dashboard?startAt=10\",\"dashboards\":[{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"},{\"id\":\"20000\",\"isFavourite\":true,\"name\":\"Build Engineering\",\"owner\":{\"key\":\"Mia\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"name\":\"mia\",\"displayName\":\"Mia Krystof\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"}},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/20000\",\"sharePermissions\":[{\"id\":10105,\"type\":\"group\",\"group\":{\"name\":\"administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=administrators\"}}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=20000\"}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Dashboards"],"summary":"Create dashboard","description":"Creates a dashboard.\n\n**[Permissions](#permissions) required:** None.","operationId":"createDashboard","parameters":[],"requestBody":{"description":"Dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"editPermissions":[],"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/dashboard/search":{"get":{"tags":["Dashboards"],"summary":"Search for dashboards","description":"Returns a [paginated](#pagination) list of dashboards. This operation is similar to [Get dashboards](#api-rest-api-3-dashboard-get) except that the results can be refined to include dashboards that have specific attributes. For example, dashboards with a particular name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The following dashboards that match the query parameters are returned:\n\n * Dashboards owned by the user. Not returned for anonymous users.\n * Dashboards shared with a group that the user is a member of. Not returned for anonymous users.\n * Dashboards shared with a private project that the user can browse. Not returned for anonymous users.\n * Dashboards shared with a public project.\n * Dashboards shared with the public.","operationId":"getDashboardsPaginated","parameters":[{"name":"dashboardName","in":"query","description":"String used to perform a case-insensitive partial match with `name`.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"User account ID used to return dashboards with the matching `owner.accountId`. This parameter cannot be used with the `owner` parameter.","schema":{"maxLength":128,"type":"string"}},{"name":"owner","in":"query","description":"This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return dashboards with the matching `owner.name`. This parameter cannot be used with the `accountId` parameter.","schema":{"type":"string"}},{"name":"groupname","in":"query","description":"Group name used to returns dashboards that are shared with a group that matches `sharePermissions.group.name`.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"Project ID used to returns dashboards that are shared with a project that matches `sharePermissions.project.id`.","schema":{"type":"integer","format":"int64"}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by dashboard description. Note that this sort works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by dashboard popularity.\n * `id` Sorts by dashboard ID.\n * `is_favourite` Sorts by whether the dashboard is marked as a favorite.\n * `name` Sorts by dashboard name.\n * `owner` Sorts by dashboard owner name.","schema":{"type":"string","enum":["description","-description","+description","favorite_count","-favorite_count","+favorite_count","id","-id","+id","is_favorite","-is_favorite","+is_favorite","name","-name","+name","owner","-owner","+owner"],"default":"name"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about dashboard in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the dashboard.\n * `owner` Returns the owner of the dashboard.\n * `viewUrl` Returns the URL that is used to view the dashboard.\n * `favourite` Returns `isFavourite`, an indicator of whether the user has set the dashboard as a favorite.\n * `favouritedCount` Returns `popularity`, a count of how many users have set this dashboard as a favorite.\n * `sharePermissions` Returns details of the share permissions defined for the dashboard.\n * `editPermissions` Returns details of the edit permissions defined for the dashboard.\n * `isWritable` Returns whether the current user has permission to edit the dashboard.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanDashboard"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/search?expand=owner&maxResults=50&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"description\":\"Testing program\",\"id\":\"1\",\"isFavourite\":true,\"name\":\"Testing\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\",\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"}},\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/1\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=1\"},{\"description\":\"Quantum initiative\",\"id\":\"2\",\"isFavourite\":false,\"name\":\"Quantum \",\"owner\":{\"self\":\"https://your-domain.atlassian.net/user?accountId=5b10a2844c20165700ede21g\",\"displayName\":\"Mia\",\"active\":true,\"accountId\":\"5b10a2844c20165700ede21g\",\"avatarUrls\":{\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\"}},\"popularity\":0,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/2\",\"sharePermissions\":[{\"type\":\"loggedin\"}],\"view\":\"https://your-domain.atlassian.net/Dashboard.jspa?selectPageId=2\"}]}"}}},"400":{"description":"Returned if:\n\n * `orderBy` is invalid.\n * `expand` includes an invalid value.\n * `accountId` and `owner` are provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"401 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties":{"get":{"tags":["Dashboards"],"summary":"Get dashboard item property keys","description":"Returns the keys of all properties for a dashboard item.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or be shared the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboardItemPropertyKeys","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the dashboard or dashboard item is not found, or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/dashboard/{dashboardId}/items/{itemId}/properties/{propertyKey}":{"get":{"tags":["Dashboards"],"summary":"Get dashboard item property","description":"Returns the key and value of a dashboard item property.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard or be shared the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the dashboard, the dashboard item, or dashboard item property is not found, or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Dashboards"],"summary":"Set dashboard item property","description":"Sets the value of a dashboard item property. Use this resource in apps to store custom data against a dashboard item.\n\nA dashboard item enables an app to add user-specific information to a user dashboard. Dashboard items are exposed to users as gadgets that users can add to their dashboards. For more information on how users do this, see [Adding and customizing gadgets](https://confluence.atlassian.com/x/7AeiLQ).\n\nWhen an app creates a dashboard item it registers a callback to receive the dashboard item ID. The callback fires whenever the item is rendered or, where the item is configurable, the user edits the item. The app then uses this resource to store the item's content or configuration details. For more information on working with dashboard items, see [ Building a dashboard item for a JIRA Connect add-on](https://developer.atlassian.com/server/jira/platform/guide-building-a-dashboard-item-for-a-jira-connect-add-on-33746254/) and the [Dashboard Item](https://developer.atlassian.com/cloud/jira/platform/modules/dashboard-item/) documentation.\n\nThere is no resource to set or get dashboard items.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.","operationId":"setDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the dashboard item property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the dashboard item property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not the owner of the dashboard."},"404":{"description":"Returned if the dashboard item is not found or the dashboard is not shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Dashboards"],"summary":"Delete dashboard item property","description":"Deletes a dashboard item property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** The user must be the owner of the dashboard. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard.","operationId":"deleteDashboardItemProperty","parameters":[{"name":"dashboardId","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}},{"name":"itemId","in":"path","description":"The ID of the dashboard item.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the dashboard item property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the dashboard item property is deleted."},"400":{"description":"Returned if the dashboard or dashboard item ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user is not the owner of the dashboard."},"404":{"description":"Returned if the dashboard item is not found or the dashboard is not shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/dashboard/{id}":{"get":{"tags":["Dashboards"],"summary":"Get dashboard","description":"Returns a dashboard.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.\n\nHowever, to get a dashboard, the dashboard must be shared with the user or the user must own it. Note, users with the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) are considered owners of the System dashboard. The System dashboard is considered to be shared with all other users.","operationId":"getDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by or shared with the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Dashboards"],"summary":"Update dashboard","description":"Updates a dashboard, replacing all the dashboard details with those provided.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be updated must be owned by the user.","operationId":"updateDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard to update.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Replacement dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"editPermissions":[],"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Dashboards"],"summary":"Delete dashboard","description":"Deletes a dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be deleted must be owned by the user.","operationId":"deleteDashboard","parameters":[{"name":"id","in":"path","description":"The ID of the dashboard.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the dashboard is deleted."},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/dashboard/{id}/copy":{"post":{"tags":["Dashboards"],"summary":"Copy dashboard","description":"Copies a dashboard. Any values provided in the `dashboard` parameter replace those in the copied dashboard.\n\n**[Permissions](#permissions) required:** None\n\nThe dashboard to be copied must be owned by or shared with the user.","operationId":"copyDashboard","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Dashboard details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardDetails"},"example":{"editPermissions":[],"name":"Auditors dashboard","description":"A dashboard to help auditors identify sample of issues to check.","sharePermissions":[{"type":"global"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dashboard"},"example":"{\"id\":\"10000\",\"isFavourite\":false,\"name\":\"System Dashboard\",\"popularity\":1,\"self\":\"https://your-domain.atlassian.net/rest/api/3/dashboard/10000\",\"sharePermissions\":[{\"type\":\"global\"}],\"view\":\"https://your-domain.atlassian.net/secure/Dashboard.jspa?selectPageId=10000\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the dashboard is not found or the dashboard is not owned by or shared with the user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/expression/analyse":{"post":{"tags":["Jira expressions"],"summary":"Analyse Jira expression","description":"Analyses and validates Jira expressions.\n\nAs an experimental feature, this operation can also attempt to type-check the expressions.\n\nLearn more about Jira expressions in the [documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/).\n\n**[Permissions](#permissions) required**: None.","operationId":"analyseExpression","parameters":[{"name":"check","in":"query","description":"The check to perform:\n\n * `syntax` Each expression's syntax is checked to ensure the expression can be parsed. Also, syntactic limits are validated. For example, the expression's length.\n * `type` EXPERIMENTAL. Each expression is type checked and the final type of the expression inferred. Any type errors that would result in the expression failure at runtime are reported. For example, accessing properties that don't exist or passing the wrong number of arguments to functions. Also performs the syntax check.\n * `complexity` EXPERIMENTAL. Determines the formulae for how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) each expression may execute.","schema":{"type":"string","enum":["syntax","type","complexity"],"default":"syntax"}}],"requestBody":{"description":"The Jira expressions to analyse.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionForAnalysis"},"example":{"contextVariables":{"listOfStrings":"List","record":"{ a: Number, b: String }","value":"User"},"expressions":["issues.map(issue => issue.properties['property_key'])"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionsAnalysis"},"example":"{\"results\":[{\"expression\":\"analysed expression\",\"errors\":[{\"line\":1,\"column\":4,\"message\":\"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered.\",\"type\":\"syntax\"},{\"message\":\"Jira expression is too long (1040), limit: 1000 characters\",\"type\":\"other\"},{\"message\":\"Jira expression has too many nodes (150), limit: 100 leaves\",\"type\":\"other\"}],\"valid\":false},{\"expression\":\"issues.map(i => {idAndKey: [i.id, i.key], summary: i.summary, comments: i.comments})\",\"valid\":true,\"type\":\"List<{idAndKey: [Number, String], summary: String, comments: List}>\",\"complexity\":{\"expensiveOperations\":\"N\",\"variables\":{\"N\":\"issues\"}}},{\"expression\":\"issues.map(i => i.id > '0')\",\"errors\":[{\"expression\":\"i.id > 0\",\"message\":\"Can't compare Number to String.\",\"type\":\"type\"}],\"valid\":false,\"type\":\"TypeError\"}]}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"404 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/expression/eval":{"post":{"tags":["Jira expressions"],"summary":"Evaluate Jira expression","description":"Evaluates a Jira expression and returns its value.\n\nThis resource can be used to test Jira expressions that you plan to use elsewhere, or to fetch data in a flexible way. Consult the [Jira expressions documentation](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/) for more details.\n\n#### Context variables ####\n\nThe following context variables are available to Jira expressions evaluated by this resource. Their presence depends on various factors; usually you need to manually request them in the context object sent in the payload, but some of them are added automatically under certain conditions.\n\n * `user` ([User](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#user)): The current user. Always available and equal to `null` if the request is anonymous.\n * `app` ([App](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#app)): The [Connect app](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) that made the request. Available only for authenticated requests made by Connect Apps (read more here: [Authentication for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/)).\n * `issue` ([Issue](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): The current issue. Available only when the issue is provided in the request context object.\n * `issues` ([List](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#list) of [Issues](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#issue)): A collection of issues matching a JQL query. Available only when JQL is provided in the request context object.\n * `project` ([Project](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#project)): The current project. Available only when the project is provided in the request context object.\n * `sprint` ([Sprint](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#sprint)): The current sprint. Available only when the sprint is provided in the request context object.\n * `board` ([Board](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#board)): The current board. Available only when the board is provided in the request context object.\n * `serviceDesk` ([ServiceDesk](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#servicedesk)): The current service desk. Available only when the service desk is provided in the request context object.\n * `customerRequest` ([CustomerRequest](https://developer.atlassian.com/cloud/jira/platform/jira-expressions-type-reference#customerrequest)): The current customer request. Available only when the customer request is provided in the request context object.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required**: None. However, an expression may return different results for different users depending on their permissions. For example, different users may see different comments on the same issue. \nPermission to access Jira Software is required to access Jira Software context variables (`board` and `sprint`) or fields (for example, `issue.sprint`).","operationId":"evaluateJiraExpression","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `meta.complexity` that returns information about the expression complexity. For example, the number of expensive operations used by the expression and how close the expression is to reaching the [complexity limit](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions). Useful when designing and debugging your expressions.","schema":{"type":"string"}}],"requestBody":{"description":"The Jira expression and the evaluation context.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionEvalRequestBean"},"example":{"expression":"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }","context":{"issue":{"key":"ACJIRA-1470"},"sprint":10001,"project":{"key":"ACJIRA"},"serviceDesk":10023,"issues":{"jql":{"maxResults":100,"query":"project = HSP","startAt":0,"validation":"strict"}},"board":10100,"customerRequest":1450}}}},"required":true},"responses":{"200":{"description":"Returned if the evaluation results in a value. The result is a JSON primitive value, list, or object.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JiraExpressionResult"},"example":"{\"value\":\"The expression's result. This value can be any JSON, not necessarily a String\",\"meta\":{\"complexity\":{\"steps\":{\"value\":1,\"limit\":10000},\"expensiveOperations\":{\"value\":3,\"limit\":10},\"beans\":{\"value\":0,\"limit\":1000},\"primitiveValues\":{\"value\":1,\"limit\":10000}},\"issues\":{\"jql\":{\"startAt\":0,\"maxResults\":1000,\"count\":140,\"totalCount\":140,\"validationWarnings\":[\"There is a problem with the JQL query.\"]}}}}"}}},"400":{"description":"Returned if:\n\n * the request is invalid, that is:\n \n * invalid data is provided, such as a request including issue ID and key.\n * the expression is invalid and can not be parsed.\n * evaluation fails at runtime. This may happen for various reasons. For example, accessing a property on a null object (such as the expression `issue.id` where `issue` is `null`). In this case an error message is provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Evaluation failed: \\\"issue['a' + 'b']\\\" - Unrecognized property of `issue`: \\\"ab\\\" ('a' + 'b'). Available properties of type 'Issue' are: 'assignee', 'comments', 'description', 'id', 'issueType', 'key', 'priority', 'project', 'properties', 'reporter', 'status', 'summary'\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if any object provided in the request context is not found or the user does not have permission to view it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Issue does not exist or you do not have permission to see it.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/field":{"get":{"tags":["Issue fields"],"summary":"Get fields","description":"Returns system and custom issue fields according to the following rules:\n\n * Fields that cannot be added to the issue navigator are always returned.\n * Fields that cannot be placed on an issue screen are always returned.\n * Fields that depend on global Jira settings are only returned if the setting is enabled. That is, timetracking fields, subtasks, votes, and watches.\n * For all other fields, this operation only returns the fields that the user has permission to view (that is, the field is used in at least one project that the user has *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.)\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getFields","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FieldDetails"}},"example":"[{\"id\":\"description\",\"name\":\"Description\",\"custom\":false,\"orderable\":true,\"navigable\":true,\"searchable\":true,\"clauseNames\":[\"description\"],\"schema\":{\"type\":\"string\",\"system\":\"description\"}},{\"id\":\"summary\",\"key\":\"summary\",\"name\":\"Summary\",\"custom\":false,\"orderable\":true,\"navigable\":true,\"searchable\":true,\"clauseNames\":[\"summary\"],\"schema\":{\"type\":\"string\",\"system\":\"summary\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue fields"],"summary":"Create custom field","description":"Creates a custom field.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomField","parameters":[],"requestBody":{"description":"Definition of the custom field to be created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldDefinitionJsonBean"},"example":{"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","name":"New custom field","description":"Custom field for picking groups","type":"com.atlassian.jira.plugin.system.customfieldtypes:grouppicker"}}},"required":true},"responses":{"201":{"description":"Returned if the custom field is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldDetails"},"example":"{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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}}"}}},"400":{"description":"Returned if:\n\n * the user does not have permission to create custom fields.\n * any of the request object properties have invalid or missing values."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/search":{"get":{"tags":["Issue fields"],"summary":"Get fields paginated","description":"Returns a [paginated](#pagination) list of fields for Classic Jira projects. The list can include:\n\n * all fields.\n * specific fields, by defining `id`.\n * fields that contain a string in the field name or description, by defining `query`.\n * specific fields that contain a string in the field name or description, by defining `id` and `query`.\n\nOnly custom fields can be queried, `type` must be set to `custom`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldsPaginated","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"type","in":"query","description":"The type of fields to search.","schema":{"type":"array","items":{"type":"string","enum":["custom","system"]}}},{"name":"id","in":"query","description":"The IDs of the custom fields to return or, where `query` is specified, filter.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"query","in":"query","description":"String used to perform a case-insensitive partial match with field names or descriptions.","schema":{"type":"string"}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `contextsCount` Sorts by the number of contexts related to a field.\n * `lastUsed` Sorts by the date when the value of the field last changed.\n * `name` Sorts by the field name.\n * `screensCount` Sorts by the number of screens related to a field.","schema":{"type":"string","enum":["contextsCount","-contextsCount","+contextsCount","lastUsed","-lastUsed","+lastUsed","name","-name","+name","screensCount","-screensCount","+screensCount"]}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `key` Returns the key for each field.\n * `lastUsed` Returns the date when the value of the field last changed.\n * `screensCount` Returns the number of screens related to a field.\n * `contextsCount` Returns the number of contexts related to a field.\n * `isLocked` Returns information about whether the field is [locked](https://confluence.atlassian.com/x/ZSN7Og).\n * `searcherKey` Returns the searcher key for each custom field.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanField"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":false,\"values\":[{\"id\":\"customfield_10000\",\"name\":\"Approvers\",\"schema\":{\"type\":\"array\",\"items\":\"user\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker\",\"customId\":10000},\"description\":\"Contains users needed for approval. This custom field was created by Jira Service Desk.\",\"key\":\"customfield_10000\",\"isLocked\":true,\"searcherKey\":\"com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher\",\"screensCount\":2,\"contextsCount\":2,\"lastUsed\":{\"type\":\"TRACKED\",\"value\":\"2019-09-12T10:10:00.355+0000\"}},{\"id\":\"customfield_10001\",\"name\":\"Change reason\",\"schema\":{\"type\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:select\",\"customId\":10001},\"description\":\"Choose the reason for the change request\",\"key\":\"customfield_10001\",\"isLocked\":false,\"searcherKey\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher\",\"screensCount\":2,\"contextsCount\":2,\"lastUsed\":{\"type\":\"NOT_TRACKED\"}}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only custom fields can be queried.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can access fields.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldId}":{"put":{"tags":["Issue fields"],"summary":"Update custom field","description":"Updates a custom field.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateCustomField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The custom field update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCustomFieldDetails"},"example":{"searcherKey":"com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher","name":"Managers and employees list","description":"Select the manager and the corresponding employee."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"searcherKey is invalid for the field type.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can edit custom fields.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context":{"get":{"tags":["Issue custom field contexts"],"summary":"Get custom field contexts","description":"Returns a [paginated](#pagination) list of [ contexts](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html) for a custom field. Contexts can be returned as follows:\n\n * With no other parameters set, all contexts.\n * By defining `id` only, all contexts from the list of IDs.\n * By defining `isAnyIssueType`, limit the list of contexts returned to either those that apply to all issue types (true) or those that apply to only a subset of issue types (false)\n * By defining `isGlobalContext`, limit the list of contexts return to either those that apply to all projects (global contexts) (true) or those that apply to only a subset of projects (false).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getContextsForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"isAnyIssueType","in":"query","description":"Whether to return contexts that apply to all issue types.","schema":{"type":"boolean"}},{"name":"isGlobalContext","in":"query","description":"Whether to return contexts that apply to all projects.","schema":{"type":"boolean"}},{"name":"contextId","in":"query","description":"The list of context IDs. To include multiple contexts, separate IDs with ampersand: `contextId=10000&contextId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContext"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"10025\",\"name\":\"Bug fields context\",\"description\":\"A context used to define the custom field options for bugs.\",\"isGlobalContext\":true,\"isAnyIssueType\":false},{\"id\":\"10026\",\"name\":\"Task fields context\",\"description\":\"A context used to define the custom field options for tasks.\",\"isGlobalContext\":false,\"isAnyIssueType\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field was not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue custom field contexts"],"summary":"Create custom field context","description":"Creates a custom field context.\n\nIf `projectIds` is empty, a global context is created. A global context is one that applies to all project. If `issueTypeIds` is empty, the context applies to all issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomFieldContext"},"example":{"issueTypeIds":["10010"],"name":"Bug fields context","description":"A context used to define the custom field options for bugs.","projectIds":[]}}},"required":true},"responses":{"201":{"description":"Returned if the custom field context is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCustomFieldContext"},"example":"{\"id\":\"10025\",\"name\":\"Bug fields context\",\"description\":\"A context used to define the custom field options for bugs.\",\"projectIds\":[],\"issueTypeIds\":[\"10010\"]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field, project, or issue type is not found."},"409":{"description":"Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/defaultValue":{"get":{"tags":["Issue custom field contexts"],"summary":"Get custom field contexts default values","description":"Returns a [paginated](#pagination) list of defaults for a custom field. The results can be filtered by `contextId`, otherwise all values are returned. If no defaults are set for a context, nothing is returned. \nThe returned object depends on type of the custom field:\n\n * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons.\n * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes.\n * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDefaultValues","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field, for example `customfield\\_10000`.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"query","description":"The IDs of the contexts.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContextDefaultValue"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"type\":\"option.single\",\"contextId\":\"10100\",\"optionId\":\"10001\"},{\"type\":\"option.single\",\"contextId\":\"10101\",\"optionId\":\"10003\"},{\"type\":\"option.single\",\"contextId\":\"10103\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue custom field contexts"],"summary":"Set custom field contexts default values","description":"Sets default for contexts of a custom field. Default are defined using these objects:\n\n * `CustomFieldContextDefaultValueSingleOption` (type `option.single`) for single choice select lists and radio buttons.\n * `CustomFieldContextDefaultValueMultipleOption` (type `option.multiple`) for multiple choice select lists and checkboxes.\n * `CustomFieldContextDefaultValueCascadingOption` (type `option.cascading`) for cascading select lists.\n\nOnly one type of default object can be included in a request. To remove a default for a context, set the default parameter to `null`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setDefaultValues","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldContextDefaultValueUpdate"},"example":{"defaultValues":[{"contextId":"10100","optionId":"10001","type":"option.single"},{"contextId":"10101","optionId":"10003","type":"option.single"},{"contextId":"10103","optionId":"10005","type":"option.single"}]}}},"required":true},"responses":{"204":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"All default values in the request must have the same type.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, a context, an option, or a cascading option is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/issuetypemapping":{"get":{"tags":["Issue custom field contexts"],"summary":"Get issue types for custom field context","description":"Returns a [paginated](#pagination) list of context to issue type mappings for a custom field. Mappings are returned for all contexts or a list of contexts. Mappings are ordered first by context ID and then by issue type ID.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeMappingsForContexts","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"query","description":"The ID of the context. To include multiple contexts, provide an ampersand-separated list. For example, `contextId=10001&contextId=10002`.","schema":{"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeToContextMapping"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"contextId\":\"10001\",\"issueTypeId\":\"10010\"},{\"contextId\":\"10001\",\"issueTypeId\":\"10011\"},{\"contextId\":\"10002\",\"isAnyIssueType\":true}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/field/{fieldId}/context/mapping":{"post":{"tags":["Issue custom field contexts"],"summary":"Get custom field contexts for projects and issue types","description":"Returns a [paginated](#pagination) list of project and issue type mappings and, for each mapping, the ID of a [custom field context](https://confluence.atlassian.com/x/k44fOw) that applies to the project and issue type.\n\nIf there is no custom field context assigned to the project then, if present, the custom field context that applies to all projects is returned if it also applies to the issue type or all issue types. If a custom field context is not found, the returned custom field context ID is `null`.\n\nDuplicate project and issue type mappings cannot be provided in the request.\n\nThe order of the returned values is the same as provided in the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getCustomFieldContextsForProjectsAndIssueTypes","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"requestBody":{"description":"The list of project and issue type mappings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueTypeMappings"},"example":{"mappings":[{"issueTypeId":"10000","projectId":"10000"},{"issueTypeId":"10001","projectId":"10000"},{"issueTypeId":"10002","projectId":"10001"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanContextForProjectAndIssueType"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"projectId\":\"10000\",\"issueTypeId\":\"10000\",\"contextId\":\"10000\"},{\"projectId\":\"10000\",\"issueTypeId\":\"10001\",\"contextId\":null},{\"projectId\":\"10001\",\"issueTypeId\":\"10002\",\"contextId\":\"10003\"}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Duplicate project and issue type mappings cannot be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, project, or issue type is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"These projects were not found: 10005.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/projectmapping":{"get":{"tags":["Issue custom field contexts"],"summary":"Get project mappings for custom field context","description":"Returns a [paginated](#pagination) list of context to project mappings for a custom field. The result can be filtered by `contextId`. Otherwise, all mappings are returned. Invalid IDs are ignored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectContextMapping","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field, for example `customfield\\_10000`.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"query","description":"The list of context IDs. To include multiple context, separate IDs with ampersand: `contextId=10000&contextId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContextProjectMapping"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"contextId\":\"10025\",\"projectId\":\"10001\"},{\"contextId\":\"10026\",\"isGlobalContext\":true}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/field/{fieldId}/context/{contextId}":{"put":{"tags":["Issue custom field contexts"],"summary":"Update custom field context","description":"Updates a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldContextUpdateDetails"},"example":{"name":"Bug fields context","description":"A context used to define the custom field options for bugs."}}},"required":true},"responses":{"204":{"description":"Returned if the context is updated.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The contextId has to be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field or the context is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue custom field contexts"],"summary":"Delete custom field context","description":"Deletes a [ custom field context](https://confluence.atlassian.com/adminjiracloud/what-are-custom-field-contexts-991923859.html).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the context is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The contextId has to be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field or the context is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/{contextId}/issuetype":{"put":{"tags":["Issue custom field contexts"],"summary":"Add issue types to context","description":"Adds issue types to a custom field context, appending the issue types to the issue types list.\n\nA custom field context without any issue types applies to all issue types. Adding issue types to such a custom field context would result in it applying to only the listed issue types.\n\nIf any of the issue types exists in the custom field context, the operation fails and no issue types are added.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addIssueTypesToContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIds"},"example":{"issueTypeIds":["10001","10005","10006"]}}},"required":true},"responses":{"204":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types are already associated with the context: 10001.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, context, or one or more issue types are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/{contextId}/issuetype/remove":{"post":{"tags":["Issue custom field contexts"],"summary":"Remove issue types from context","description":"Removes issue types from a custom field context.\n\nA custom field context without any issue types applies to all issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeIssueTypesFromContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIds"},"example":{"issueTypeIds":["10001","10005","10006"]}}},"required":true},"responses":{"204":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types are not associated with the context: 10002.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, context, or one or more issue types are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/{contextId}/option":{"get":{"tags":["Issue custom field options"],"summary":"Get custom field options (context)","description":"Returns a [paginated](#pagination) list of all custom field option for a context. Options are returned first then cascading options, in the order they display in Jira.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getOptionsForContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"optionId","in":"query","description":"The ID of the option.","schema":{"type":"integer","format":"int64"}},{"name":"onlyOptions","in":"query","description":"Whether only options are returned.","schema":{"type":"boolean","default":false}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanCustomFieldContextOption"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"id\":\"10001\",\"value\":\"New York\"},{\"id\":\"10002\",\"value\":\"Boston\",\"disabled\":true},{\"id\":\"10004\",\"value\":\"Denver\"},{\"id\":\"10003\",\"value\":\"Brooklyn\",\"optionId\":\"10001\"}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found or the context doesn't match the custom field.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue custom field options"],"summary":"Update custom field options (context)","description":"Updates the options of a custom field.\n\nIf any of the options are not found, no options are updated. Options where the values in the request match the current values aren't updated and aren't reported in the response.\n\nNote that this operation **only works for issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource**, it cannot be used with issue field select list options created by Connect apps.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateCustomFieldOption","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCustomFieldOptionUpdateRequest"},"example":{"options":[{"disabled":false,"id":"10001","value":"Scranton"},{"disabled":true,"id":"10002","value":"Manhattan"},{"disabled":false,"id":"10003","value":"The Electric City"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldUpdatedContextOptionsList"},"example":"{\"options\":[{\"id\":\"10001\",\"value\":\"Scranton\",\"disabled\":false},{\"id\":\"10002\",\"value\":\"Manhattan\",\"disabled\":true},{\"id\":\"10003\",\"value\":\"The Electric City\",\"disabled\":false}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, context, or one or more options is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue custom field options"],"summary":"Create custom field options (context)","description":"Creates options and, where the custom select field is of the type Select List (cascading), cascading options for a custom select field. The options are added to a context of the field.\n\nThe maximum number of options that can be created per request is 1000 and each field can have a maximum of 10000 options.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createCustomFieldOption","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCustomFieldOptionCreateRequest"},"example":{"options":[{"disabled":false,"value":"Scranton"},{"optionId":"10000","disabled":true,"value":"Manhattan"},{"disabled":false,"value":"The Electric City"}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomFieldCreatedContextOptionsList"},"example":"{\"options\":[{\"id\":\"10001\",\"value\":\"Scranton\",\"disabled\":false},{\"id\":\"10002\",\"value\":\"Manhattan\",\"optionId\":\"10000\",\"disabled\":true},{\"id\":\"10003\",\"value\":\"The Electric City\",\"disabled\":false}]}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field is not found or the context doesn't match the custom field.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/{contextId}/option/move":{"put":{"tags":["Issue custom field options"],"summary":"Reorder custom field options (context)","description":"Changes the order of custom field options or cascading options in a context.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"reorderCustomFieldOptions","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderOfCustomFieldOptions"},"example":{"position":"First","customFieldOptionIds":["10001","10002"]}}},"required":true},"responses":{"204":{"description":"Returned if options are reordered.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"'after' and 'position' were provided. Only 'after' or 'position' can be specified.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, the context, or one or more of the options is not found..","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/{contextId}/option/{optionId}":{"delete":{"tags":["Issue custom field options"],"summary":"Delete custom field options (context)","description":"Deletes a custom field option.\n\nOptions with cascading options cannot be deleted without deleting the cascading options first.\n\nThis operation works for custom field options created in Jira or the operations from this resource. **To work with issue field select list options created for Connect apps use the [Issue custom field options (apps)](#api-group-issue-custom-field-options--apps-) operations.**\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteCustomFieldOption","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context from which an option should be deleted.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"optionId","in":"path","description":"The ID of the option to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the option is deleted."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field doesn't support options.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage custom field options.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the field, the context, or the option is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The custom field was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/{contextId}/project":{"put":{"tags":["Issue custom field contexts"],"summary":"Assign custom field context to projects","description":"Assigns a custom field context to projects.\n\nIf any project in the request is assigned to any context of the custom field, the operation fails.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignProjectsToCustomFieldContext","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIds"},"example":{"projectIds":["10001","10005","10006"]}}},"required":true},"responses":{"204":{"description":"Returned if operation is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The projectIds must not contain duplicates.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, context, or project is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/context/{contextId}/project/remove":{"post":{"tags":["Issue custom field contexts"],"summary":"Remove custom field context from projects","description":"Removes a custom field context from projects.\n\nA custom field context without any projects applies to all projects. Removing all projects from a custom field context would result in it applying to all projects.\n\nIf any project in the request is not assigned to the context, or the operation would result in two global contexts for the field, the operation fails.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeCustomFieldContextFromProjects","parameters":[{"name":"fieldId","in":"path","description":"The ID of the custom field.","required":true,"schema":{"type":"string"}},{"name":"contextId","in":"path","description":"The ID of the context.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIds"},"example":{"projectIds":["10001","10005","10006"]}}},"required":true},"responses":{"204":{"description":"Returned if the custom field context is removed from the projects.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The projectIds must not contain duplicates.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access custom field contexts.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the custom field, context, or one or more projects are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The context was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/field/{fieldId}/contexts":{"get":{"tags":["Issue fields"],"summary":"Get contexts for a field","description":"Returns a [paginated](#pagination) list of the contexts a field is used in. Deprecated, use [ Get custom field contexts](#api-rest-api-3-field-fieldId-context-get).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getContextsForFieldDeprecated","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field to return contexts for.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":20}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanContext"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":10001,\"name\":\"Default Context\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldId}/screens":{"get":{"tags":["Screens"],"summary":"Get screens for a field","description":"Returns a [paginated](#pagination) list of the screens a field is used in.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreensForField","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field to return screens for.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about screens in the response. This parameter accepts `tab` which returns details about the screen tabs the field is used in.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreenWithTab"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":10001,\"name\":\"Default Screen\",\"description\":\"Provides for the update of all system fields.\",\"tab\":{\"id\":10000,\"name\":\"Fields Tab\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get all issue field options","description":"Returns a [paginated](#pagination) list of all the options of a select list issue field. A select list issue field is a type of [issue field](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field/) that enables a user to select a value from a list of options.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"getAllIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}]}"}}},"400":{"description":"Returned if the field is not found or does not support options."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"post":{"tags":["Issue custom field options (apps)"],"summary":"Create issue field option","description":"Creates an option for a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"createIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOptionCreateBean"},"example":{"value":"Team 1","config":{"scope":{"projects2":[{"attributes":["notSelectable"],"id":1002},{"attributes":["notSelectable"],"id":1001}],"projects":[],"global":{}},"attributes":[]},"properties":{"leader":{"name":"Leader Name","email":"lname@example.com"},"members":42,"founded":"2016-06-06","description":"The team's description"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the option is invalid."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option/suggestions/edit":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get selectable issue field options","description":"Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed and selected by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getSelectableIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"Filters the results to options that are only available in the specified project.","schema":{"type":"integer","format":"int64"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option/suggestions/search":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get visible issue field options","description":"Returns a [paginated](#pagination) list of options for a select list issue field that can be viewed by the user.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getVisibleIssueFieldOptions","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32"}},{"name":"projectId","in":"query","description":"Filters the results to options that are only available in the specified project.","schema":{"type":"integer","format":"int64"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueFieldOption"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=0&maxResults=1\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/field/fieldKey/option/suggestions?startAt=1&maxResults=1\",\"maxResults\":1,\"startAt\":0,\"total\":10,\"isLast\":false,\"values\":[{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the field is not found or does not support options."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option/{optionId}":{"get":{"tags":["Issue custom field options (apps)"],"summary":"Get issue field option","description":"Returns an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"getIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be returned.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the requested option is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the field is not found or does not support options."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the option is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"put":{"tags":["Issue custom field options (apps)"],"summary":"Update issue field option","description":"Updates or creates an option for a select list issue field. This operation requires that the option ID is provided when creating an option, therefore, the option ID needs to be specified as a path and body parameter. The option ID provided in the path and body must be identical.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"updateIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be updated.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":{"id":1,"value":"Team 1","config":{"scope":{"projects2":[{"attributes":["notSelectable"],"id":1002},{"attributes":["notSelectable"],"id":1001}],"projects":[],"global":{}},"attributes":[]},"properties":{"leader":{"name":"Leader Name","email":"lname@example.com"},"members":42,"founded":"2016-06-06","description":"The team's description"}}}},"required":true},"responses":{"200":{"description":"Returned if the option is updated or created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFieldOption"},"example":"{\"id\":1,\"value\":\"Team 1\",\"properties\":{\"leader\":{\"name\":\"Leader Name\",\"email\":\"lname@example.com\"},\"members\":42,\"description\":\"The team's description\",\"founded\":\"2016-06-06\"},\"config\":{\"scope\":{\"projects\":[],\"projects2\":[{\"id\":1002,\"attributes\":[\"notSelectable\"]},{\"id\":1001,\"attributes\":[\"notSelectable\"]}],\"global\":{}},\"attributes\":[]}}"}}},"400":{"description":"Returned if the option is invalid, or the *ID* in the request object does not match the *optionId* parameter."},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["Issue custom field options (apps)"],"summary":"Delete issue field option","description":"Deletes an option from a select list issue field.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"deleteIssueFieldOption","parameters":[{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be deleted.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the field option is deleted.","content":{"application/json":{"schema":{}}}},"403":{"description":"Returned if the request is not authenticated as a Jira administrator or the app that provided the field."},"404":{"description":"Returned if the field or option is not found."},"409":{"description":"Returned if the option is selected for the field in any issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/field/{fieldKey}/option/{optionId}/issue":{"delete":{"tags":["Issue custom field options (apps)"],"summary":"Replace issue field option","description":"Deselects an issue-field select-list option from all issues where it is selected. A different option can be selected to replace the deselected option. The update can also be limited to a smaller set of issues by using a JQL query.\n\nThis is an [asynchronous operation](#async). The response object contains a link to the long-running task.\n\nNote that this operation **only works for issue field select list options added by Connect apps**, it cannot be used with issue field select list options created in Jira or using operations from the [Issue custom field options](#api-group-Issue-custom-field-options) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg). Jira permissions are not required for the app providing the field.","operationId":"replaceIssueFieldOption","parameters":[{"name":"replaceWith","in":"query","description":"The ID of the option that will replace the currently selected option.","schema":{"type":"integer","format":"int64"}},{"name":"jql","in":"query","description":"A JQL query that specifies the issues to be updated. For example, *project=10000*.","schema":{"type":"string"}},{"name":"fieldKey","in":"path","description":"The field key is specified in the following format: **$(app-key)\\_\\_$(field-key)**. For example, *example-add-on\\_\\_example-issue-field*. To determine the `fieldKey` value, do one of the following:\n\n * open the app's plugin descriptor, then **app-key** is the key at the top and **field-key** is the key in the `jiraIssueFields` module. **app-key** can also be found in the app listing in the Atlassian Universal Plugin Manager.\n * run [Get fields](#api-rest-api-3-field-get) and in the field details the value is returned in `key`. For example, `\"key\": \"teams-add-on__team-issue-field\"`","required":true,"schema":{"type":"string"}},{"name":"optionId","in":"path","description":"The ID of the option to be deselected.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"303":{"description":"Returned if the long-running task to deselect the option is started.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanRemoveOptionFromIssuesResult"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/task/1\",\"id\":\"1\",\"description\":\"Remove option 1 from issues matched by '*', and replace with option 3\",\"status\":\"COMPLETE\",\"result\":{\"modifiedIssues\":[10001,10010],\"unmodifiedIssues\":[10005],\"errors\":{\"errors\":{},\"errorMessages\":[\"Option 2 cannot be set on issue MKY-5 as it is not in the correct scope\"],\"httpStatusCode\":{\"present\":true}}},\"elapsedRuntime\":42}"}}},"400":{"description":"Returned if the JQL query is invalid."},"404":{"description":"Returned if the field is not found or does not support options, or the options to be replaced are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/fieldconfiguration":{"get":{"tags":["Issue field configurations"],"summary":"Get all field configurations","description":"Returns a [paginated](#pagination) list of field configurations. The list can be for all field configurations or a subset determined by any combination of these criteria:\n\n * a list of field configuration item IDs.\n * whether the field configuration is a default.\n * whether the field configuration name or description contains a query string.\n\nOnly field configurations used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllFieldConfigurations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of field configuration IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"isDefault","in":"query","description":"If *true* returns default field configurations only.","schema":{"type":"boolean","default":false}},{"name":"query","in":"query","description":"The query string used to match against field configuration names and descriptions.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfiguration"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":10000,\"name\":\"Default Field Configuration\",\"description\":\"The default field configuration description\",\"isDefault\":true},{\"id\":10001,\"name\":\"My Field Configuration\",\"description\":\"My field configuration description\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/fieldconfiguration/{id}/fields":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration items","description":"Returns a [paginated](#pagination) list of all fields for a configuration.\n\nOnly the fields from configurations used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationItems","parameters":[{"name":"id","in":"path","description":"The ID of the field configuration.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationItem"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"environment\",\"description\":\"For example operating system, software platform and/or hardware specifications (include as appropriate for the issue).\",\"isHidden\":false,\"isRequired\":false},{\"id\":\"description\",\"isHidden\":false,\"isRequired\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the field configuration is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/fieldconfigurationscheme":{"get":{"tags":["Issue field configurations"],"summary":"Get all field configuration schemes","description":"Returns a [paginated](#pagination) list of field configuration schemes.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllFieldConfigurationSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of field configuration scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationScheme"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Field Configuration Scheme for Bugs\",\"description\":\"This field configuration scheme is for bugs only.\"},{\"id\":\"10001\",\"name\":\"Field Configuration Scheme for software related projects\",\"description\":\"We can use this one for software projects.\"},{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for Epics\",\"description\":\"Use this one for Epic issue type.\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/fieldconfigurationscheme/mapping":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration issue type items","description":"Returns a [paginated](#pagination) list of field configuration issue type items.\n\nOnly items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationSchemeMappings","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"fieldConfigurationSchemeId","in":"query","description":"The list of field configuration scheme IDs. To include multiple field configuration schemes separate IDs with ampersand: `fieldConfigurationSchemeId=10000&fieldConfigurationSchemeId=10001`.","schema":{"maxItems":50,"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64","example":10020}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationIssueTypeItem"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":5,\"isLast\":true,\"values\":[{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\":\"10000\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\":\"10020\",\"issueTypeId\":\"10001\",\"fieldConfigurationId\":\"10010\"},{\"fieldConfigurationSchemeId\":\"10021\",\"issueTypeId\":\"10002\",\"fieldConfigurationId\":\"10000\"},{\"fieldConfigurationSchemeId\":\"10022\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"10011\"},{\"fieldConfigurationSchemeId\":\"10023\",\"issueTypeId\":\"default\",\"fieldConfigurationId\":\"10000\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if no field configuration schemes are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/fieldconfigurationscheme/project":{"get":{"tags":["Issue field configurations"],"summary":"Get field configuration schemes for projects","description":"Returns a [paginated](#pagination) list of field configuration schemes and, for each scheme, a list of the projects that use it.\n\nThe list is sorted by field configuration scheme ID. The first item contains the list of project IDs assigned to the default field configuration scheme.\n\nOnly field configuration schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getFieldConfigurationSchemeProjectMapping","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFieldConfigurationSchemeProjects"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":5,\"isLast\":true,\"values\":[{\"projectIds\":[\"10\",\"11\"]},{\"fieldConfigurationScheme\":{\"id\":\"10002\",\"name\":\"Field Configuration Scheme for software related projects\",\"description\":\"We can use this one for software projects.\"},\"projectIds\":[\"12\",\"13\",\"14\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue field configurations"],"summary":"Assign field configuration scheme to project","description":"Assigns a field configuration scheme to a project. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.\n\nField configuration schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignFieldConfigurationSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldConfigurationSchemeProjectAssociation"},"example":{"fieldConfigurationSchemeId":"10000","projectId":"10000"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the project is not a classic project.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have field configuration schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access field configurations.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the project is missing.","content":{"application/json":{"example":"{\"errorMessages\":[\"The project was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/filter":{"get":{"tags":["Filters"],"summary":"Get filters","description":"Returns all filters. Deprecated, use [ Search for filters](#api-rest-api-3-filter-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-changes":[{"type":"removed","announced":"2018-10-19","effective":"2019-04-19","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/"}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Filters"],"summary":"Create filter","description":"Creates a filter. The filter is shared according to the [default share scope](#api-rest-api-3-filter-post). The filter is not selected as a favorite.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"createFilter","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"requestBody":{"description":"The filter to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":{"jql":"type = Bug and resolution is empty","name":"All Open Bugs","description":"Lists all open bugs"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/filter/defaultShareScope":{"get":{"tags":["Filter sharing"],"summary":"Get default share scope","description":"Returns the default sharing settings for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getDefaultShareScope","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":"{\"scope\":\"GLOBAL\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filter sharing"],"summary":"Set default share scope","description":"Sets the default sharing for new filters and dashboards for a user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setDefaultShareScope","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":{"scope":"GLOBAL"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultShareScope"},"example":"{\"scope\":\"GLOBAL\"}"}}},"400":{"description":"Returned if an invalid scope is set."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/filter/favourite":{"get":{"tags":["Filters"],"summary":"Get favorite filters","description":"Returns the visible favorite filters of the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** A favorite filter is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.","operationId":"getFavouriteFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}}],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/filter/my":{"get":{"tags":["Filters"],"summary":"Get my filters","description":"Returns the filters owned by the user. If `includeFavourites` is `true`, the user's visible favorite filters are also returned.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, a favorite filters is only visible to the user where the filter is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.\n\nFor example, if the user favorites a public filter that is subsequently made private that filter is not returned by this operation.","operationId":"getMyFilters","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}},{"name":"includeFavourites","in":"query","description":"Include the user's favorite filters in the response.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Filter"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}}],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/filter/search":{"get":{"tags":["Filters"],"summary":"Search for filters","description":"Returns a [paginated](#pagination) list of filters. Use this operation to get:\n\n * specific filters, by defining `id` only.\n * filters that match all of the specified attributes. For example, all filters for a user with a particular word in their name. When multiple attributes are specified only filters matching all attributes are returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, only the following filters that match the query parameters are returned:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getFiltersPaginated","parameters":[{"name":"filterName","in":"query","description":"String used to perform a case-insensitive partial match with `name`.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"User account ID used to return filters with the matching `owner.accountId`. This parameter cannot be used with `owner`.","schema":{"maxLength":128,"type":"string"}},{"name":"owner","in":"query","description":"This parameter is deprecated because of privacy changes. Use `accountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. User name used to return filters with the matching `owner.name`. This parameter cannot be used with `accountId`.","schema":{"type":"string"}},{"name":"groupname","in":"query","description":"Group name used to returns filters that are shared with a group that matches `sharePermissions.group.groupname`.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"Project ID used to returns filters that are shared with a project that matches `sharePermissions.project.id`.","schema":{"type":"integer","format":"int64"}},{"name":"id","in":"query","description":"The list of filter IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by filter description. Note that this sorting works independently of whether the expand to display the description field is in use.\n * `favourite_count` Sorts by the count of how many users have this filter as a favorite.\n * `is_favourite` Sorts by whether the filter is marked as a favorite.\n * `id` Sorts by filter ID.\n * `name` Sorts by filter name.\n * `owner` Sorts by the ID of the filter owner.","schema":{"type":"string","enum":["description","-description","+description","favorite_count","-favorite_count","+favorite_count","id","-id","+id","is_favorite","-is_favorite","+is_favorite","name","-name","+name","owner","-owner","+owner"],"default":"name"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `description` Returns the description of the filter.\n * `favourite` Returns an indicator of whether the user has set the filter as a favorite.\n * `favouritedCount` Returns a count of how many users have set this filter as a favorite.\n * `jql` Returns the JQL query that the filter uses.\n * `owner` Returns the owner of the filter.\n * `searchUrl` Returns a URL to perform the filter's JQL query.\n * `sharePermissions` Returns the share permissions defined for the filter.\n * `subscriptions` Returns the users that are subscribed to the filter.\n * `viewUrl` Returns a URL to view the filter.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanFilterDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/search?accountId=&maxResults=50&filterName=&orderBy=name&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":[]},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10010\",\"id\":\"10010\",\"name\":\"My issues\",\"description\":\"Issues assigned to me\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"assignee = currentUser() and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10010\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=assignee+in+%28currentUser%28%29%29+and+resolution+is+empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}}],\"subscriptions\":[{\"id\":1,\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}}]}]}"}}},"400":{"description":"Returned if:\n\n * `owner` and `accountId` are provided.\n * `expand` includes an invalid value.\n * `orderBy` is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/filter/{id}":{"get":{"tags":["Filters"],"summary":"Get filter","description":"Returns a filter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, the filter is only returned where it is:\n\n * owned by the user.\n * shared with a group that the user is a member of.\n * shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * shared with a public project.\n * shared with the public.","operationId":"getFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to return.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the filter is not found or the user does not have permission to view it."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filters"],"summary":"Update filter","description":"Updates a filter. Use this operation to update a filter's name, description, JQL, or sharing.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must own the filter.","operationId":"updateFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to update.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"requestBody":{"description":"The filter to update.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":{"jql":"type = Bug and resolution is empty","name":"All Open Bugs","description":"Lists all open bugs"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if the request object is invalid. For example, the `name` is not unique or the project ID is not specified for a project role share permission."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Delete filter","description":"Delete a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however filters can only be deleted by the creator of the filter or a user with *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the filter is not found."},"401":{"description":"Returned if the user does not have permission to delete the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/filter/{id}/columns":{"get":{"tags":["Filters"],"summary":"Get columns","description":"Returns the columns configured for a filter. The column configuration is used when the filter's results are viewed in *List View* with the *Columns* set to *Filter*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, column details are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}},"example":"[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"Summary\",\"value\":\"summary\"}]"}}},"400":{"description":"Returned if the user does not have permission to view the filter."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if a column configuration is not set for the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Filters"],"summary":"Set columns","description":"Sets the columns for a filter. Only navigable fields can be set as columns. Use [Get fields](#api-rest-api-3-field-get) to get the list fields in Jira. A navigable field has `navigable` set to `true`.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/filter/10000/columns`\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only set for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"setColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The IDs of the fields to set as columns. In the form data, specify each field as `columns=id`, where `id` is the *id* of a field (as seen in the response for [Get fields](#api-rest-api--field-get)). For example, `columns=summary`.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * a non-navigable field is set as a column.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Reset columns","description":"Reset the user's column configuration for the filter to the default.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, columns are only reset for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"resetColumns","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/filter/{id}/favourite":{"put":{"tags":["Filters"],"summary":"Add filter as favorite","description":"Add a filter as a favorite for the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, the user can only favorite:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"setFavouriteForFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to favorite the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Filters"],"summary":"Remove filter as favorite","description":"Removes a filter as a favorite for the user. Note that this operation only removes filters visible to the user from the user's favorites list. For example, if the user favorites a public filter that is subsequently made private (and is therefore no longer visible on their favorites list) they cannot remove it from their favorites list.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"deleteFavouriteForFilter","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about filter in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `sharedUsers` Returns the users that the filter is shared with. This includes users that can browse projects that the filter is shared with. If you don't specify `sharedUsers`, then the `sharedUsers` object is returned but it doesn't list any users. The list of users returned is limited to 1000, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 1000 users, use `?expand=sharedUsers[1001:2000]`.\n * `subscriptions` Returns the users that are subscribed to the filter. If you don't specify `subscriptions`, the `subscriptions` object is returned but it doesn't list any subscriptions. The list of subscriptions returned is limited to 1000, to access additional subscriptions append `[start-index:end-index]` to the expand request. For example, to access the next 1000 subscriptions, use `?expand=subscriptions[1001:2000]`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Filter"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/filter/10000\",\"id\":\"10000\",\"name\":\"All Open Bugs\",\"description\":\"Lists all open bugs\",\"owner\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"jql\":\"type = Bug and resolution is empty\",\"viewUrl\":\"https://your-domain.atlassian.net/issues/?filter=10000\",\"searchUrl\":\"https://your-domain.atlassian.net/rest/api/3/search?jql=type%20%3D%20Bug%20and%20resolutino%20is%20empty\",\"favourite\":true,\"favouritedCount\":0,\"sharePermissions\":[],\"subscriptions\":{\"size\":0,\"items\":[],\"max-results\":0,\"start-index\":0,\"end-index\":0}}"}}},"400":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/filter/{id}/permission":{"get":{"tags":["Filter sharing"],"summary":"Get share permissions","description":"Returns the share permissions for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, share permissions are only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getSharePermissions","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharePermission"}},"example":"[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY\",\"id\":\"10002\",\"key\":\"MKY\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"},\"deleted\":true,\"retentionTillDate\":\"2021-11-02T02:19:38.177+0000\",\"deletedDate\":\"2021-09-03T02:19:38.178+0000\",\"deletedBy\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}},\"role\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}},{\"id\":10010,\"type\":\"group\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Filter sharing"],"summary":"Add share permission","description":"Add a share permissions to a filter. If you add a global share permission (one for all logged-in users or the public) it will overwrite all share permissions for the filter.\n\nBe aware that this operation uses different objects for updating share permissions compared to [Update filter](#api-rest-api-3-filter-id-put).\n\n**[Permissions](#permissions) required:** *Share dashboards and filters* [global permission](https://confluence.atlassian.com/x/x4dKLg) and the user must own the filter.","operationId":"addSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePermissionInputBean"},"example":{"type":"group","groupname":"jira-administrators"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SharePermission"}},"example":"[{\"id\":10000,\"type\":\"global\"},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}},{\"id\":10010,\"type\":\"project\",\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY\",\"id\":\"10002\",\"key\":\"MKY\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10002\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10002\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10002\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10002\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"},\"deleted\":true,\"retentionTillDate\":\"2021-11-02T02:19:38.177+0000\",\"deletedDate\":\"2021-09-03T02:19:38.178+0000\",\"deletedBy\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}},\"role\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}},{\"id\":10010,\"type\":\"group\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"}}]"}}},"400":{"description":"Returned if:\n\n * the request object is invalid. For example, it contains an invalid type, the ID does not match the type, or the project or group is not found.\n * the user does not own the filter.\n * the user does not have the required permissions."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/filter/{id}/permission/{permissionId}":{"get":{"tags":["Filter sharing"],"summary":"Get share permission","description":"Returns a share permission for a filter. A filter can be shared with groups, projects, all logged-in users, or the public. Sharing with all logged-in users or the public is known as a global share permission.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None, however, a share permission is only returned for:\n\n * filters owned by the user.\n * filters shared with a group that the user is a member of.\n * filters shared with a private project that the user has *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for.\n * filters shared with a public project.\n * filters shared with the public.","operationId":"getSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the share permission.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SharePermission"},"example":"{\"id\":10000,\"type\":\"global\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the permission is not found.\n * the user does not have permission to view the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Filter sharing"],"summary":"Delete share permission","description":"Deletes a share permission from a filter.\n\n**[Permissions](#permissions) required:** Permission to access Jira and the user must own the filter.","operationId":"deleteSharePermission","parameters":[{"name":"id","in":"path","description":"The ID of the filter.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the share permission.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the filter is not found.\n * the user does not own the filter."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/group":{"get":{"tags":["Groups"],"summary":"Get group","description":"This operation is deprecated, use [`group/member`](#api-rest-api-3-group-member-get).\n\nReturns all users in a group.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"List of fields to expand.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the Administer Jira global permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Groups"],"summary":"Create group","description":"Creates a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"createGroup","parameters":[],"requestBody":{"description":"The name of the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddGroupBean"},"example":{"name":"power-users"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"},"example":"{\"name\":\"power-users\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=power-users\",\"users\":{\"size\":1,\"items\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}],\"max-results\":50,\"start-index\":0,\"end-index\":0},\"expand\":\"users\"}"}}},"400":{"description":"Returned if group name is not specified or the group name is in use."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Groups"],"summary":"Remove group","description":"Deletes a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* strategic [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"swapGroup","in":"query","description":"The group to transfer restrictions to. Only comments and worklogs are transferred. If restrictions are not transferred, comments and worklogs are inaccessible after the deletion.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/group/bulk":{"get":{"tags":["Groups"],"summary":"Bulk get groups","description":"Returns a [paginated](#pagination) list of groups.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"bulkGetGroups","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"groupId","in":"query","description":"The ID of a group. To specify multiple IDs, pass multiple `groupId` parameters. For example, `groupId=5b10a2844c20165700ede21g&groupId=5b10ac8d82e05b22cc7d4ef5`.","schema":{"uniqueItems":true,"type":"array","example":"3571b9a7-348f-414a-9087-8e1ea03a7df8","items":{"type":"string","example":"3571b9a7-348f-414a-9087-8e1ea03a7df8"}},"x-showInExample":"true"},{"name":"groupName","in":"query","description":"The name of a group. To specify multiple names, pass multiple `groupName` parameters. For example, `groupName=administrators&groupName=jira-software-users`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanGroupDetails"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"name\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Browse users and groups permission is required to view groups.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/group/member":{"get":{"tags":["Groups"],"summary":"Get users from group","description":"Returns a [paginated](#pagination) list of all users in a group.\n\nNote that users are ordered by username, however the username is not returned in the results due to privacy reasons.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUsersFromGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"includeInactiveUsers","in":"query","description":"Include inactive users.","schema":{"type":"boolean","default":false}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUserDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=2&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/group/member?groupname=jira-administrators&includeInactiveUsers=false&startAt=4&maxResults=2\",\"maxResults\":2,\"startAt\":3,\"total\":5,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"name\":\"\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{},\"displayName\":\"Mia\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"accountType\":\"atlassian\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a0effa615349cb016cd8\",\"name\":\"\",\"key\":\"\",\"accountId\":\"5b10a0effa615349cb016cd8\",\"emailAddress\":\"will@example.com\",\"avatarUrls\":{},\"displayName\":\"Will\",\"active\":false,\"timeZone\":\"Australia/Sydney\",\"accountType\":\"atlassian\"}]}"}}},"400":{"description":"Returned if the group name is not specified."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the Administer Jira global permission."},"404":{"description":"Returned if the group is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/group/user":{"post":{"tags":["Groups"],"summary":"Add user to group","description":"Adds a user to a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"addUserToGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group (case sensitive).","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The user to add to the group.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserToGroupBean"},"example":{"accountId":"5b10ac8d82e05b22cc7d4ef5"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Group"}}}},"400":{"description":"Returned if:\n\n * `groupname` is not provided.\n * `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the calling user does not have the necessary permission."},"404":{"description":"Returned if the group or user are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Groups"],"summary":"Remove user from group","description":"Removes a user from a group.\n\n**[Permissions](#permissions) required:** Site administration (that is, member of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeUserFromGroup","parameters":[{"name":"groupname","in":"query","description":"The name of the group.","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * `groupName` is missing.\n * `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the group or user are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/groups/picker":{"get":{"tags":["Groups"],"summary":"Find groups","description":"Returns a list of groups whose names contain a query string. A list of group names can be provided to exclude groups from the results.\n\nThe primary use case for this resource is to populate a group picker suggestions list. To this end, the returned object includes the `html` field where the matched query term is highlighted in the group name with the HTML strong tag. Also, the groups list is wrapped in a response object that contains a header for use in the picker, specifically *Showing X of Y matching groups*.\n\nThe list returns with the groups sorted. If no groups match the list criteria, an empty list is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg). Anonymous calls and calls by users without the required permission return an empty list.","operationId":"findGroups","parameters":[{"name":"accountId","in":"query","description":"This parameter is deprecated, setting it does not affect the results. To find groups containing a particular user, use [Get user groups](#api-rest-api-3-user-groups-get).","schema":{"type":"string"}},{"name":"query","in":"query","description":"The string to find in group names.","schema":{"type":"string","example":"query"}},{"name":"exclude","in":"query","description":"A group to exclude from the result. To exclude multiple groups, provide an ampersand-separated list. For example, `exclude=group1&exclude=group2`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"maxResults","in":"query","description":"The maximum number of groups to return. The maximum number of groups that can be returned is limited by the system property `jira.ajax.autocomplete.limit`.","schema":{"type":"integer","format":"int32"}},{"name":"userName","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundGroups"},"example":"{\"header\":\"Showing 20 of 25 matching groups\",\"total\":25,\"groups\":[{\"name\":\"jdog-developers\",\"html\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"html\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/groupuserpicker":{"get":{"tags":["Group and user picker"],"summary":"Find users and groups","description":"Returns a list of users and groups matching a string. The string is used:\n\n * for users, to find a case-insensitive match with display name and e-mail address. Note that if a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.\n * for groups, to find a case-sensitive match with group name.\n\nFor example, if the string *tin* is used, records with the display name *Tina*, email address *sarah@tinplatetraining.com*, and the group *accounting* would be returned.\n\nOptionally, the search can be refined to:\n\n * the projects and issue types associated with a custom field, such as a user picker. The search can then be further refined to return only users and groups that have permission to view specific:\n \n * projects.\n * issue types.\n \n If multiple projects or issue types are specified, they must be a subset of those enabled for the custom field or no results are returned. For example, if a field is enabled for projects A, B, and C then the search could be limited to projects B and C. However, if the search is limited to projects B and D, nothing is returned.\n * not return Connect app users and groups.\n * return groups that have a case-insensitive match with the query.\n\nThe primary use case for this resource is to populate a picker field suggestion list with users or groups. To this end, the returned object includes an `html` field for each list. This field highlights the matched query term in the item name with the HTML strong tag. Also, each list is wrapped in a response object that contains a header for use in a picker, specifically *Showing X of Y matching groups*.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"findUsersAndGroups","parameters":[{"name":"query","in":"query","description":"The search string.","required":true,"schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"The maximum number of items to return in each list.","schema":{"type":"integer","format":"int32","default":50}},{"name":"showAvatar","in":"query","description":"Whether the user avatar should be returned. If an invalid value is provided, the default value is used.","schema":{"type":"boolean","default":false}},{"name":"fieldId","in":"query","description":"The custom field ID of the field this request is for.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"The ID of a project that returned users and groups must have permission to view. To include multiple projects, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`. This parameter is only used when `fieldId` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issueTypeId","in":"query","description":"The ID of an issue type that returned users and groups must have permission to view. To include multiple issue types, provide an ampersand-separated list. For example, `issueTypeId=10000&issueTypeId=10001`. Special values, such as `-1` (all standard issue types) and `-2` (all subtask issue types), are supported. This parameter is only used when `fieldId` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"avatarSize","in":"query","description":"The size of the avatar to return. If an invalid value is provided, the default value is used.","schema":{"type":"string","enum":["xsmall","xsmall@2x","xsmall@3x","small","small@2x","small@3x","medium","medium@2x","medium@3x","large","large@2x","large@3x","xlarge","xlarge@2x","xlarge@3x","xxlarge","xxlarge@2x","xxlarge@3x","xxxlarge","xxxlarge@2x","xxxlarge@3x"],"default":"xsmall"}},{"name":"caseInsensitive","in":"query","description":"Whether the search for groups should be case insensitive.","schema":{"type":"boolean","default":false}},{"name":"excludeConnectAddons","in":"query","description":"Whether Connect app users and groups should be excluded from the search results. If an invalid value is provided, the default value is used.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundUsersAndGroups"},"example":"{\"users\":{\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"mia\",\"key\":\"mia\",\"html\":\"Mia Krystof - mia@example.com (mia)\",\"displayName\":\"Mia Krystof\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}],\"total\":25,\"header\":\"Showing 20 of 25 matching groups\"},\"groups\":{\"header\":\"Showing 20 of 25 matching groups\",\"total\":25,\"groups\":[{\"name\":\"jdog-developers\",\"html\":\"jdog-developers\",\"groupId\":\"276f955c-63d7-42c8-9520-92d01dca0625\"},{\"name\":\"juvenal-bot\",\"html\":\"juvenal-bot\",\"groupId\":\"6e87dc72-4f1f-421f-9382-2fee8b652487\"}]}}"}}},"400":{"description":"Returned if the query parameter is not provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/instance/license":{"get":{"tags":["Instance information"],"summary":"Get license","description":"Returns licensing information about the Jira instance.\n\n**[Permissions](#permissions) required:** None.","operationId":"getLicense","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/License"},"example":"{\"applications\":[{\"id\":\"jira-core\",\"plan\":\"PAID\"},{\"id\":\"jira-servicedesk\",\"plan\":\"FREE\"},{\"id\":\"jira-software\",\"plan\":\"PAID\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue":{"post":{"tags":["Issues"],"summary":"Create issue","description":"Creates an issue or, where the option to create subtasks is enabled in Jira, a subtask. A transition may be applied, to move the issue or subtask to a workflow step other than the default start step, and issue properties set.\n\nThe content of the issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These are the same fields that appear on the issue's create screen. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).\n * `parent` must contain the ID or key of the parent issue.\n\nIn a next-gen project any issue may be made a child providing that the parent and child are members of the same project. In a classic project the parent field is only valid for subtasks.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which the issue or subtask is created.","operationId":"createIssue","parameters":[{"name":"updateHistory","in":"query","description":"Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. When provided, the issue type and request type are added to the user's history for a project. These values are then used to provide defaults on the issue create screen.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"update":{},"fields":{"summary":"Main order flow broken","parent":{"key":"PROJ-123"},"issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Occurs on all orders","type":"text"}]}]},"customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"10000"},"description":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Order entry fails when selecting supplier.","type":"text"}]}]},"reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"remainingEstimate":"5","originalEstimate":"10"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"UAT","type":"text"}]}]},"versions":[{"id":"10000"}],"duedate":"2019-05-11","customfield_60000":"jira-software-users","customfield_50000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Could impact day-to-day work.","type":"text"}]}]},"assignee":{"id":"5b109f2e9729b51b54dc274d"}}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssue"},"example":"{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10000\",\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\":{}}}}"}}},"400":{"description":"Returned if the request:\n\n * is missing required fields.\n * contains invalid field values.\n * contains fields that cannot be set for the issue type.\n * is by a user who does not have the necessary permission.\n * is to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * is invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Field 'priority' is required\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/bulk":{"post":{"tags":["Issues"],"summary":"Bulk create issue","description":"Creates issues and, where the option to create subtasks is enabled in Jira, subtasks. Transitions may be applied, to move the issues or subtasks to a workflow step other than the default start step, and issue properties set.\n\nThe content of each issue or subtask is defined using `update` and `fields`. The fields that can be set in the issue or subtask are determined using the [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get). These are the same fields that appear on the issues' create screens. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content.\n\nCreating a subtask differs from creating an issue as follows:\n\n * `issueType` must be set to a subtask issue type (use [ Get create issue metadata](#api-rest-api-3-issue-createmeta-get) to find subtask issue types).\n * `parent` the must contain the ID or key of the parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* and *Create issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project in which each issue or subtask is created.","operationId":"createIssues","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesUpdateBean"},"example":{"issueUpdates":[{"update":{"worklog":[{"add":{"timeSpent":"60m","started":"2019-07-05T11:05:00.000+0000"}}]},"fields":{"summary":"Main order flow broken","issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Occurs on all orders","type":"text"}]}]},"customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"10000"},"description":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Order entry fails when selecting supplier.","type":"text"}]}]},"reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["bugfix","blitz_test"],"timetracking":{"remainingEstimate":"5","originalEstimate":"10"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"UAT","type":"text"}]}]},"versions":[{"id":"10000"}],"duedate":"2011-03-11","customfield_60000":"jira-software-users","customfield_50000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Could impact day-to-day work.","type":"text"}]}]},"assignee":{"id":"5b109f2e9729b51b54dc274d"}}},{"update":{},"fields":{"summary":"Order stuck in pending","issuetype":{"id":"10000"},"components":[{"id":"10000"}],"customfield_20000":"06/Jul/19 3:25 PM","customfield_40000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Occurs on all orders","type":"text"}]}]},"customfield_70000":["jira-administrators","jira-software-users"],"project":{"id":"1000"},"description":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Order remains pending after approved.","type":"text"}]}]},"reporter":{"id":"5b10a2844c20165700ede21g"},"fixVersions":[{"id":"10001"}],"customfield_10000":"09/Jun/19","priority":{"id":"20000"},"labels":["new_release"],"timetracking":{"remainingEstimate":"5","originalEstimate":"15"},"customfield_30000":["10000","10002"],"customfield_80000":{"value":"red"},"security":{"id":"10000"},"environment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"UAT","type":"text"}]}]},"versions":[{"id":"10000"}],"duedate":"2019-04-16","customfield_60000":"jira-software-users","customfield_50000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Could impact day-to-day work.","type":"text"}]}]},"assignee":{"id":"5b109f2e9729b51b54dc274d"}}}]}}},"required":true},"responses":{"201":{"description":"Returned if any of the issue or subtask creation requests were successful. A request may be unsuccessful when it:\n\n * is missing required fields.\n * contains invalid field values.\n * contains fields that cannot be set for the issue type.\n * is by a user who does not have the necessary permission.\n * is to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * is invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssues"},"example":"{\"issues\":[{\"id\":\"10000\",\"key\":\"ED-24\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10000\",\"transition\":{\"status\":200,\"errorCollection\":{\"errorMessages\":[],\"errors\":{}}}},{\"id\":\"10001\",\"key\":\"ED-25\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10001\"}],\"errors\":[]}"}}},"400":{"description":"Returned if all requests are invalid. Requests may be unsuccessful when they:\n\n * are missing required fields.\n * contain invalid field values.\n * contain fields that cannot be set for the issue type.\n * are by a user who does not have the necessary permission.\n * are to create a subtype in a project different that of the parent issue.\n * is for a subtask when the option to create subtasks is disabled.\n * are invalid for any other reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedIssues"},"example":"{\"issues\":[],\"errors\":[{\"status\":400,\"elementErrors\":{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\",\"project\":\"Sub-tasks must be created in the same project as the parent.\"}},\"failedElementNumber\":0},{\"status\":400,\"elementErrors\":{\"errorMessages\":[],\"errors\":{\"issuetype\":\"The issue type selected is invalid.\",\"project\":\"Sub-tasks must be created in the same project as the parent.\"}},\"failedElementNumber\":1}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/createmeta":{"get":{"tags":["Issues"],"summary":"Get create issue metadata","description":"Returns details of projects, issue types within projects, and, when requested, the create screen fields for each issue type for the user. Use the information to populate the requests in [ Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).\n\nThe request can be restricted to specific projects or issue types using the query parameters. The response will contain information for the valid projects, issue types, or project and issue type combinations requested. Note that invalid project, issue type, or project and issue type combinations do not generate errors.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Create issues* [project permission](https://confluence.atlassian.com/x/yodKLg) in the requested projects.","operationId":"getCreateIssueMeta","parameters":[{"name":"projectIds","in":"query","description":"List of project IDs. This parameter accepts a comma-separated list. Multiple project IDs can also be provided using an ampersand-separated list. For example, `projectIds=10000,10001&projectIds=10020,10021`. This parameter may be provided with `projectKeys`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"projectKeys","in":"query","description":"List of project keys. This parameter accepts a comma-separated list. Multiple project keys can also be provided using an ampersand-separated list. For example, `projectKeys=proj1,proj2&projectKeys=proj3`. This parameter may be provided with `projectIds`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issuetypeIds","in":"query","description":"List of issue type IDs. This parameter accepts a comma-separated list. Multiple issue type IDs can also be provided using an ampersand-separated list. For example, `issuetypeIds=10000,10001&issuetypeIds=10020,10021`. This parameter may be provided with `issuetypeNames`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"issuetypeNames","in":"query","description":"List of issue type names. This parameter accepts a comma-separated list. Multiple issue type names can also be provided using an ampersand-separated list. For example, `issuetypeNames=name1,name2&issuetypeNames=name3`. This parameter may be provided with `issuetypeIds`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about issue metadata in the response. This parameter accepts `projects.issuetypes.fields`, which returns information about the fields in the issue creation screen for each issue type. Fields hidden from the screen are not returned. Use the information to populate the `fields` and `update` fields in [Create issue](#api-rest-api-3-issue-post) and [Create issues](#api-rest-api-3-issue-bulk-post).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueCreateMetadata"},"example":"{\"projects\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/ED\",\"id\":\"10000\",\"key\":\"ED\",\"name\":\"Edison Project\",\"avatarUrls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000&avatarId=10011\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000&avatarId=10011\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000&avatarId=10011\",\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?pid=10000&avatarId=10011\"},\"issuetypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"An error in the code\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/issuetypes/bug.png\",\"name\":\"Bug\",\"subtask\":false,\"fields\":{\"issuetype\":{\"required\":true,\"name\":\"Issue Type\",\"key\":\"issuetype\",\"hasDefaultValue\":false,\"operations\":[\"set\"]}}}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/picker":{"get":{"tags":["Issue search"],"summary":"Get issue picker suggestions","description":"Returns lists of issues matching a query string. Use this resource to provide auto-completion suggestions when the user is looking for an issue using a word or string.\n\nThis operation returns two lists:\n\n * `History Search` which includes issues from the user's history of created, edited, or viewed issues that contain the string in the `query` parameter.\n * `Current Search` which includes issues that match the JQL expression in `currentJQL` and contain the string in the `query` parameter.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getIssuePickerResource","parameters":[{"name":"query","in":"query","description":"A string to match against text fields in the issue such as title, description, or comments.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"currentJQL","in":"query","description":"A JQL query defining a list of issues to search for the query term. Note that `username` and `userkey` cannot be used as search terms for this parameter, due to privacy reasons. Use `accountId` instead.","schema":{"type":"string"}},{"name":"currentIssueKey","in":"query","description":"The key of an issue to exclude from search results. For example, the issue the user is viewing when they perform this query.","schema":{"type":"string"}},{"name":"currentProjectId","in":"query","description":"The ID of a project that suggested issues must belong to.","schema":{"type":"string"}},{"name":"showSubTasks","in":"query","description":"Indicate whether to include subtasks in the suggestions list.","schema":{"type":"boolean"}},{"name":"showSubTaskParent","in":"query","description":"When `currentIssueKey` is a subtask, whether to include the parent issue in the suggestions if it matches the query.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuePickerSuggestions"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/properties":{"post":{"tags":["Issue properties"],"summary":"Bulk set issues properties","description":"Sets the values of entity properties on issues. It can set up to 10 entity properties on up to 10,000 issues.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON. The maximum length of single issue property value is 32768 characters. This operation can be accessed anonymously.\n\nThis operation is:\n\n * transactional, either all properties are updated in all eligible issues or, when errors occur, no properties are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"bulkSetIssuesProperties","parameters":[],"requestBody":{"description":"Issue properties to be set or updated with values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueEntityProperties"}}},"required":true},"responses":{"303":{"description":"Returned if the operation is successful."},"400":{"description":"Return if the request is invalid or the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/properties/{propertyKey}":{"put":{"tags":["Issue properties"],"summary":"Bulk set issue property","description":"Sets a property value on multiple issues.\n\nThe value set can be a constant or determined by a [Jira expression](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/). Expressions must be computable with constant complexity when applied to a set of issues. Expressions must also comply with the [restrictions](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#restrictions) that apply to all Jira expressions.\n\nThe issues to be updated can be specified by a filter.\n\nThe filter identifies issues eligible for update using these criteria:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n * `hasProperty`:\n \n * If *true*, only issues with the property are eligible.\n * If *false*, only issues without the property are eligible.\n\nIf more than one criteria is specified, they are joined with the logical *AND*: only issues that satisfy all criteria are eligible.\n\nIf an invalid combination of criteria is provided, an error is returned. For example, specifying a `currentValue` and `hasProperty` as *false* would not match any issues (because without the property the property cannot have a value).\n\nThe filter is optional. Without the filter all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either all eligible issues are updated or, when errors occur, none are updated.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.","operationId":"bulkSetIssueProperty","parameters":[{"name":"propertyKey","in":"path","description":"The key of the property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkIssuePropertyUpdateRequest"},"example":{"filter":{"hasProperty":true,"entityIds":[10100,100010],"currentValue":{"owner":"admin","weight":50}},"value":{"owner":"admin","weight":100}}}},"required":true},"responses":{"303":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue properties"],"summary":"Bulk delete issue property","description":"Deletes a property value from multiple issues. The issues to be updated can be specified by filter criteria.\n\nThe criteria the filter used to identify eligible issues are:\n\n * `entityIds` Only issues from this list are eligible.\n * `currentValue` Only issues with the property set to this value are eligible.\n\nIf both criteria is specified, they are joined with the logical *AND*: only issues that satisfy both criteria are considered eligible.\n\nIf no filter criteria are specified, all the issues visible to the user and where the user has the EDIT\\_ISSUES permission for the issue are considered eligible.\n\nThis operation is:\n\n * transactional, either the property is deleted from all eligible issues or, when errors occur, no properties are deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [ project permission](https://confluence.atlassian.com/x/yodKLg) for each project containing issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for each issue.","operationId":"bulkDeleteIssueProperty","parameters":[{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueFilterForBulkPropertyDelete"},"example":{"entityIds":[10100,100010],"currentValue":"deprecated value"}}},"required":true},"responses":{"303":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}":{"get":{"tags":["Issues"],"summary":"Get issue","description":"Returns the details for an issue.\n\nThe issue is identified by its ID or key, however, if the identifier doesn't match an issue, a case-insensitive search and check for moved issues is performed. If a matching issue is found its details are returned, a 302 or other redirect is **not** returned. The issue key returned in the response is the key of the issue found.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"fields","in":"query","description":"A list of fields to return for the issue. This parameter accepts a comma-separated list. Use it to retrieve a subset of fields. Allowed values:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all (default) fields except description.\n * `*navigable,-comment` Returns all navigable fields except comment.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2& fields=field3`.\n\nNote: All fields are returned by default. This differs from [Search for issues using JQL (GET)](#api-rest-api-3-search-get) and [Search for issues using JQL (POST)](#api-rest-api-3-search-post) where the default is all navigable fields.","schema":{"type":"array","items":{"type":"string","default":"*all"}}},{"name":"fieldsByKeys","in":"query","description":"Whether fields in `fields` are referenced by keys rather than IDs. This parameter is useful where fields have been added by a connect app and a field's key may differ from its ID.","schema":{"type":"boolean","default":false}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about the issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Returns a JSON array for each version of a field's value, with the highest number representing the most recent version. Note: When included in the request, the `fields` parameter is ignored.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of issue properties to return for the issue. This parameter accepts a comma-separated list. Allowed values:\n\n * `*all` Returns all issue properties.\n * Any issue property key, prefixed with a minus to exclude.\n\nExamples:\n\n * `*all` Returns all properties.\n * `*all,-prop1` Returns all properties except `prop1`.\n * `prop1,prop2` Returns `prop1` and `prop2` properties.\n\nThis parameter may be specified multiple times. For example, `properties=prop1,prop2& properties=prop3`.","schema":{"type":"array","items":{"type":"string","default":"null"}}},{"name":"updateHistory","in":"query","description":"Whether the project in which the issue is created is added to the user's **Recently viewed** project list, as shown under **Projects** in Jira. This also populates the [JQL issues search](#api-rest-api-3-search-get) `lastViewed` field.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueBean"},"example":"{\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:41.752+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/secure/thumbnail/10000/picture.jpg\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Main order flow broken\"}]}]},\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:40.706+0000\",\"updated\":\"2021-09-03T02:19:40.706+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-09-03T02:19:40.904+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:40.904+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}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issues"],"summary":"Edit issue","description":"Edits an issue. A transition may be applied and issue properties updated as part of the edit.\n\nThe edits to the issue's fields are defined using `update` and `fields`. The fields that can be edited are determined using [ Get edit issue metadata](#api-rest-api-3-issue-issueIdOrKey-editmeta-get).\n\nThe parent field may be set by key or ID. For standard issue types, the parent may be removed by setting `update.parent.set.none` to *true*. Note that the `description`, `environment`, and any `textarea` type custom fields (multi-line text fields) take Atlassian Document Format content. Single line custom fields (`textfield`) accept a string and don't handle Atlassian Document Format content.\n\nConnect app users with admin permissions (from user permissions and app scopes) can override the screen security configuration using `overrideScreenSecurity` and `overrideEditableFlag`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"editIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether a notification email about the issue update is sent to all watchers. To disable the notification, administer Jira or administer project permissions are required. If the user doesn't have the necessary permission the request is ignored.","schema":{"type":"boolean","default":true}},{"name":"overrideScreenSecurity","in":"query","description":"Whether screen security should be overridden to enable hidden fields to be edited. Available to Connect app users with admin permissions.","schema":{"type":"boolean","default":false}},{"name":"overrideEditableFlag","in":"query","description":"Whether screen security should be overridden to enable uneditable fields to be edited. Available to Connect app users with admin permissions.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"historyMetadata":{"actor":{"avatarUrl":"http://mysystem/avatar/tony.jpg","displayName":"Tony","id":"tony","type":"mysystem-user","url":"http://mysystem/users/tony"},"extraData":{"Iteration":"10a","Step":"4"},"description":"From the order testing process","generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"activityDescription":"Complete order processing","type":"myplugin:type"},"update":{"summary":[{"set":"Bug in business logic"}],"components":[{"set":""}],"timetracking":[{"edit":{"remainingEstimate":"4d","originalEstimate":"1w 1d"}}],"labels":[{"add":"triaged"},{"remove":"blocker"}]},"fields":{"summary":"Completed orders still displaying in pending","customfield_10010":1,"customfield_10000":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Investigation underway","type":"text"}]}]}},"properties":[{"value":"Order number 10784","key":"key1"},{"value":"Order number 10923","key":"key2"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the request body is missing.\n * the user does not have the necessary permission to edit one or more fields.\n * the request includes one or more fields that are not found or are not associated with the issue's edit screen.\n * the request includes an invalid transition."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user uses `overrideScreenSecurity` or `overrideEditableFlag` but doesn't have the necessary permission."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issues"],"summary":"Delete issue","description":"Deletes an issue.\n\nAn issue cannot be deleted if it has one or more subtasks. To delete an issue with subtasks, set `deleteSubtasks`. This causes the issue's subtasks to be deleted with the issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Delete issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"deleteSubtasks","in":"query","description":"Whether the issue's subtasks are deleted when the issue is deleted.","schema":{"type":"string","enum":["true","false"],"default":"false"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue has subtasks and `deleteSubtasks` is not set to *true*."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to delete the issue."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/assignee":{"put":{"tags":["Issues"],"summary":"Assign issue","description":"Assigns an issue to a user. Use this operation when the calling user does not have the *Edit Issues* permission but has the *Assign issue* permission for the project that the issue is in.\n\nIf `name` or `accountId` is set to:\n\n * `\"-1\"`, the issue is assigned to the default assignee for the project.\n * `null`, the issue is set to unassigned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* and *Assign Issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"assignIssue","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue to be assigned.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The request object with the user that the issue is assigned to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":{"accountId":"5b10ac8d82e05b22cc7d4ef5"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the user is not found.\n * `name`, `key`, or `accountId` is missing.\n * more than one of `name`, `key`, and `accountId` are provided."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/attachments":{"post":{"tags":["Issue attachments"],"summary":"Add attachment","description":"Adds one or more attachments to an issue. Attachments are posted as multipart/form-data ([RFC 1867](https://www.ietf.org/rfc/rfc1867.txt)).\n\nNote that:\n\n * The request must have a `X-Atlassian-Token: no-check` header, if not it is blocked. See [Special headers](#special-request-headers) for more information.\n * The name of the multipart/form-data parameter that contains the attachments must be `file`.\n\nThe following examples upload a file called *myfile.txt* to the issue *TEST-123*:\n\n#### curl ####\n\n curl --location --request POST 'https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments'\n -u 'email@example.com:'\n -H 'X-Atlassian-Token: no-check'\n --form 'file=@\"myfile.txt\"'\n\n#### Node.js ####\n\n // This code sample uses the 'node-fetch' and 'form-data' libraries:\n // https://www.npmjs.com/package/node-fetch\n // https://www.npmjs.com/package/form-data\n const fetch = require('node-fetch');\n const FormData = require('form-data');\n const fs = require('fs');\n \n const filePath = 'myfile.txt';\n const form = new FormData();\n const stats = fs.statSync(filePath);\n const fileSizeInBytes = stats.size;\n const fileStream = fs.createReadStream(filePath);\n \n form.append('file', fileStream, {knownLength: fileSizeInBytes});\n \n fetch('https://your-domain.atlassian.net/rest/api/3/issue/TEST-123/attachments', {\n method: 'POST',\n body: form,\n headers: {\n 'Authorization': `Basic ${Buffer.from(\n 'email@example.com:'\n ).toString('base64')}`,\n 'Accept': 'application/json',\n 'X-Atlassian-Token': 'no-check'\n }\n })\n .then(response => {\n console.log(\n `Response: ${response.status} ${response.statusText}`\n );\n return response.text();\n })\n .then(text => console.log(text))\n .catch(err => console.error(err));\n\n#### Java ####\n\n // This code sample uses the 'Unirest' library:\n // http://unirest.io/java.html\n HttpResponse response = Unirest.post(\"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\")\n .basicAuth(\"email@example.com\", \"\")\n .header(\"Accept\", \"application/json\")\n .header(\"X-Atlassian-Token\", \"no-check\")\n .field(\"file\", new File(\"myfile.txt\"))\n .asJson();\n \n System.out.println(response.getBody());\n\n#### Python ####\n\n # This code sample uses the 'requests' library:\n # http://docs.python-requests.org\n import requests\n from requests.auth import HTTPBasicAuth\n import json\n \n url = \"https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments\"\n \n auth = HTTPBasicAuth(\"email@example.com\", \"\")\n \n headers = {\n \"Accept\": \"application/json\",\n \"X-Atlassian-Token\": \"no-check\"\n }\n \n response = requests.request(\n \"POST\",\n url,\n headers = headers,\n auth = auth,\n files = {\n \"file\": (\"myfile.txt\", open(\"myfile.txt\",\"rb\"), \"application-type\")\n }\n )\n \n print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(\",\", \": \")))\n\n#### PHP ####\n\n // This code sample uses the 'Unirest' library:\n // http://unirest.io/php.html\n Unirest\\Request::auth('email@example.com', '');\n \n $headers = array(\n 'Accept' => 'application/json',\n 'X-Atlassian-Token' => 'no-check'\n );\n \n $parameters = array(\n 'file' => File::add('myfile.txt')\n );\n \n $response = Unirest\\Request::post(\n 'https://your-domain.atlassian.net/rest/api/2/issue/{issueIdOrKey}/attachments',\n $headers,\n $parameters\n );\n \n var_dump($response)\n\n#### Forge ####\n\n // This sample uses Atlassian Forge and the `form-data` library.\n // https://developer.atlassian.com/platform/forge/\n // https://www.npmjs.com/package/form-data\n import api from \"@forge/api\";\n import FormData from \"form-data\";\n \n const form = new FormData();\n form.append('file', fileStream, {knownLength: fileSizeInBytes});\n \n const response = await api.asApp().requestJira('/rest/api/2/issue/{issueIdOrKey}/attachments', {\n method: 'POST',\n body: form,\n headers: {\n 'Accept': 'application/json',\n 'X-Atlassian-Token': 'no-check'\n }\n });\n \n console.log(`Response: ${response.status} ${response.statusText}`);\n console.log(await response.json());\n\nTip: Use a client library. Many client libraries have classes for handling multipart POST operations. For example, in Java, the Apache HTTP Components library provides a [MultiPartEntity](http://hc.apache.org/httpcomponents-client-ga/httpmime/apidocs/org/apache/http/entity/mime/MultipartEntity.html) class for multipart POST operations.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** \n\n * *Browse Projects* and *Create attachments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addAttachment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue that attachments are added to.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Attachment"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"id\":\"10001\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"2021-09-03T02:19:43.033+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/secure/thumbnail/10000/picture.jpg\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10001\",\"filename\":\"dbeuglog.txt\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"2021-09-03T02:19:43.033+0000\",\"size\":2460,\"mimeType\":\"text/plain\",\"content\":\"https://your-domain.atlassian.net/secure/attachments/10001/dbeuglog.txt\"}]"}}},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * the issue is not found.\n * the user does not have permission to view the issue."},"413":{"description":"The attachments exceed the maximum attachment size for issues. See [Configuring file attachments](https://confluence.atlassian.com/x/wIXKM) for details."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/changelog":{"get":{"tags":["Issues"],"summary":"Get changelogs","description":"Returns a [paginated](#pagination) list of all changelogs for an issue sorted by date, starting from the oldest.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getChangeLogs","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanChangelog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?startAt=2&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/issue/TT-1/changelog?&startAt=4&maxResults=2\",\"maxResults\":2,\"startAt\":2,\"total\":5,\"isLast\":false,\"values\":[{\"id\":\"10001\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:50.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"\",\"to\":null,\"toString\":\"label-1\"}]},{\"id\":\"10002\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:51.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"label-1\",\"to\":null,\"toString\":\"label-1 label-2\"}]}]}"}}},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/{issueIdOrKey}/changelog/list":{"post":{"tags":["Issues"],"summary":"Get changelogs by IDs","description":"Returns changelogs for an issue specified by a list of changelog IDs.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getChangeLogsByIds","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueChangelogIds"},"example":{"changelogIds":[10001,10002]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfChangelogs"},"example":"{\"startAt\":0,\"maxResults\":2,\"total\":2,\"histories\":[{\"id\":\"10001\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:50.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"\",\"to\":null,\"toString\":\"label-1\"}]},{\"id\":\"10002\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"created\":\"1970-01-18T06:27:51.429+0000\",\"items\":[{\"field\":\"fields\",\"fieldtype\":\"jira\",\"fieldId\":\"fieldId\",\"from\":null,\"fromString\":\"label-1\",\"to\":null,\"toString\":\"label-1 label-2\"}]}]}"}}},"400":{"description":"Returned if the request is not valid."},"404":{"description":"Returned if the issue is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/comment":{"get":{"tags":["Issue comments"],"summary":"Get comments","description":"Returns all comments for an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Comments are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is role visibility is restricted to.","operationId":"getComments","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field. Accepts *created* to sort comments by their created date.","schema":{"type":"string","enum":["created","-created","+created"]}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfComments"},"example":"{\"startAt\":0,\"maxResults\":1,\"total\":1,\"comments\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:40.706+0000\",\"updated\":\"2021-09-03T02:19:40.706+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}]}"}}},"400":{"description":"Returned if `orderBy` is set to a value other than *created*."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue comments"],"summary":"Add comment","description":"Adds a comment to an issue.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":{"visibility":{"type":"role","value":"Administrators"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"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.","type":"text"}]}]}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:40.706+0000\",\"updated\":\"2021-09-03T02:19:40.706+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/comment/{id}":{"get":{"tags":["Issue comments"],"summary":"Get comment","description":"Returns a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the comment.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"getComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:40.706+0000\",\"updated\":\"2021-09-03T02:19:40.706+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue comments"],"summary":"Update comment","description":"Updates a comment.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any comment or *Edit own comments* to update comment created by the user.\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"updateComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about comments in the response. This parameter accepts `renderedBody`, which returns the comment body rendered in HTML.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":{"visibility":{"type":"role","value":"Administrators"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"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.","type":"text"}]}]}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Comment"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:40.706+0000\",\"updated\":\"2021-09-03T02:19:40.706+0000\",\"visibility\":{\"type\":\"role\",\"value\":\"Administrators\"}}"}}},"400":{"description":"Returned if the user does not have permission to edit the comment or the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue comments"],"summary":"Delete comment","description":"Deletes a comment.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all comments*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any comment or *Delete own comments* to delete comment created by the user,\n * If the comment has visibility restrictions, the user belongs to the group or has the role visibility is restricted to.","operationId":"deleteComment","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the comment.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the user does not have permission to delete the comment."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or comment is not found or the user does not have permission to view the issue or comment."},"405":{"description":"Returned if an anonymous call is made to the operation."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/editmeta":{"get":{"tags":["Issues"],"summary":"Get edit issue metadata","description":"Returns the edit screen fields for an issue that are visible to and editable by the user. Use the information to populate the requests in [Edit issue](#api-rest-api-3-issue-issueIdOrKey-put).\n\nConnect app users with admin permissions (from user permissions and app scopes) can return additional details using:\n\n * `overrideScreenSecurity` Returns hidden fields.\n * `overrideEditableFlag` Returns uneditable fields. For example, where an issue has a workflow status of closed none of its fields are editable.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote: For any fields to be editable the user must have the *Edit issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the issue.","operationId":"getEditIssueMeta","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"overrideScreenSecurity","in":"query","description":"Whether hidden fields should be returned. Available to connect app users with admin permissions.","schema":{"type":"boolean","default":false}},{"name":"overrideEditableFlag","in":"query","description":"Whether non-editable fields should be returned. Available to connect app users with admin permissions.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateMetadata"},"example":"{\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user uses an override parameter but doesn't have permission to do so."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/{issueIdOrKey}/notify":{"post":{"tags":["Issues"],"summary":"Send notification for issue","description":"Creates an email notification for an issue and adds it to the mail queue.\n\n**[Permissions](#permissions) required:**\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"notify","parameters":[{"name":"issueIdOrKey","in":"path","description":"ID or key of the issue that the notification is sent for.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The request object for the notification and recipients.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Notification"},"example":{"htmlBody":"The latest test results for this ticket are now available.","subject":"Latest test results","textBody":"The latest test results for this ticket are now available.","to":{"voters":true,"watchers":true,"groups":[{"name":"notification-group"}],"reporter":false,"assignee":false,"users":[{"accountId":"5b10a2844c20165700ede21g","active":false}]},"restrict":{"permissions":[{"key":"BROWSE"}],"groups":[{"name":"notification-group"}]}}}},"required":true},"responses":{"204":{"description":"Returned if the email is queued for sending.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the recipient is the same as the calling user.\n * the recipient is invalid. For example, the recipient is set to the assignee, but the issue is unassigned.\n * the request is invalid. For example, required fields are missing or have invalid values."},"403":{"description":"Returned if:\n\n * outgoing emails are disabled.\n * no SMTP server is configured."},"404":{"description":"Returned if the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/properties":{"get":{"tags":["Issue properties"],"summary":"Get issue property keys","description":"Returns the URLs and keys of an issue's properties.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Property details are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssuePropertyKeys","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"404":{"description":"Returned if the issue is not found or the user does not have permissions to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/{issueIdOrKey}/properties/{propertyKey}":{"get":{"tags":["Issue properties"],"summary":"Get issue property","description":"Returns the key and value of an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or property is not found or the user does not have permission to see the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue properties"],"summary":"Set issue property","description":"Sets the value of an issue's property. Use this resource to store custom data against an issue.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"setIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the issue property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the issue property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the issue."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue properties"],"summary":"Delete issue property","description":"Deletes an issue's property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Edit issues* [project permissions](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteIssueProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The key or ID of the issue.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or property is not found, or the user does not have permission to edit the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/remotelink":{"get":{"tags":["Issue remote links"],"summary":"Get remote issue links","description":"Returns the remote issue links for an issue. When a remote issue link global ID is provided the record with that global ID is returned, otherwise all remote issue links are returned. Where a global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getRemoteIssueLinks","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"globalId","in":"query","description":"The global ID of the remote issue link.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLink"},"example":"[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/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\":\"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\":\"https://your-domain.atlassian.net/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 item\",\"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/mia.gif\",\"title\":\"Tested by Mia Krystof\",\"link\":\"http://www.anothercompany.com/tester/person?accountId=5b10a2844c20165700ede21g\"}}}}]"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if issue linking is disabled."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue remote links"],"summary":"Create or update remote issue link","description":"Creates or updates a remote issue link for an issue.\n\nIf a `globalId` is provided and a remote issue link with that global ID is found it is updated. Any fields without values in the request are set to null. Otherwise, the remote issue link is created.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"createOrUpdateRemoteIssueLink","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkRequest"},"example":{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","relationship":"causes","object":{"summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1","status":{"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed"},"resolved":true}}}}},"required":true},"responses":{"200":{"description":"Returned if the remote issue link is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkIdentifies"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"}"}}},"201":{"description":"Returned if the remote issue link is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkIdentifies"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/remotelink/10000\"}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue remote links"],"summary":"Delete remote issue link by global ID","description":"Deletes the remote issue link from the issue using the link's global ID. Where the global ID includes reserved URL characters these must be escaped in the request. For example, pass `system=http://www.mycompany.com/support&id=1` as `system%3Dhttp%3A%2F%2Fwww.mycompany.com%2Fsupport%26id%3D1`.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is implemented, issue-level security permission to view the issue.","operationId":"deleteRemoteIssueLinkByGlobalId","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"globalId","in":"query","description":"The global ID of a remote issue link.","required":true,"schema":{"type":"string","example":"system=http://www.mycompany.com/support&id=1"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if a global ID isn't provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/remotelink/{linkId}":{"get":{"tags":["Issue remote links"],"summary":"Get remote issue link by ID","description":"Returns a remote issue link for an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"getRemoteIssueLinkById","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","description":"The ID of the remote issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLink"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/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\":\"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\"}}}}"}}},"400":{"description":"Returned if the link ID is invalid or the remote issue link does not belong to the issue."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if issue linking is disabled."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue remote links"],"summary":"Update remote issue link by ID","description":"Updates a remote issue link for an issue.\n\nNote: Fields without values in the request are set to null.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"updateRemoteIssueLink","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"linkId","in":"path","description":"The ID of the remote issue link.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoteIssueLinkRequest"},"example":{"application":{"name":"My Acme Tracker","type":"com.acme.tracker"},"globalId":"system=http://www.mycompany.com/support&id=1","relationship":"causes","object":{"summary":"Customer support issue","icon":{"url16x16":"http://www.mycompany.com/support/ticket.png","title":"Support Ticket"},"title":"TSTSUP-111","url":"http://www.mycompany.com/support?id=1","status":{"icon":{"url16x16":"http://www.mycompany.com/support/resolved.png","link":"http://www.mycompany.com/support?id=1&details=closed","title":"Case Closed"},"resolved":true}}}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the link ID is invalid.\n * the remote issue link does not belong to the issue.\n * the request body is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"title\":\"'title' is required.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue remote links"],"summary":"Delete remote issue link by ID","description":"Deletes a remote issue link from an issue.\n\nThis operation requires [issue linking to be active](https://confluence.atlassian.com/x/yoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects*, *Edit issues*, and *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"deleteRemoteIssueLinkById","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"},{"name":"linkId","in":"path","description":"The ID of a remote issue link.","required":true,"schema":{"type":"string","example":"10000"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the link ID is invalid or the remote issue link does not belong to the issue."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to link issues."},"404":{"description":"Returned if the issue or remote issue link is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/transitions":{"get":{"tags":["Issues"],"summary":"Get transitions","description":"Returns either all transitions or a transition that can be performed by the user on an issue, based on the issue's status.\n\nNote, if a request is made for a transition that does not exist or cannot be performed on the issue, given its status, the response will return any empty transitions list.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required: A list or transition is returned only when the user has:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nHowever, if the user does not have the *Transition issues* [ project permission](https://confluence.atlassian.com/x/yodKLg) the response will not list any transitions.","operationId":"getTransitions","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about transitions in the response. This parameter accepts `transitions.fields`, which returns information about the fields in the transition screen for each transition. Fields hidden from the screen are not returned. Use this information to populate the `fields` and `update` fields in [Transition issue](#api-rest-api-3-issue-issueIdOrKey-transitions-post).","schema":{"type":"string"}},{"name":"transitionId","in":"query","description":"The ID of the transition.","schema":{"type":"string"}},{"name":"skipRemoteOnlyCondition","in":"query","description":"Whether transitions with the condition *Hide From User Condition* are included in the response.","schema":{"type":"boolean","default":false}},{"name":"includeUnavailableTransitions","in":"query","description":"Whether details of transitions that fail a condition are included in the response","schema":{"type":"boolean","default":false}},{"name":"sortByOpsBarAndStatus","in":"query","description":"Whether the transitions are sorted by ops-bar sequence value first then category order (Todo, In Progress, Done) or only by ops-bar sequence value.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transitions"},"example":"{\"transitions\":[{\"id\":\"2\",\"name\":\"Close Issue\",\"to\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},\"hasScreen\":false,\"isGlobal\":false,\"isInitial\":false,\"isAvailable\":true,\"isConditional\":false,\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}},{\"id\":\"711\",\"name\":\"QA Review\",\"to\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}},\"hasScreen\":true,\"fields\":{\"summary\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"},\"colour\":{\"required\":false,\"schema\":{\"type\":\"array\",\"items\":\"option\",\"custom\":\"com.atlassian.jira.plugin.system.customfieldtypes:multiselect\",\"customId\":10001},\"name\":\"My Multi Select\",\"key\":\"field_key\",\"hasDefaultValue\":false,\"operations\":[\"set\",\"add\"],\"allowedValues\":[\"red\",\"blue\"],\"defaultValue\":\"red\"}}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issues"],"summary":"Transition issue","description":"Performs an issue transition and, if the transition has a screen, updates the fields from the transition screen.\n\nsortByCategory To update the fields on the transition screen, specify the fields in the `fields` or `update` parameters in the request body. Get details about the fields using [ Get transitions](#api-rest-api-3-issue-issueIdOrKey-transitions-get) with the `transitions.fields` expand.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Transition issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"doTransition","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueUpdateDetails"},"example":{"historyMetadata":{"actor":{"avatarUrl":"http://mysystem/avatar/tony.jpg","displayName":"Tony","id":"tony","type":"mysystem-user","url":"http://mysystem/users/tony"},"extraData":{"Iteration":"10a","Step":"4"},"description":"From the order testing process","generator":{"id":"mysystem-1","type":"mysystem-application"},"cause":{"id":"myevent","type":"mysystem-event"},"activityDescription":"Complete order processing","type":"myplugin:type"},"update":{"comment":[{"add":{"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Bug has been fixed","type":"text"}]}]}}}]},"fields":{"assignee":{"name":"bob"},"resolution":{"name":"Fixed"}},"transition":{"id":"5"}}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * no transition is specified.\n * the user does not have permission to transition the issue.\n * a field that isn't included on the transition screen is defined in `fields` or `update`.\n * a field is specified in both `fields` and `update`.\n * the request is invalid for any other reason."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/votes":{"get":{"tags":["Issue votes"],"summary":"Get votes","description":"Returns details about the votes on an issue.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n\nNote that users with the necessary permissions for this operation but without the *View voters and watchers* project permissions are not returned details in the `voters` field.","operationId":"getVotes","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Votes"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/issue/MKY-1/votes\",\"votes\":24,\"hasVoted\":true,\"voters\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the user does not have permission to view the issue.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue votes"],"summary":"Add vote","description":"Adds the user's vote to an issue. This is the equivalent of the user clicking *Vote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addVote","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue votes"],"summary":"Delete vote","description":"Deletes a user's vote from an issue. This is the equivalent of the user clicking *Unvote* on an issue in Jira.\n\nThis operation requires the **Allow users to vote on issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"removeVote","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * voting is disabled.\n * the user has not voted on the issue.\n * the issue is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/watchers":{"get":{"tags":["Issue watchers"],"summary":"Get issue watchers","description":"Returns the watchers for an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is ini\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To see details of users on the watchlist other than themselves, *View voters and watchers* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"getIssueWatchers","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Watchers"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue watchers"],"summary":"Add watcher","description":"Adds a user as a watcher of an issue by passing the account ID of the user. For example, `\"5b10ac8d82e05b22cc7d4ef5\"`. If no user is specified the calling user is added.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To add users other than themselves to the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"addWatcher","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The account ID of the user. Note that username cannot be used due to privacy changes.","content":{"application/json":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the permission to manage the watcher list."},"404":{"description":"Returned if the issue or the user is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue watchers"],"summary":"Delete watcher","description":"Deletes a user as a watcher of an issue.\n\nThis operation requires the **Allow users to watch issues** option to be *ON*. This option is set in General configuration for Jira. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * To remove users other than themselves from the watchlist, *Manage watcher list* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.","operationId":"removeWatcher","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if `accountId` is not supplied."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the permission to manage the watcher list."},"404":{"description":"Returned if the issue or the user is not found or the user does not have permission to view the issue."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/worklog":{"get":{"tags":["Issue worklogs"],"summary":"Get issue worklogs","description":"Returns worklogs for an issue, starting from the oldest worklog or from the worklog started on or after a date and time.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Workloads are only returned where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getIssueWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1048576}},{"name":"startedAfter","in":"query","description":"The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned.","schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts`properties`, which returns worklog properties.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageOfWorklogs"},"example":"{\"startAt\":0,\"maxResults\":1,\"total\":1,\"worklogs\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-09-03T02:19:40.904+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:40.904+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue is not found or the user does not have permission to view the issue.\n * `startAt` or `maxResults` has non-numeric values.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue worklogs"],"summary":"Add worklog","description":"Adds a worklog to an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* and *Work on issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"addWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key the issue.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Reduces the estimate by amount specified in `reduceBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"reduceBy","in":"query","description":"The amount to reduce the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m). For example, *2d*. Required when `adjustEstimate` is `manual`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts `properties`, which returns worklog properties.","schema":{"type":"string","default":""}},{"name":"overrideEditableFlag","in":"query","description":"Whether the worklog entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Only connect app users with admin scope permission can use this flag.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":{"timeSpentSeconds":12000,"visibility":{"type":"group","value":"jira-developers"},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"I did some work here.","type":"text"}]}]},"started":"2021-09-03T02:19:40.903+0000"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"}}}},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid.\n * the user does not have permission to add the worklog.\n * the request JSON is malformed."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issue/{issueIdOrKey}/worklog/{id}":{"get":{"tags":["Issue worklogs"],"summary":"Get worklog","description":"Returns a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about work logs in the response. This parameter accepts\n\n`properties`, which returns worklog properties.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-09-03T02:19:40.904+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:40.904+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or the user does not have permission to view it.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled.\n\n."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue worklogs"],"summary":"Update worklog","description":"Updates a worklog.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"updateWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `auto` Updates the estimate by the difference between the original and updated value of `timeSpent` or `timeSpentSeconds`.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties`, which returns worklog properties.","schema":{"type":"string","default":""}},{"name":"overrideEditableFlag","in":"query","description":"Whether the worklog should be added to the issue even if the issue is not editable. For example, because the issue is closed. Only connect app users with admin permissions can use this flag.","schema":{"type":"boolean","default":false}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":{"timeSpentSeconds":12000,"visibility":{"type":"group","value":"jira-developers"},"comment":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"I did some work here.","type":"text"}]}]},"started":"2021-09-03T02:19:40.903+0000"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Worklog"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-09-03T02:19:40.904+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:40.904+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}"}}},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * the user does not have permission to update the worklog.\n * the request JSON is malformed."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or user does not have permission to view the issue.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue worklogs"],"summary":"Delete worklog","description":"Deletes a worklog from an issue.\n\nTime tracking must be enabled in Jira, otherwise this operation returns an error. For more information, see [Configuring time tracking](https://confluence.atlassian.com/x/qoXKM).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Delete all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to delete any worklog or *Delete own worklogs* to delete worklogs created by the user,\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"deleteWorklog","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"notifyUsers","in":"query","description":"Whether users watching the issue are notified by email.","schema":{"type":"boolean","default":true}},{"name":"adjustEstimate","in":"query","description":"Defines how to update the issue's time estimate, the options are:\n\n * `new` Sets the estimate to a specific value, defined in `newEstimate`.\n * `leave` Leaves the estimate unchanged.\n * `manual` Increases the estimate by amount specified in `increaseBy`.\n * `auto` Reduces the estimate by the value of `timeSpent` in the worklog.","schema":{"type":"string","enum":["new","leave","manual","auto"],"default":"auto"}},{"name":"newEstimate","in":"query","description":"The value to set as the issue's remaining time estimate, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `new`.","schema":{"type":"string"}},{"name":"increaseBy","in":"query","description":"The amount to increase the issue's remaining estimate by, as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). For example, *2d*. Required when `adjustEstimate` is `manual`.","schema":{"type":"string"}},{"name":"overrideEditableFlag","in":"query","description":"Whether the work log entry should be added to the issue even if the issue is not editable, because jira.issue.editable set to false or missing. For example, the issue is closed. Only connect app users with admin permissions can use this flag.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n\n * `adjustEstimate` is set to `new` but `newEstimate` is not provided or is invalid.\n * `adjustEstimate` is set to `manual` but `reduceBy` is not provided or is invalid.\n * the user does not have permission to delete the worklog."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the issue is not found or user does not have permission to view the issue.\n * the worklog is not found or the user does not have permission to view it.\n * time tracking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties":{"get":{"tags":["Issue worklog properties"],"summary":"Get worklog property keys","description":"Returns the keys of all properties for a worklog.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklogPropertyKeys","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue or worklog is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issue/{issueIdOrKey}/worklog/{worklogId}/properties/{propertyKey}":{"get":{"tags":["Issue worklog properties"],"summary":"Get worklog property","description":"Returns the value of a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"getWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue, worklog, or property is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue worklog properties"],"summary":"Set worklog property","description":"Sets the value of a worklog property. Use this operation to store custom data against the worklog.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * *Edit all worklogs*[ project permission](https://confluence.atlassian.com/x/yodKLg) to update any worklog or *Edit own worklogs* to update worklogs created by the user.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"setWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the worklog property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the worklog property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the worklog ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the worklog."},"404":{"description":"Returned if:\n\n * the issue or worklog is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Issue worklog properties"],"summary":"Delete worklog property","description":"Deletes a worklog property.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the worklog has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"deleteWorklogProperty","parameters":[{"name":"issueIdOrKey","in":"path","description":"The ID or key of the issue.","required":true,"schema":{"type":"string"}},{"name":"worklogId","in":"path","description":"The ID of the worklog.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the worklog property is removed."},"400":{"description":"Returned if the worklog key or id is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to edit the worklog."},"404":{"description":"Returned if:\n\n * the issue, worklog, or property is not found.\n * the user does not have permission to view the issue or worklog."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issueLink":{"post":{"tags":["Issue links"],"summary":"Create issue link","description":"Creates a link between two issues. Use this operation to indicate a relationship between two issues and optionally add a comment to the from (outward) issue. To use this resource the site must have [Issue Linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis resource returns nothing on the creation of an issue link. To obtain the ID of the issue link, use `https://your-domain.atlassian.net/rest/api/3/issue/[linked issue key]?fields=issuelinks`.\n\nIf the link request duplicates a link, the response indicates that the issue link was created. If the request included a comment, the comment is added.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues to be linked,\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) on the project containing the from (outward) issue,\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.\n * If the comment has visibility restrictions, belongs to the group or has the role visibility is restricted to.","operationId":"linkIssues","parameters":[],"requestBody":{"description":"The issue link request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkIssueRequestJsonBean"},"example":{"outwardIssue":{"key":"MKY-1"},"comment":{"visibility":{"type":"group","value":"jira-software-users"},"body":{"type":"doc","version":1,"content":[{"type":"paragraph","content":[{"text":"Linked related issue!","type":"text"}]}]}},"inwardIssue":{"key":"HSP-1"},"type":{"name":"Duplicate"}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the comment is not created. The response contains an error message indicating why the comment wasn't created. The issue link is also not created."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the user cannot view one or both of the issues. For example, the user doesn't have *Browse project* project permission for a project containing one of the issues.\n * the user does not have *link issues* project permission.\n * either of the link issues are not found.\n * the issue link type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"WRITE"}},"/rest/api/3/issueLink/{linkId}":{"get":{"tags":["Issue links"],"summary":"Get issue link","description":"Returns an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Browse project* [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the linked issues.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.","operationId":"getIssueLink","parameters":[{"name":"linkId","in":"path","description":"The ID of the issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLink"},"example":"{\"id\":\"10001\",\"type\":{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"},\"inwardIssue\":{\"id\":\"10004\",\"key\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}},\"priority\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/5\",\"statusColor\":\"#cfcfcf\",\"description\":\"Very little impact.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\",\"name\":\"Trivial\",\"id\":\"2\"},\"issuetype\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}}},\"outwardIssue\":{\"id\":\"10004L\",\"key\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},\"priority\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"},\"issuetype\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0}}}}"}}},"400":{"description":"Returned if the issue link ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link is not found.\n * the user doesn't have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Issue links"],"summary":"Delete issue link","description":"Deletes an issue link.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * Browse project [project permission](https://confluence.atlassian.com/x/yodKLg) for all the projects containing the issues in the link.\n * *Link issues* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one of the projects containing issues in the link.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, permission to view both of the issues.","operationId":"deleteIssueLink","parameters":[{"name":"linkId","in":"path","description":"The ID of the issue link.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"200 response"},"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue link ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link is not found.\n * the user doesn't have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/issueLinkType":{"get":{"tags":["Issue link types"],"summary":"Get issue link types","description":"Returns a list of all issue link types.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.","operationId":"getIssueLinkTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkTypes"},"example":"{\"issueLinkTypes\":[{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"},{\"id\":\"1010\",\"name\":\"Blocks\",\"inward\":\"Blocked by\",\"outward\":\"Blocks\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1010\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if issue linking is disabled."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue link types"],"summary":"Create issue link type","description":"Creates an issue link type. Use this operation to create descriptions of the reasons why issues are linked. The issue link type consists of a name and descriptions for a link's inward and outward relationships.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueLinkType","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":{"inward":"Duplicated by","name":"Duplicate","outward":"Duplicates"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type name is in use.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issueLinkType/{issueLinkTypeId}":{"get":{"tags":["Issue link types"],"summary":"Get issue link type","description":"Returns an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project in the site.","operationId":"getIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the issue link type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue link types"],"summary":"Update issue link type","description":"Updates an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":{"inward":"Duplicated by","name":"Duplicate","outward":"Duplicates"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueLinkType"},"example":"{\"id\":\"1000\",\"name\":\"Duplicate\",\"inward\":\"Duplicated by\",\"outward\":\"Duplicates\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueLinkType/1000\"}"}}},"400":{"description":"Returned if the issue link type ID or the request body are invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue link types"],"summary":"Delete issue link type","description":"Deletes an issue link type.\n\nTo use this operation, the site must have [issue linking](https://confluence.atlassian.com/x/yoXKM) enabled.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueLinkType","parameters":[{"name":"issueLinkTypeId","in":"path","description":"The ID of the issue link type.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the issue link type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * issue linking is disabled.\n * the issue link type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuesecurityschemes":{"get":{"tags":["Issue security schemes"],"summary":"Get issue security schemes","description":"Returns all [issue security schemes](https://confluence.atlassian.com/x/J4lKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueSecuritySchemes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecuritySchemes"},"example":"{\"issueSecuritySchemes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer issue security schemes."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/issuesecurityschemes/{id}":{"get":{"tags":["Issue security schemes"],"summary":"Get issue security scheme","description":"Returns an issue security scheme along with its security levels.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project that uses the requested issue security scheme.","operationId":"getIssueSecurityScheme","parameters":[{"name":"id","in":"path","description":"The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021,\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the administrator permission and the scheme is not used in any project where the user has administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/issuesecurityschemes/{issueSecuritySchemeId}/members":{"get":{"tags":["Issue security level"],"summary":"Get issue security level members","description":"Returns issue security level members.\n\nOnly issue security level members in context of classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueSecurityLevelMembers","parameters":[{"name":"issueSecuritySchemeId","in":"path","description":"The ID of the issue security scheme. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) operation to get a list of issue security scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueSecurityLevelId","in":"query","description":"The list of issue security level IDs. To include multiple issue security levels separate IDs with ampersand: `issueSecurityLevelId=10000&issueSecurityLevelId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueSecurityLevelMember"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":10000,\"issueSecurityLevelId\":10020,\"holder\":{\"type\":\"user\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\"},\"expand\":\"user\"}},{\"id\":10001,\"issueSecurityLevelId\":10020,\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"}},{\"id\":10002,\"issueSecurityLevelId\":10021,\"holder\":{\"type\":\"assignee\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if no issue security level members are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/issuetype":{"get":{"tags":["Issue types"],"summary":"Get all issue types for user","description":"Returns all issue types.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issue types are only returned as follows:\n\n * if the user has the *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), all issue types are returned.\n * if the user has the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, the issue types associated with the projects the user has permission to browse are returned.","operationId":"getIssueAllTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue types"],"summary":"Create issue type","description":"Creates an issue type and adds it to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueType","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeCreateBean"},"example":{"name":"name","description":"description","type":"standard"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"}}}},"400":{"description":"Returned if the request is invalid because:\n\n * no content is sent.\n * the issue type name exceeds 60 characters.\n * a subtask issue type is requested on an instance where subtasks are disabled."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"409":{"description":"Returned if the issue type name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetype/project":{"get":{"tags":["Issue types"],"summary":"Get issue types for project","description":"Returns issue types for a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in the relevant project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypesForProject","parameters":[{"name":"projectId","in":"query","description":"The ID of the project.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"level","in":"query","description":"The level of the issue type to filter by. Use:\n\n * `-1` for Subtask.\n * `0` for Base.\n * `1` for Epic.","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issuetype/{id}":{"get":{"tags":["Issue types"],"summary":"Get issue type","description":"Returns an issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) in a project the issue type is associated with or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue types"],"summary":"Update issue type","description":"Updates the issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeUpdateBean"},"example":{"avatarId":1,"name":"name","description":"description"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeDetails"}}}},"400":{"description":"Returned if the request is invalid because:\n\n * no content is sent.\n * the issue type name exceeds 60 characters.\n * the avatar is not associated with this issue type."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type is not found."},"409":{"description":"Returned if the issue type name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue types"],"summary":"Delete issue type","description":"Deletes the issue type. If the issue type is in use, all uses are updated with the alternative issue type (`alternativeIssueTypeId`). A list of alternative issue types are obtained from the [Get alternative issue types](#api-rest-api-3-issuetype-id-alternatives-get) resource.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"alternativeIssueTypeId","in":"query","description":"The ID of the replacement issue type.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if any issues cannot be updated with the alternative issue type."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the issue type is in use and an alternative issue type is not specified.\n * the issue type or alternative issue type is not found."},"409":{"description":"Returned if the issue type is in use and:\n\n * also specified as the alternative issue type.\n * is a *standard* issue type and the alternative issue type is a *subtask*."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetype/{id}/alternatives":{"get":{"tags":["Issue types"],"summary":"Get alternative issue types","description":"Returns a list of issue types that can be used to replace the issue type. The alternative issue types are those assigned to the same workflow scheme, field configuration scheme, and screen scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAlternativeIssueTypes","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issuetype/{id}/avatar2":{"post":{"tags":["Issue types"],"summary":"Load issue type avatar","description":"Loads an avatar for the issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST \\ --user email@example.com: \\ --header 'X-Atlassian-Token: no-check' \\ --header 'Content-Type: image/< image_type>' \\ --data-binary \"<@/path/to/file/with/your/avatar>\" \\ --url 'https://your-domain.atlassian.net/rest/api/3/issuetype/{issueTypeId}'This`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar, use [ Update issue type](#api-rest-api-3-issuetype-id-put) to set it as the issue type's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeAvatar","parameters":[{"name":"id","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image.\n * `cropSize` is missing.\n * the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetype/{issueTypeId}/properties":{"get":{"tags":["Issue type properties"],"summary":"Get issue type property keys","description":"Returns all the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys of the issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the property keys of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the property keys of any issue types associated with the projects the user has permission to browse.","operationId":"getIssueTypePropertyKeys","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/issuetype/{issueTypeId}/properties/{propertyKey}":{"get":{"tags":["Issue type properties"],"summary":"Get issue type property","description":"Returns the key and value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to get the details of any issue type.\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) to get the details of any issue types associated with the projects the user has permission to browse.","operationId":"getIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. Use [Get issue type property keys](#api-rest-api-3-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue type or property is not found or the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Issue type properties"],"summary":"Set issue type property","description":"Creates or updates the value of the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). Use this resource to store and update data against an issue type.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the issue type property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{},"example":{"number":5,"string":"string-value"}}},"required":true},"responses":{"200":{"description":"Returned if the issue type property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the issue type property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * the issue type ID is invalid.\n * a property value is not provided.\n * the property value JSON content is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to modify the issue type."},"404":{"description":"Returned if:\n\n * the issue type is not found.\n * the user does not have the permission view the issue type."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type properties"],"summary":"Delete issue type property","description":"Deletes the [issue type property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeProperty","parameters":[{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property. Use [Get issue type property keys](#api-rest-api-3-issuetype-issueTypeId-properties-get) to get a list of all issue type property keys.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the issue type property is deleted."},"400":{"description":"Returned if the issue type ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue type or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme":{"get":{"tags":["Issue type schemes"],"summary":"Get all issue type schemes","description":"Returns a [paginated](#pagination) list of issue type schemes.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllIssueTypeSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of issue type schemes IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScheme"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\"},{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue type schemes"],"summary":"Create issue type scheme","description":"Creates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeDetails"},"example":{"defaultIssueTypeId":"10002","issueTypeIds":["10001","10002","10003"],"name":"Kanban Issue Type Scheme","description":"A collection of issue types suited to use in a kanban style project."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeID"},"example":"{\"issueTypeSchemeId\":\"10010\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type ID has to be present in issue type IDs list.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the scheme name is used by another scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/mapping":{"get":{"tags":["Issue type schemes"],"summary":"Get issue type scheme items","description":"Returns a [paginated](#pagination) list of issue type scheme items.\n\nOnly issue type scheme items used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeSchemesMapping","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueTypeSchemeId","in":"query","description":"The list of issue type scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `issueTypeSchemeId=10000&issueTypeSchemeId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeSchemeMapping"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10000\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10001\"},{\"issueTypeSchemeId\":\"10000\",\"issueTypeId\":\"10002\"},{\"issueTypeSchemeId\":\"10001\",\"issueTypeId\":\"10000\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/project":{"get":{"tags":["Issue type schemes"],"summary":"Get issue type schemes for projects","description":"Returns a [paginated](#pagination) list of issue type schemes and, for each issue type scheme, a list of the projects that use it.\n\nOnly issue type schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeSchemeForProjects","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple project IDs, provide an ampersand-separated list. For example, `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeSchemeProjects"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"issueTypeScheme\":{\"id\":\"10000\",\"name\":\"Default Issue Type Scheme\",\"description\":\"Default issue type scheme is the list of global issue types. All newly created issue types will automatically be added to this scheme.\",\"defaultIssueTypeId\":\"10003\",\"isDefault\":true},\"projectIds\":[\"10000\",\"10001\"]},{\"issueTypeScheme\":{\"id\":\"10001\",\"name\":\"SUP: Kanban Issue Type Scheme\",\"description\":\"A collection of issue types suited to use in a kanban style project.\"},\"projectIds\":[\"10002\"]},{\"issueTypeScheme\":{\"id\":\"10002\",\"name\":\"HR: Scrum issue type scheme\",\"description\":\"\",\"defaultIssueTypeId\":\"10004\"},\"projectIds\":[\"10003\",\"10004\",\"10005\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue type schemes"],"summary":"Assign issue type scheme to project","description":"Assigns an issue type scheme to a project.\n\nIf any issues in the project are assigned issue types not present in the new scheme, the operation will fail. To complete the assignment those issues must be updated to use issue types in the new scheme.\n\nIssue type schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignIssueTypeSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeProjectAssociation"},"example":{"issueTypeSchemeId":"10000","projectId":"10000"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"This issue type scheme can't be assigned to the project. This is because some issues in this project use issue types not present in the scheme. Before assigning the scheme to the project, update the issue types on these issues: 7\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme or the project is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/{issueTypeSchemeId}":{"put":{"tags":["Issue type schemes"],"summary":"Update issue type scheme","description":"Updates an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeSchemeUpdateDetails"},"example":{"defaultIssueTypeId":"10002","name":"Kanban Issue Type Scheme","description":"A collection of issue types suited to use in a kanban style project."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type has to be one of the issue types of the scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type schemes"],"summary":"Delete issue type scheme","description":"Deletes an issue type scheme.\n\nOnly issue type schemes used in classic projects can be deleted.\n\nAny projects assigned to the scheme are reassigned to the default issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the issue type scheme is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is to delete the default issue type scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The default issue type scheme can't be removed.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype":{"put":{"tags":["Issue type schemes"],"summary":"Add issue types to issue type scheme","description":"Adds issue types to an issue type scheme.\n\nThe added issue types are appended to the issue types list.\n\nIf any of the issue types exist in the issue type scheme, the operation fails and no issue types are added.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addIssueTypesToIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIds"},"example":{"issueTypeIds":["10000","10002","10003"]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types were not added because they are already present in the issue type scheme: 10002, 10003\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type or the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"These issue types were not found: 10000, 10002\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype/move":{"put":{"tags":["Issue type schemes"],"summary":"Change order of issue types","description":"Changes the order of issue types in an issue type scheme.\n\nThe request body parameters must meet the following requirements:\n\n * all of the issue types must belong to the issue type scheme.\n * either `after` or `position` must be provided.\n * the issue type in `after` must not be in the issue type list.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"reorderIssueTypesInIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderOfIssueTypes"},"example":{"issueTypeIds":["10001","10004","10002"],"after":"10008"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme does not include some of the specified issue types. Issue type IDs missing from the scheme are: 10007, 10008\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescheme/{issueTypeSchemeId}/issuetype/{issueTypeId}":{"delete":{"tags":["Issue type schemes"],"summary":"Remove issue type from issue type scheme","description":"Removes an issue type from an issue type scheme.\n\nThis operation cannot remove:\n\n * any issue type used by issues.\n * any issue types from the default issue type scheme.\n * the last standard issue type from an issue type scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeIssueTypeFromIssueTypeScheme","parameters":[{"name":"issueTypeSchemeId","in":"path","description":"The ID of the issue type scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueTypeId","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Can't remove the last standard issue type from the issue type scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type scheme is missing or the issue type is not found in the issue type scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type was not found in the issue type scheme.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen schemes","description":"Returns a [paginated](#pagination) list of issue type screen schemes.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"id","in":"query","description":"The list of issue type screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenScheme"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},{\"id\":\"10000\",\"name\":\"Office issue type screen scheme\",\"description\":\"Managing office projects\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Issue type screen schemes"],"summary":"Create issue type screen scheme","description":"Creates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createIssueTypeScreenScheme","parameters":[],"requestBody":{"description":"An issue type screen scheme bean.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeDetails"},"example":{"name":"Scrum issue type screen scheme","issueTypeMappings":[{"issueTypeId":"default","screenSchemeId":"10001"},{"issueTypeId":"10001","screenSchemeId":"10002"},{"issueTypeId":"10002","screenSchemeId":"10002"}]}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeId"},"example":"{\"id\":\"10001\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more issue type IDs are repeated, an issue type ID can only be specified once.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type or screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more issue type IDs were not found.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/mapping":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen scheme items","description":"Returns a [paginated](#pagination) list of issue type screen scheme items.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemeMappings","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"issueTypeScreenSchemeId","in":"query","description":"The list of issue type screen scheme IDs. To include multiple issue type screen schemes, separate IDs with ampersand: `issueTypeScreenSchemeId=10000&issueTypeScreenSchemeId=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenSchemeItem"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":4,\"isLast\":true,\"values\":[{\"issueTypeScreenSchemeId\":\"10020\",\"issueTypeId\":\"10000\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10021\",\"issueTypeId\":\"10001\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10022\",\"issueTypeId\":\"10002\",\"screenSchemeId\":\"10010\"},{\"issueTypeScreenSchemeId\":\"10023\",\"issueTypeId\":\"default\",\"screenSchemeId\":\"10011\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/project":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen schemes for projects","description":"Returns a [paginated](#pagination) list of issue type screen schemes and, for each issue type screen scheme, a list of the projects that use it.\n\nOnly issue type screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueTypeScreenSchemeProjectAssociations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"projectId","in":"query","description":"The list of project IDs. To include multiple projects, separate IDs with ampersand: `projectId=10000&projectId=10001`.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanIssueTypeScreenSchemesProjects"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"issueTypeScreenScheme\":{\"id\":\"1\",\"name\":\"Default Issue Type Screen Scheme\",\"description\":\"The default issue type screen scheme\"},\"projectIds\":[\"10000\",\"10001\"]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Issue type screen schemes"],"summary":"Assign issue type screen scheme to project","description":"Assigns an issue type screen scheme to a project.\n\nIssue type screen schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignIssueTypeScreenSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeProjectAssociation"},"example":{"issueTypeScreenSchemeId":"10001","projectId":"10002"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if:\n\n * project is not found.\n * issue type screen scheme is not found.\n * the project is not a classic project.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have issue type screen schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme or the project are missing.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}":{"put":{"tags":["Issue type screen schemes"],"summary":"Update issue type screen scheme","description":"Updates an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type screen scheme update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeUpdateDetails"},"example":{"name":"Scrum scheme","description":"Screens for scrum issue types."}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme name is in use.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Issue type screen schemes"],"summary":"Delete issue type screen scheme","description":"Deletes an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the issue type screen scheme is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme cannot be deleted because it is assigned to one or more projects.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."},"404":{"description":"Returned if the issue type screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping":{"put":{"tags":["Issue type screen schemes"],"summary":"Append mappings to issue type screen scheme","description":"Appends issue type to screen scheme mappings to an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"appendMappingsForIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeScreenSchemeMappingDetails"},"example":{"issueTypeMappings":[{"issueTypeId":"10000","screenSchemeId":"10001"},{"issueTypeId":"10001","screenSchemeId":"10002"},{"issueTypeId":"10002","screenSchemeId":"10002"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"A default mapping cannot be added.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."},"404":{"description":"Returned if the issue type screen scheme, issue type, or screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}},"409":{"description":"Returned if the issue type is a sub-task, but sub-tasks are disabled in Jira settings.","content":{"application/json":{"example":"{\"errorMessages\":[\"Sub-tasks are disabled in Jira. At least one of the issue types is a sub-task.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/default":{"put":{"tags":["Issue type screen schemes"],"summary":"Update issue type screen scheme default screen scheme","description":"Updates the default screen scheme of an issue type screen scheme. The default screen scheme is used for all unmapped issue types.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDefaultScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateDefaultScreenScheme"},"example":{"screenSchemeId":"10010"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screenSchemeId has to be provided.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme or the screen screen is not found, or the screen scheme isn't used in classic projects.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/mapping/remove":{"post":{"tags":["Issue type screen schemes"],"summary":"Remove mappings from issue type screen scheme","description":"Removes issue type to screen scheme mappings from an issue type screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeMappingsFromIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeIds"},"example":{"issueTypeIds":["10000","10001","10004"]}}},"required":true},"responses":{"204":{"description":"Returned if the screen scheme mappings are removed from the issue type screen scheme.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issueTypeIds must not contain duplicates.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access issue type screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the issue type screen scheme or one or more issue type mappings are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The issue type screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/issuetypescreenscheme/{issueTypeScreenSchemeId}/project":{"get":{"tags":["Issue type screen schemes"],"summary":"Get issue type screen scheme projects","description":"Returns a [paginated](#pagination) list of projects associated with an issue type screen scheme.\n\nOnly company-managed projects associated with an issue type screen scheme are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectsForIssueTypeScreenScheme","parameters":[{"name":"issueTypeScreenSchemeId","in":"path","description":"The ID of the issue type screen scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanProjectDetails"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"projectTypeKey\":\"ProjectTypeKey{key='software'}\",\"simplified\":false,\"avatarUrls\":{\"48x48\":\"secure/projectavatar?size=large&pid=10000\",\"24x24\":\"secure/projectavatar?size=small&pid=10000\",\"16x16\":\"secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"id\":\"10000\",\"description\":\"Project category description\",\"name\":\"A project category\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/jql/autocompletedata":{"get":{"tags":["JQL"],"summary":"Get field reference data (GET)","description":"Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.\n\nTo filter visible field details by project or collapse non-unique fields by field type then [Get field reference data (POST)](#api-rest-api-3-jql-autocompletedata-post) can be used.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAutoComplete","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLReferenceData"},"example":"{\"visibleFieldNames\":[{\"value\":\"summary\",\"displayName\":\"summary\",\"orderable\":\"true\",\"searchable\":\"true\",\"operators\":[\"~\",\"!~\",\"is\",\"is not\"],\"types\":[\"java.lang.String\"]},{\"value\":\"Sprint\",\"displayName\":\"Sprint - cf[10880]\",\"orderable\":\"true\",\"searchable\":\"true\",\"auto\":\"true\",\"cfid\":\"cf[10880]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.greenhopper.service.sprint.Sprint\"]}],\"visibleFunctionNames\":[{\"value\":\"standardIssueTypes()\",\"displayName\":\"standardIssueTypes()\",\"isList\":\"true\",\"types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"]}],\"jqlReservedWords\":[\"empty\",\"and\",\"or\",\"in\",\"distinct\"]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["JQL"],"summary":"Get field reference data (POST)","description":"Returns reference data for JQL searches. This is a downloadable version of the documentation provided in [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ) and [Advanced searching - functions reference](https://confluence.atlassian.com/x/hgORLQ), along with a list of JQL-reserved words. Use this information to assist with the programmatic creation of JQL queries or the validation of queries built in a custom query builder.\n\nThis operation can filter the custom fields returned by project. Invalid project IDs in `projectIds` are ignored. System fields are always returned.\n\nIt can also return the collapsed field for custom fields. Collapsed fields enable searches to be performed across all fields with the same name and of the same field type. For example, the collapsed field `Component - Component[Dropdown]` enables dropdown fields `Component - cf[10061]` and `Component - cf[10062]` to be searched simultaneously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAutoCompletePost","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchAutoCompleteFilter"},"example":{"projectIds":[10000,10001,10002],"includeCollapsedFields":true}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLReferenceData"},"example":"{\"visibleFieldNames\":[{\"value\":\"summary\",\"displayName\":\"summary\",\"orderable\":\"true\",\"searchable\":\"true\",\"operators\":[\"~\",\"!~\",\"is\",\"is not\"],\"types\":[\"java.lang.String\"]},{\"value\":\"cf[10061]\",\"displayName\":\"Component - cf[10061]\",\"orderable\":\"true\",\"auto\":\"true\",\"cfid\":\"cf[10061]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.jira.issue.customfields.option.Option\"]},{\"value\":\"cf[10062]\",\"displayName\":\"Component - cf[10062]\",\"orderable\":\"true\",\"auto\":\"true\",\"cfid\":\"cf[10062]\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.jira.issue.customfields.option.Option\"]},{\"value\":\"\\\"Component[Dropdown]\\\"\",\"displayName\":\"Component - Component[Dropdown]\",\"searchable\":\"true\",\"auto\":\"true\",\"operators\":[\"=\",\"!=\",\"in\",\"not in\",\"is\",\"is not\"],\"types\":[\"com.atlassian.jira.issue.customfields.option.Option\"]}],\"visibleFunctionNames\":[{\"value\":\"standardIssueTypes()\",\"displayName\":\"standardIssueTypes()\",\"isList\":\"true\",\"types\":[\"com.atlassian.jira.issue.issuetype.IssueType\"]}],\"jqlReservedWords\":[\"empty\",\"and\",\"or\",\"in\",\"distinct\"]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/jql/autocompletedata/suggestions":{"get":{"tags":["JQL"],"summary":"Get field auto complete suggestions","description":"Returns the JQL search auto complete suggestions for a field.\n\nSuggestions can be obtained by providing:\n\n * `fieldName` to get a list of all values for the field.\n * `fieldName` and `fieldValue` to get a list of values containing the text in `fieldValue`.\n * `fieldName` and `predicateName` to get a list of all predicate values for the field.\n * `fieldName`, `predicateName`, and `predicateValue` to get a list of predicate values containing the text in `predicateValue`.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getFieldAutoCompleteForQueryString","parameters":[{"name":"fieldName","in":"query","description":"The name of the field.","schema":{"type":"string","example":"reporter"},"x-showInExample":"true"},{"name":"fieldValue","in":"query","description":"The partial field item name entered by the user.","schema":{"type":"string"}},{"name":"predicateName","in":"query","description":"The name of the [ CHANGED operator predicate](https://confluence.atlassian.com/x/hQORLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for which the suggestions are generated. The valid predicate operators are *by*, *from*, and *to*.","schema":{"type":"string"}},{"name":"predicateValue","in":"query","description":"The partial predicate item name entered by the user.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoCompleteSuggestions"},"example":"{\"results\":[{\"value\":\"ActiveObjects\",\"displayName\":\"ActiveObjects (AO)\"},{\"value\":\"Atlassian Connect\",\"displayName\":\"Atlassian Connect (AC)\"},{\"value\":\"Atlassian Connect in Jira\",\"displayName\":\"Atlassian Connect in Jira (ACJIRA)\"}]}"}}},"400":{"description":"Returned if an invalid combination of parameters is passed."},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/jql/match":{"post":{"tags":["Issue search"],"summary":"Check issues against JQL","description":"Checks whether one or more issues would be returned by one or more JQL queries.\n\n**[Permissions](#permissions) required:** None, however, issues are only matched against JQL queries where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue is in.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"matchIssues","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuesAndJQLQueries"},"example":{"issueIds":[10001,1000,10042],"jqls":["project = FOO","issuetype = Bug","summary ~ \"some text\" AND project in (FOO, BAR)"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueMatches"},"example":"{\"matches\":[{\"matchedIssues\":[10000,10004],\"errors\":[]},{\"matchedIssues\":[100134,10025,10236],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[]},{\"matchedIssues\":[],\"errors\":[\"Invalid JQL: broken = value\"]}]}"}}},"400":{"description":"Returned if `jqls` exceeds the maximum number of JQL queries or `issueIds` exceeds the maximum number of issue IDs."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/jql/parse":{"post":{"tags":["JQL"],"summary":"Parse JQL query","description":"Parses and validates JQL queries.\n\nValidation is performed in context of the current user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"parseJqlQueries","parameters":[{"name":"validation","in":"query","description":"How to validate the JQL query and treat the validation results. Validation options include:\n\n * `strict` Returns all errors. If validation fails, the query structure is not returned.\n * `warn` Returns all errors. If validation fails but the JQL query is correctly formed, the query structure is returned.\n * `none` No validation is performed. If JQL query is correctly formed, the query structure is returned.","schema":{"type":"string","enum":["strict","warn","none"],"default":"strict"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JqlQueriesToParse"},"example":{"queries":["summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER startOfMonth(-1M) ORDER BY updated DESC","invalid query","summary = test","summary in test","project = INVALID","universe = 42"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParsedJqlQueries"},"example":"{\"queries\":[{\"query\":\"summary ~ test AND (labels in (urgent, blocker) OR lastCommentedBy = currentUser()) AND status CHANGED AFTER -5d ORDER BY updated DESC\",\"structure\":{\"where\":{\"clauses\":[{\"field\":{\"name\":\"summary\"},\"operator\":\"~\",\"operand\":{\"value\":\"test\"}},{\"clauses\":[{\"field\":{\"name\":\"labels\"},\"operator\":\"in\",\"operand\":{\"values\":[{\"value\":\"urgent\"},{\"value\":\"blocker\"}]}},{\"field\":{\"name\":\"lastCommentedBy\",\"property\":[{\"entity\":\"issue\",\"key\":\"propertyKey\",\"path\":\"path.in.property\",\"type\":\"user\"}]},\"operator\":\"=\",\"operand\":{\"function\":\"currentUser\",\"arguments\":[]}}],\"operator\":\"or\"},{\"field\":{\"name\":\"status\"},\"operator\":\"changed\",\"predicates\":[{\"operator\":\"after\",\"operand\":{\"function\":\"startOfMonth\",\"arguments\":[\"-1M\"]}}]}],\"operator\":\"and\"},\"orderBy\":{\"fields\":[{\"field\":{\"name\":\"updated\"},\"direction\":\"desc\"}]}}},{\"query\":\"invalid query\",\"errors\":[\"Error in the JQL Query: Expecting operator but got 'query'. The valid operators are '=', '!=', '<', '>', '<=', '>=', '~', '!~', 'IN', 'NOT IN', 'IS' and 'IS NOT'. (line 1, character 9)\"]},{\"query\":\"summary = test\",\"errors\":[\"The operator '=' is not supported by the 'summary' field.\"]},{\"query\":\"summary in test\",\"errors\":[\"Operator 'in' does not support the non-list value '\\\"test\\\"' for field 'summary'.\"]},{\"query\":\"project = INVALID\",\"errors\":[\"The value 'INVALID' does not exist for the field 'project'.\"]},{\"query\":\"universe = 42\",\"errors\":[\"Field 'universe' does not exist or you do not have permission to view it.\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/jql/pdcleaner":{"post":{"tags":["JQL"],"summary":"Convert user identifiers to account IDs in JQL queries","description":"Converts one or more JQL queries with user identifiers (username or user key) to equivalent JQL queries with account IDs.\n\nYou may wish to use this operation if your system stores JQL queries and you want to make them GDPR-compliant. For more information about GDPR-related changes, see the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/).\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"migrateQueries","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JQLPersonalDataMigrationRequest"},"example":{"queryStrings":["assignee = mia","issuetype = Bug AND assignee in (mia) AND reporter in (alana) order by lastViewed DESC"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. Note that the JQL queries are returned in the same order that they were passed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertedJQLQueries"},"example":"{\"queryStrings\":[\"issuetype = Bug AND assignee in (abcde-12345) AND reporter in (abc551-c4e99) order by lastViewed DESC\"],\"queriesWithUnknownUsers\":[{\"originalQuery\":\"assignee = mia\",\"convertedQuery\":\"assignee = unknown\"}]}"}}},"400":{"description":"Returned if at least one of the queries cannot be converted. For example, the JQL has invalid operators or invalid keywords, or the users in the query cannot be found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/label":{"get":{"tags":["Labels"],"summary":"Get all labels","description":"Returns a [paginated](#pagination) list of labels.","operationId":"getAllLabels","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":1000}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanString"},"example":"{\"maxResults\":2,\"startAt\":0,\"total\":100,\"isLast\":false,\"values\":[\"performance\",\"security\"]}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/mypermissions":{"get":{"tags":["Permissions"],"summary":"Get my permissions","description":"Returns a list of permissions indicating which permissions the user has. Details of the user's permissions can be obtained in a global, project, or issue context.\n\nThe user is reported as having a project permission:\n\n * in the global context, if the user has the project permission in any project.\n * for a project, where the project permission is determined using issue data, if the user meets the permission's criteria for any issue in the project. Otherwise, if the user has the project permission in the project.\n * for an issue, where a project permission is determined using issue data, if the user has the permission in the issue. Otherwise, if the user has the project permission in the project containing the issue.\n\nThis means that users may be shown as having an issue permission (such as EDIT\\_ISSUES) in the global context or a project context but may not have the permission for any or all issues. For example, if Reporters have the EDIT\\_ISSUES permission a user would be shown as having this permission in the global context or the context of a project, because any user can be a reporter. However, if they are not the user who reported the issue queried they would not have EDIT\\_ISSUES permission for that issue.\n\nGlobal permissions are unaffected by context.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getMyPermissions","parameters":[{"name":"projectKey","in":"query","description":"The key of project. Ignored if `projectId` is provided.","schema":{"type":"string"}},{"name":"projectId","in":"query","description":"The ID of project.","schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The key of the issue. Ignored if `issueId` is provided.","schema":{"type":"string"}},{"name":"issueId","in":"query","description":"The ID of the issue.","schema":{"type":"string"}},{"name":"permissions","in":"query","description":"A list of permission keys. (Required) This parameter accepts a comma-separated list. To get the list of available permissions, use [Get all permissions](#api-rest-api-3-permissions-get).","schema":{"type":"string","example":"BROWSE_PROJECTS,EDIT_ISSUES"},"x-showInExample":"true","x-changes":[{"type":"required","announced":"2018-08-01","effective":"2019-02-01","details":"https://developer.atlassian.com/cloud/jira/platform/change-notice-get-my-permissions-requires-permissions-query-parameter/"}]},{"name":"projectUuid","in":"query","schema":{"type":"string"}},{"name":"projectConfigurationUuid","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"},"example":"{\"permissions\":{\"EDIT_ISSUES\":{\"id\":\"12\",\"key\":\"EDIT_ISSUES\",\"name\":\"Edit Issues\",\"type\":\"PROJECT\",\"description\":\"Ability to edit issues.\",\"havePermission\":true}}}"}}},"400":{"description":"Returned if `permissions` is empty or the permission key it contains is not found or deprecated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the project or issue is not found or the user does not have permission to view the project or issue.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/mypreferences":{"get":{"tags":["Myself"],"summary":"Get preference","description":"Returns the value of a preference of the current user.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default this is not set and the user takes the locale of the instance.\n * *jira.user.timezone* The time zone of the user. By default this is not set and the user takes the timezone of the instance.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPreference","parameters":[{"name":"key","in":"query","description":"The key of the preference.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key is not provided or not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"},"put":{"tags":["Myself"],"summary":"Set preference","description":"Creates a preference for the user or updates a preference's value by sending a plain text string. For example, `false`. An arbitrary preference can be created with the value containing up to 255 characters. In addition, the following keys define system preferences that can be set or created:\n\n * *user.notifications.mimetype* The mime type used in notifications sent to the user. Defaults to `html`.\n * *user.notify.own.changes* Whether the user gets notified of their own changes. Defaults to `false`.\n * *user.default.share.private* Whether new [ filters](https://confluence.atlassian.com/x/eQiiLQ) are set to private. Defaults to `true`.\n * *user.keyboard.shortcuts.disabled* Whether keyboard shortcuts are disabled. Defaults to `false`.\n * *user.autowatch.disabled* Whether the user automatically watches issues they create or add a comment to. By default, not set: the user takes the instance autowatch setting.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setPreference","parameters":[{"name":"key","in":"query","description":"The key of the preference. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The value of the preference as a plain text string. The maximum length is 255 characters.","content":{"application/json":{"schema":{"type":"string"}},"text/plain":{"schema":{"type":"string"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key or value is not provided or invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"},"delete":{"tags":["Myself"],"summary":"Delete preference","description":"Deletes a preference of the user, which restores the default value of system defined settings.\n\nNote that these keys are deprecated:\n\n * *jira.user.locale* The locale of the user. By default, not set. The user takes the instance locale.\n * *jira.user.timezone* The time zone of the user. By default, not set. The user takes the instance timezone.\n\nUse [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API to manage timezone and locale instead.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"removePreference","parameters":[{"name":"key","in":"query","description":"The key of the preference.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the key is not provided or not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ACT_AS_USER"}},"/rest/api/3/mypreferences/locale":{"get":{"tags":["Myself"],"summary":"Get locale","description":"Returns the locale for the user.\n\nIf the user has no language preference set (which is the default setting) or this resource is accessed anonymous, the browser locale detected by Jira is returned. Jira detects the browser locale using the *Accept-Language* header in the request. However, if this doesn't match a locale available Jira, the site default locale is returned.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getLocale","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locale"},"example":"{\"locale\":\"en_US\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ACT_AS_USER"},"put":{"tags":["Myself"],"summary":"Set locale","description":"Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nSets the locale of the user. The locale must be one supported by the instance of Jira.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"setLocale","parameters":[],"requestBody":{"description":"The locale defined in a LocaleBean.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Locale"},"example":{"locale":"en_US"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Myself"],"summary":"Delete locale","description":"Deprecated, use [ Update a user profile](https://developer.atlassian.com/cloud/admin/user-management/rest/#api-users-account-id-manage-profile-patch) from the user management REST API instead.\n\nDeletes the locale of the user, which restores the default setting.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"deleteLocale","parameters":[],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/myself":{"get":{"tags":["Myself"],"summary":"Get current user","description":"Returns details for the current user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getCurrentUser","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about user in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` Returns all groups, including nested groups, the user belongs to.\n * `applicationRoles` Returns the application roles the user is assigned to.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/notificationscheme":{"get":{"tags":["Issue notification schemes"],"summary":"Get notification schemes paginated","description":"Returns a [paginated](#pagination) list of [notification schemes](https://confluence.atlassian.com/x/8YdKLg) ordered by display name.\n\n### About notification schemes ###\n\nA notification scheme is a list of events and recipients who will receive notifications for those events. The list is contained within the `notificationSchemeEvents` object and contains pairs of `events` and `notifications`:\n\n * `event` Identifies the type of event. The events can be [Jira system events](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or [custom events](https://confluence.atlassian.com/x/AIlKLg).\n * `notifications` Identifies the [recipients](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-recipientsRecipients) of notifications for each event. Recipients can be any of the following types:\n \n * `CurrentAssignee`\n * `Reporter`\n * `CurrentUser`\n * `ProjectLead`\n * `ComponentLead`\n * `User` (the `parameter` is the user key)\n * `Group` (the `parameter` is the group name)\n * `ProjectRole` (the `parameter` is the project role ID)\n * `EmailAddress`\n * `AllWatchers`\n * `UserCustomField` (the `parameter` is the ID of the custom field)\n * `GroupCustomField`(the `parameter` is the ID of the custom field)\n\n*Note that you should allow for events without recipients to appear in responses.*\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must have permission to administer at least one project associated with a notification scheme for it to be returned.","operationId":"getNotificationSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful. Only returns notification schemes that the user has permission to access. An empty list is returned if the user lacks permission to access all notification schemes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanNotificationScheme"},"example":"{\"maxResults\":6,\"startAt\":1,\"total\":5,\"isLast\":false,\"values\":[{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/3/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/notificationscheme/{id}":{"get":{"tags":["Issue notification schemes"],"summary":"Get notification scheme","description":"Returns a [notification scheme](https://confluence.atlassian.com/x/8YdKLg), including the list of events and the recipients who will receive notifications for those events.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however the user must have permission to administer at least one project associated with the notification scheme.","operationId":"getNotificationScheme","parameters":[{"name":"id","in":"path","description":"The ID of the notification scheme. Use [Get notification schemes paginated](#api-rest-api-3-notificationscheme-get) to get a list of notification scheme IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationScheme"},"example":"{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/3/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the notification scheme is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissions":{"get":{"tags":["Permissions"],"summary":"Get all permissions","description":"Returns all permissions, including:\n\n * global permissions.\n * project permissions.\n * global permissions added by plugins.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllPermissions","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"},"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.\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissions/check":{"post":{"tags":["Permissions"],"summary":"Get bulk permissions","description":"Returns:\n\n * for a list of global permissions, the global permissions granted to a user.\n * for a list of project permissions and lists of projects and issues, for each project permission a list of the projects and issues a user can access or manipulate.\n\nIf no account ID is provided, the operation returns details for the logged in user.\n\nNote that:\n\n * Invalid project and issue IDs are ignored.\n * A maximum of 1000 projects and 1000 issues can be checked.\n * Null values in `globalPermissions`, `projectPermissions`, `projectPermissions.projects`, and `projectPermissions.issues` are ignored.\n * Empty strings in `projectPermissions.permissions` are ignored.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) to check the permissions for other users, otherwise none. However, Connect apps can make a call from the app server to the product to obtain permission details for any user, without admin permission. This Connect app ability doesn't apply to calls made using AP.request() in a browser.","operationId":"getBulkPermissions","parameters":[],"requestBody":{"description":"Details of the permissions to check.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPermissionsRequestBean"},"example":{"globalPermissions":["ADMINISTER"],"accountId":"5b10a2844c20165700ede21g","projectPermissions":[{"projects":[10001],"permissions":["EDIT_ISSUES"],"issues":[10010,10011,10012,10013,10014]}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPermissionGrants"},"example":"{\"projectPermissions\":[{\"permission\":\"EDIT_ISSUES\",\"issues\":[10010,10013,10014],\"projects\":[10001]}],\"globalPermissions\":[\"ADMINISTER\"]}"}}},"400":{"description":"Returned if:\n\n * `projectPermissions` is provided without at least one project permission being provided.\n * an invalid global permission is provided in the global permissions list.\n * an invalid project permission is provided in the project permissions list.\n * more than 1000 valid project IDs or more than 1000 valid issue IDs are provided.\n * an invalid account ID is provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[],\"errors\":{\"PERMISSION_123\":\"Unrecognized permission\"}}"}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can perform this operation.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/permissions/project":{"post":{"tags":["Permissions"],"summary":"Get permitted projects","description":"Returns all the projects where the user is granted a list of project permissions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getPermittedProjects","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionsKeysBean"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermittedProjects"}}}},"400":{"description":"Returned if a project permission is not found.","content":{"application/json":{}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/permissionscheme":{"get":{"tags":["Permission schemes"],"summary":"Get all permission schemes","description":"Returns all permission schemes.\n\n### About permission schemes and grants ###\n\nA permission scheme is a collection of permission grants. A permission grant consists of a `holder` and a `permission`.\n\n#### Holder object ####\n\nThe `holder` object contains information about the user or group being granted the permission. For example, the *Administer projects* permission is granted to a group named *Teams in space administrators*. In this case, the type is `\"type\": \"group\"`, and the parameter is the group name, `\"parameter\": \"Teams in space administrators\"`. The `holder` object is defined by the following properties:\n\n * `type` Identifies the user or group (see the list of types below).\n * `parameter` The value of this property depends on the `type`. For example, if the `type` is a group, then you need to specify the group name.\n\nThe following `types` are available. The expected values for the `parameter` are given in parenthesis (some `types` may not have a `parameter`):\n\n * `anyone` Grant for anonymous users.\n * `applicationRole` Grant for users with access to the specified application (application name). See [Update product access settings](https://confluence.atlassian.com/x/3YxjL) for more information.\n * `assignee` Grant for the user currently assigned to an issue.\n * `group` Grant for the specified group (group name).\n * `groupCustomField` Grant for a user in the group selected in the specified custom field (custom field ID).\n * `projectLead` Grant for a project lead.\n * `projectRole` Grant for the specified project role (project role ID).\n * `reporter` Grant for the user who reported the issue.\n * `sd.customer.portal.only` Jira Service Desk only. Grants customers permission to access the customer portal but not Jira. See [Customizing Jira Service Desk permissions](https://confluence.atlassian.com/x/24dKLg) for more information.\n * `user` Grant for the specified user (user ID - historically this was the userkey but that is deprecated and the account ID should be used).\n * `userCustomField` Grant for a user selected in the specified custom field (custom field ID).\n\n#### Built-in permissions ####\n\nThe [built-in Jira permissions](https://confluence.atlassian.com/x/yodKLg) are listed below. Apps can also define custom permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information.\n\n**Project permissions**\n\n * `ADMINISTER_PROJECTS`\n * `BROWSE_PROJECTS`\n * `MANAGE_SPRINTS_PERMISSION` (Jira Software only)\n * `SERVICEDESK_AGENT` (Jira Service Desk only)\n * `VIEW_DEV_TOOLS` (Jira Software only)\n * `VIEW_READONLY_WORKFLOW`\n\n**Issue permissions**\n\n * `ASSIGNABLE_USER`\n * `ASSIGN_ISSUES`\n * `CLOSE_ISSUES`\n * `CREATE_ISSUES`\n * `DELETE_ISSUES`\n * `EDIT_ISSUES`\n * `LINK_ISSUES`\n * `MODIFY_REPORTER`\n * `MOVE_ISSUES`\n * `RESOLVE_ISSUES`\n * `SCHEDULE_ISSUES`\n * `SET_ISSUE_SECURITY`\n * `TRANSITION_ISSUES`\n\n**Voters and watchers permissions**\n\n * `MANAGE_WATCHERS`\n * `VIEW_VOTERS_AND_WATCHERS`\n\n**Comments permissions**\n\n * `ADD_COMMENTS`\n * `DELETE_ALL_COMMENTS`\n * `DELETE_OWN_COMMENTS`\n * `EDIT_ALL_COMMENTS`\n * `EDIT_OWN_COMMENTS`\n\n**Attachments permissions**\n\n * `CREATE_ATTACHMENTS`\n * `DELETE_ALL_ATTACHMENTS`\n * `DELETE_OWN_ATTACHMENTS`\n\n**Time tracking permissions**\n\n * `DELETE_ALL_WORKLOGS`\n * `DELETE_OWN_WORKLOGS`\n * `EDIT_ALL_WORKLOGS`\n * `EDIT_OWN_WORKLOGS`\n * `WORK_ON_ISSUES`\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAllPermissionSchemes","parameters":[{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionSchemes"},"example":"{\"permissionSchemes\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Permission schemes"],"summary":"Create permission scheme","description":"Creates a new permission scheme. You can create a permission scheme with or without defining a set of permission grants.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createPermissionScheme","parameters":[{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"description":"The permission scheme to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":{"permissions":[{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}],"name":"Example permission scheme","description":"description"}}},"required":true},"responses":{"201":{"description":"Returned if the permission scheme is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or the feature is not available in the Jira plan."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissionscheme/{schemeId}":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme","description":"Returns a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to return.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission scheme is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Permission schemes"],"summary":"Update permission scheme","description":"Updates a permission scheme. Below are some important things to note when using this resource:\n\n * If a permissions list is present in the request, then it is set in the permission scheme, overwriting *all existing* grants.\n * If you want to update only the name and description, then do not send a permissions list in the request.\n * Sending an empty list will remove all permission grants from the permission scheme.\n\nIf you want to add or delete a permission grant instead of updating the whole list, see [Create permission grant](#api-rest-api-3-permissionscheme-schemeId-permission-post) or [Delete permission scheme entity](#api-rest-api-3-permissionscheme-schemeId-permission-permissionId-delete).\n\nSee [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updatePermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to update.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":{"permissions":[{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}],"name":"Example permission scheme","description":"description"}}},"required":true},"responses":{"200":{"description":"Returned if the scheme is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\",\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to update permission schemes.\n * the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be updated on free plans."},"404":{"description":"Returned if the permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Permission schemes"],"summary":"Delete permission scheme","description":"Deletes a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deletePermissionScheme","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme being deleted.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the permission scheme is deleted."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissionscheme/{schemeId}/permission":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme grants","description":"Returns all permission grants for a permission scheme.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionSchemeGrants","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrants"},"example":"{\"permissions\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}],\"expand\":\"user,group,projectRole,field,all\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission schemes is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Permission schemes"],"summary":"Create permission grant","description":"Creates a permission grant in a permission scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createPermissionGrant","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme in which to create a new permission grant.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `permissions` Returns all permission grants for each permission scheme.\n * `user` Returns information about the user who is granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `projectRole` Returns information about the project role granted the permission.\n * `field` Returns information about the custom field granted the permission.\n * `all` Returns all expandable information.","schema":{"type":"string"}}],"requestBody":{"description":"The permission grant to create.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":{"holder":{"parameter":"jira-core-users","type":"group"},"permission":"ADMINISTER_PROJECTS"}}},"required":true},"responses":{"201":{"description":"Returned if the scheme permission is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}"}}},"400":{"description":"Returned if the value for expand is invalid or the same permission grant is present."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/permissionscheme/{schemeId}/permission/{permissionId}":{"get":{"tags":["Permission schemes"],"summary":"Get permission scheme grant","description":"Returns a permission grant.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPermissionSchemeGrant","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the permission grant.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"expand","in":"query","description":"Use expand to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are always included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionGrant"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/permission/10000\",\"holder\":{\"type\":\"group\",\"parameter\":\"jira-core-users\",\"expand\":\"group\"},\"permission\":\"ADMINISTER_PROJECTS\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the permission scheme or permission grant is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Permission schemes"],"summary":"Delete permission scheme grant","description":"Deletes a permission grant from a permission scheme. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more details.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deletePermissionSchemeEntity","parameters":[{"name":"schemeId","in":"path","description":"The ID of the permission scheme to delete the permission grant from.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"permissionId","in":"path","description":"The ID of the permission grant to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the permission grant is deleted."},"400":{"description":"Returned if permission grant with the provided ID is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/priority":{"get":{"tags":["Issue priorities"],"summary":"Get priorities","description":"Returns the list of all issue priorities.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPriorities","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Priority"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/5\",\"statusColor\":\"#cfcfcf\",\"description\":\"Very little impact.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/trivial.png\",\"name\":\"Trivial\",\"id\":\"2\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/priority/{id}":{"get":{"tags":["Issue priorities"],"summary":"Get priority","description":"Returns an issue priority.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getPriority","parameters":[{"name":"id","in":"path","description":"The ID of the issue priority.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Priority"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/priority/3\",\"statusColor\":\"#009900\",\"description\":\"Major loss of function.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/priorities/major.png\",\"name\":\"Major\",\"id\":\"1\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue priority is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project":{"get":{"tags":["Projects"],"summary":"Get all projects","description":"Returns all projects visible to the user. Deprecated, use [ Get projects paginated](#api-rest-api-3-project-search-get) that supports search and pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has *Browse Projects* or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllProjects","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `issueTypes` Returns all issue types associated with the project.\n * `lead` Returns information about the project lead.\n * `projectKeys` Returns all project keys associated with the project.","schema":{"type":"string"}},{"name":"recent","in":"query","description":"Returns the user's most recently accessed projects. You may specify the number of results to return up to a maximum of 20. If access is anonymous, then the recently accessed projects are based on the current HTTP session.","schema":{"type":"integer","format":"int32"}},{"name":"properties","in":"query","description":"A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-changes":[{"type":"removed","announced":"2018-10-19","effective":"2019-04-19","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-removal-of-get-filters-and-get-all-projects/"}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Projects"],"summary":"Create project","description":"Creates a project based on a project type template, as shown in the following table:\n\n| Project Type Key | Project Template Key | \n|--|--| \n| `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` | \n| `service_desk` | `com.atlassian.servicedesk:simplified-it-service-desk`, `com.atlassian.servicedesk:simplified-internal-service-desk`, `com.atlassian.servicedesk:simplified-external-service-desk` | \n| `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` | \nThe project types are available according to the installed Jira features as follows:\n\n * Jira Core, the default, enables `business` projects.\n * Jira Service Management enables `service_desk` projects.\n * Jira Software enables `software` projects.\n\nTo determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list. To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**. For more information, see [ Managing add-ons](https://confluence.atlassian.com/x/S31NLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProject","parameters":[],"requestBody":{"description":"The JSON representation of the project being created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProjectDetails"},"example":{"notificationScheme":10021,"description":"Cloud migration initiative","leadAccountId":"5b10a0effa615349cb016cd8","url":"http://atlassian.com","avatarId":10200,"issueSecurityScheme":10001,"projectTemplateKey":"com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","name":"Example","permissionScheme":10011,"assigneeType":"PROJECT_LEAD","projectTypeKey":"business","key":"EX","categoryId":10120}}},"required":true},"responses":{"201":{"description":"Returned if the project is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIdentifiers"},"example":"{\"self\":\"https://your-domain.atlassian.net/jira/rest/api/3/project/10042\",\"id\":10010,\"key\":\"EX\"}"}}},"400":{"description":"Returned if the request is not valid and the project could not be created."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to create projects."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/recent":{"get":{"tags":["Projects"],"summary":"Get recent projects","description":"Returns a list of up to 20 projects recently viewed by the user that are still visible to the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has one of:\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getRecent","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `projectKeys` Returns all project keys associated with a project.\n * `lead` Returns information about the project lead.\n * `issueTypes` Returns all issue types associated with the project.\n * `url` Returns the URL associated with the project.\n * `permissions` Returns the permissions associated with the project.\n * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.\n * `*` Returns the project with all available expand options.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list. Invalid property names are ignored.","schema":{"type":"array","items":{"$ref":"#/components/schemas/StringList"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}]"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/search":{"get":{"tags":["Projects"],"summary":"Get projects paginated","description":"Returns a [paginated](#pagination) list of projects visible to the user.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Projects are returned only where the user has one of:\n\n * *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"searchProjects","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field.\n\n * `category` Sorts by project category. A complete list of category IDs is found using [Get all project categories](#api-rest-api-3-projectCategory-get).\n * `issueCount` Sorts by the total number of issues in each project.\n * `key` Sorts by project key.\n * `lastIssueUpdatedTime` Sorts by the last issue update time.\n * `name` Sorts by project name.\n * `owner` Sorts by project lead.\n * `archivedDate` EXPERIMENTAL. Sorts by project archived date.\n * `deletedDate` EXPERIMENTAL. Sorts by project deleted date.","schema":{"type":"string","enum":["category","-category","+category","key","-key","+key","name","-name","+name","owner","-owner","+owner","issueCount","-issueCount","+issueCount","lastIssueUpdatedDate","-lastIssueUpdatedDate","+lastIssueUpdatedDate","archivedDate","+archivedDate","-archivedDate","deletedDate","+deletedDate","-deletedDate"],"default":"key"}},{"name":"id","in":"query","description":"The project IDs to filter the results by. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`. Up to 50 project IDs can be provided.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}},{"name":"keys","in":"query","description":"The project keys to filter the results by. To include multiple keys, provide an ampersand-separated list. For example, `keys=PA&keys=PB`. Up to 50 project keys can be provided.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"query","in":"query","description":"Filter the results using a literal string. Projects with a matching `key` or `name` are returned (case insensitive).","schema":{"type":"string"}},{"name":"typeKey","in":"query","description":"Orders results by the [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes). This parameter accepts a comma-separated list. Valid values are `business`, `service_desk`, and `software`.","schema":{"type":"string"}},{"name":"categoryId","in":"query","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.","schema":{"type":"integer","format":"int64"}},{"name":"action","in":"query","description":"Filter results by projects for which the user can:\n\n * `view` the project, meaning that they have one of the following permissions:\n \n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * `browse` the project, meaning that they have the *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * `edit` the project, meaning that they have one of the following permissions:\n \n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","schema":{"type":"string","enum":["view","browse","edit"],"default":"view"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expanded options include:\n\n * `description` Returns the project description.\n * `projectKeys` Returns all project keys associated with a project.\n * `lead` Returns information about the project lead.\n * `issueTypes` Returns all issue types associated with the project.\n * `url` Returns the URL associated with the project.\n * `insight` EXPERIMENTAL. Returns the insight details of total issue count and last issue update time for the project.","schema":{"type":"string"}},{"name":"status","in":"query","description":"EXPERIMENTAL. Filter results by project status:\n\n * `live` Search live projects.\n * `archived` Search archived projects.\n * `deleted` Search deleted projects, those in the recycle bin.","schema":{"type":"array","items":{"type":"string","enum":["live","archived","deleted"],"default":"live"}}},{"name":"properties","in":"query","description":"EXPERIMENTAL. A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"$ref":"#/components/schemas/StringList"}}},{"name":"propertyQuery","in":"query","description":"EXPERIMENTAL. A query string used to search properties. The query string cannot be specified using a JSON object. For example, to search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `[thepropertykey].something.nested=1`. Note that the propertyQuery key is enclosed in square brackets to enable searching where the propertyQuery key includes dot (.) or equals (=) characters. Note that `thepropertykey` is only returned when included in `properties`.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanProject"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/search?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/project/search?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/ABC\",\"id\":\"10001\",\"key\":\"ABC\",\"name\":\"Alphabetical\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10001\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10001\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10001\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10001\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if no projects matching the search criteria are found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/type":{"get":{"tags":["Project types"],"summary":"Get all project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw), whether or not the instance has a valid license for each type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getAllProjectTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectType"}},"example":"[{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"},{\"key\":\"software\",\"formattedKey\":\"Software\",\"descriptionI18nKey\":\"jira.project.type.software.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#AAAAAA\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/type/accessible":{"get":{"tags":["Project types"],"summary":"Get licensed project types","description":"Returns all [project types](https://confluence.atlassian.com/x/Var1Nw) with a valid license.","operationId":"getAllAccessibleProjectTypes","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectType"}},"example":"[{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"},{\"key\":\"software\",\"formattedKey\":\"Software\",\"descriptionI18nKey\":\"jira.project.type.software.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#AAAAAA\"}]"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/type/{projectTypeKey}":{"get":{"tags":["Project types"],"summary":"Get project type by key","description":"Returns a [project type](https://confluence.atlassian.com/x/Var1Nw).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getProjectTypeByKey","parameters":[{"name":"projectTypeKey","in":"path","description":"The key of the project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectType"},"example":"{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the project type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/type/{projectTypeKey}/accessible":{"get":{"tags":["Project types"],"summary":"Get accessible project type by key","description":"Returns a [project type](https://confluence.atlassian.com/x/Var1Nw) if it is accessible to the user.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAccessibleProjectTypeByKey","parameters":[{"name":"projectTypeKey","in":"path","description":"The key of the project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectType"},"example":"{\"key\":\"business\",\"formattedKey\":\"Business\",\"descriptionI18nKey\":\"jira.project.type.business.description\",\"icon\":\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOC4xLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZmlsbD0iIzY2NjY2NiIgZD0iTTE2LDBDNy4yLDAsMCw3LjIsMCwxNmMwLDguOCw3LjIsMTYsMTYsMTZjOC44LDAsMTYtNy4yLDE2LTE2QzMyLDcuMiwyNC44LDAsMTYsMHogTTI1LjcsMjMNCgkJYzAsMS44LTEuNCwzLjItMy4yLDMuMkg5LjJDNy41LDI2LjIsNiwyNC44LDYsMjNWOS44QzYsOCw3LjUsNi42LDkuMiw2LjZoMTMuMmMwLjIsMCwwLjQsMCwwLjcsMC4xbC0yLjgsMi44SDkuMg0KCQlDOSw5LjQsOC44LDkuNiw4LjgsOS44VjIzYzAsMC4yLDAuMiwwLjQsMC40LDAuNGgxMy4yYzAuMiwwLDAuNC0wLjIsMC40LTAuNHYtNS4zbDIuOC0yLjhWMjN6IE0xNS45LDIxLjNMMTEsMTYuNGwyLTJsMi45LDIuOQ0KCQlMMjYuNCw2LjhjMC42LDAuNywxLjIsMS41LDEuNywyLjNMMTUuOSwyMS4zeiIvPg0KPC9nPg0KPC9zdmc+\",\"color\":\"#FFFFFF\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project type is not accessible to the user."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}":{"get":{"tags":["Projects"],"summary":"Get project","description":"Returns the [project details](https://confluence.atlassian.com/x/ahLpNw) for a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.\n * `issueTypeHierarchy` The project issue type hierarchy.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of project properties to return for the project. This parameter accepts a comma-separated list.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Projects"],"summary":"Update project","description":"Updates the [project details](https://confluence.atlassian.com/x/ahLpNw) of a project.\n\nAll parameters are optional in the body of the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that the project description, issue types, and project lead are included in all responses by default. Expand options include:\n\n * `description` The project description.\n * `issueTypes` The issue types associated with the project.\n * `lead` The project lead.\n * `projectKeys` All project keys associated with the project.","schema":{"type":"string"}}],"requestBody":{"description":"The project details to be updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProjectDetails"},"example":{"avatarId":10200,"issueSecurityScheme":10001,"notificationScheme":10021,"name":"Example","description":"Cloud migration initiative","permissionScheme":10011,"assigneeType":"PROJECT_LEAD","leadAccountId":"5b10a0effa615349cb016cd8","key":"EX","url":"http://atlassian.com","categoryId":10120}}},"required":true},"responses":{"200":{"description":"Returned if the project is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to update project details.\n * the permission scheme is being changed and the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be changed on free plans."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Projects"],"summary":"Delete project","description":"Deletes a project.\n\nYou can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"enableUndo","in":"query","description":"Whether this project is placed in the Jira recycle bin where it will be available for restoration.","schema":{"type":"boolean","default":false}}],"responses":{"204":{"description":"Returned if the project is deleted."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to delete it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/archive":{"post":{"tags":["Projects"],"summary":"Archive project","description":"Archives a project. You can't delete a project if it's archived. To delete an archived project, restore the project and then delete it. To restore a project, use the Jira UI.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"archiveProject","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permissions."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/avatar":{"put":{"tags":["Project avatars"],"summary":"Set project avatar","description":"Sets the avatar displayed for a project.\n\nUse [Load project avatar](#api-rest-api-3-project-projectIdOrKey-avatar2-post) to store avatars against the project, before using this operation to set the displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"updateProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":{"id":"10010"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project or avatar is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/avatar/{id}":{"delete":{"tags":["Project avatars"],"summary":"Delete project avatar","description":"Deletes a custom avatar from a project. Note that system avatars cannot be deleted.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"deleteProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or (case-sensitive) key.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the avatar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the avatar is a system avatar or the user does not have permission to administer the project."},"404":{"description":"Returned if the project or avatar is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/avatar2":{"post":{"tags":["Project avatars"],"summary":"Load project avatar","description":"Loads an avatar for a project.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/3/project/{projectIdOrKey}/avatar2'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use [Set project avatar](#api-rest-api-3-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"createProjectAvatar","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to administer the project or an anonymous call is made to the operation."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/avatars":{"get":{"tags":["Project avatars"],"summary":"Get all project avatars","description":"Returns all project avatars, grouped by system and custom avatars.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllProjectAvatars","parameters":[{"name":"projectIdOrKey","in":"path","description":"The ID or (case-sensitive) key of the project.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectAvatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"}}],\"custom\":[{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/component":{"get":{"tags":["Project components"],"summary":"Get project components paginated","description":"Returns a [paginated](#pagination) list of all components in a project. See the [Get project components](#api-rest-api-3-project-projectIdOrKey-components-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectComponentsPaginated","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by the component description.\n * `issueCount` Sorts by the count of issues associated with the component.\n * `lead` Sorts by the user key of the component's project lead.\n * `name` Sorts by component name.","schema":{"type":"string","enum":["description","-description","+description","issueCount","-issueCount","+issueCount","lead","-lead","+lead","name","-name","+name"]}},{"name":"query","in":"query","description":"Filter the results using a literal string. Components with a matching `name` or `description` are returned (case insensitive).","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanComponentWithIssueCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/PR/component?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/project/PR/component?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"componentBean\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000},\"issueCount\":1,\"isAssigneeTypeValid\":false,\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"description\":\"This is a Jira component\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"projectId\":10000,\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"project\":\"HSP\",\"assigneeType\":\"PROJECT_LEAD\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"name\":\"Component 1\",\"id\":\"10000\"},{\"componentBean\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10050\",\"name\":\"PXA\",\"description\":\"This is a another Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"PROJECTKEY\",\"projectId\":10000},\"issueCount\":5,\"isAssigneeTypeValid\":false,\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"description\":\"This is a another Jira component\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"projectId\":10000,\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"project\":\"PROJECTKEY\",\"assigneeType\":\"PROJECT_LEAD\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"name\":\"PXA\",\"id\":\"10050\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/components":{"get":{"tags":["Project components"],"summary":"Get project components","description":"Returns all components in a project. See the [Get project components paginated](#api-rest-api-3-project-projectIdOrKey-component-get) resource if you want to get a full list of components with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectComponents","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectComponent"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10050\",\"name\":\"PXA\",\"description\":\"This is a another Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"PROJECTKEY\",\"projectId\":10000}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/delete":{"post":{"tags":["Projects"],"summary":"Delete project asynchronously","description":"Deletes a project asynchronously.\n\nThis operation is:\n\n * transactional, that is, if part of the delete fails the project is not deleted.\n * [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain subsequent updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectAsynchronously","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"303":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"}}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/properties":{"get":{"tags":["Project properties"],"summary":"Get project property keys","description":"Returns all [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) keys for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectPropertyKeys","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to view the project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/properties/{propertyKey}":{"get":{"tags":["Project properties"],"summary":"Get project property","description":"Returns the value of a [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.","operationId":"getProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to get a list of all project property keys.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to view the project."},"404":{"description":"Returned if the project or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project properties"],"summary":"Set project property","description":"Sets the value of the [project property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties). You can use project properties to store custom data against the project.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project in which the property is created.","operationId":"setProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the project property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{},"example":{"number":5,"string":"string-value"}}},"required":true},"responses":{"200":{"description":"Returned if the project property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the project property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the project key or id is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["Project properties"],"summary":"Delete project property","description":"Deletes the [property](https://developer.atlassian.com/cloud/jira/platform/storing-data-without-a-database/#a-id-jira-entity-properties-a-jira-entity-properties) from a project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the property.","operationId":"deleteProjectProperty","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The project property key. Use [Get project property keys](#api-rest-api-3-project-projectIdOrKey-properties-get) to get a list of all project property keys.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the project property is deleted."},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"403":{"description":"Returned if the user does not have permission to administer the project."},"404":{"description":"Returned if the project or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/project/{projectIdOrKey}/restore":{"post":{"tags":["Projects"],"summary":"Restore deleted project","description":"Restores a project from the Jira recycle bin.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"restore","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/role":{"get":{"tags":["Project roles"],"summary":"Get project roles for project","description":"Returns a list of [project roles](https://confluence.atlassian.com/x/3odKLg) for the project returning the name and self URL for each role.\n\nNote that all project roles are shared with all projects in Jira Cloud. See [Get all project roles](#api-rest-api-3-role-get) for more information.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for any project on the site or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoles","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string","format":"uri"}},"example":"{\"Administrators\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10002\",\"Users\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10001\",\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10000\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the user lacks administrative permissions for the project."},"404":{"description":"Returned if the project is not found or or if the user does not have administrative permissions for the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/role/{id}":{"get":{"tags":["Project roles"],"summary":"Get project role for project","description":"Returns a project role's details and actors associated with the project. The list of actors is sorted by display name.\n\nTo check whether a user belongs to a role based on their group memberships, use [Get user](#api-rest-api-3-user-get) with the `groups` expand parameter selected. Then check whether the user keys and groups match with the actors returned for the project.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRole","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project or project role is not found.\n * the user does not have administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project role actors"],"summary":"Set actors for project role","description":"Sets the actors for a project role for a project, replacing all existing actors.\n\nTo add actors to the project without overwriting the existing list, use [Add actors to project role](#api-rest-api-3-project-projectIdOrKey-role-id-post).\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setActors","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The groups or users to associate with the project role for this project. Provide the user account ID or group name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRoleActorsUpdateBean"},"example":{"categorisedActors":{"atlassian-user-role-actor":["12345678-9abc-def1-2345-6789abcdef12"],"atlassian-group-role-actor":["jira-developers"]}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. The complete list of actors for the project is returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project."},"404":{"description":"Returned if:\n\n * the project is not found.\n * a user or group is not found.\n * a group or user is not active."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"post":{"tags":["Project role actors"],"summary":"Add actors to project role","description":"Adds actors to a project role for the project.\n\nTo replace all actors for the project, use [Set actors for project role](#api-rest-api-3-project-projectIdOrKey-role-id-put).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addActorUsers","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The groups or users to associate with the project role for this project. Provide the user account ID or group name.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorsMap"},"example":{"group":["jira-developers"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful. The complete list of actors for the project is returned.\n\nFor example, the cURL request above adds a group, *jira-developers*. For the response below to be returned as a result of that request, the user *Mia Krystof* would have previously been added as a `user` actor for this project.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing or if the calling user lacks administrative permissions for the project."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user or group is not found.\n * the group or user is not active."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project role actors"],"summary":"Delete actors from project role","description":"Deletes actors from a project role for the project.\n\nTo remove default actors from the project role, use [Delete default actors from project role](#api-rest-api-3-role-id-actors-delete).\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project or *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteActor","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user","in":"query","description":"The user account ID of the user to remove from the project role.","schema":{"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"group","in":"query","description":"The name of the group to remove from the project role.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid."},"404":{"description":"Returned if:\n\n * the project or project role is not found.\n * the calling user does not have administrative permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/roledetails":{"get":{"tags":["Project roles"],"summary":"Get project role details","description":"Returns all [project roles](https://confluence.atlassian.com/x/3odKLg) and the details for each role. Note that the list of project roles is common to all projects.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectRoleDetails","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"currentMember","in":"query","description":"Whether the roles should be filtered to include only those the user is assigned to.","schema":{"type":"boolean","default":false}},{"name":"excludeConnectAddons","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRoleDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360\",\"name\":\"Developers\",\"id\":10360,\"description\":\"A project role that represents developers in a project\",\"admin\":false,\"default\":true,\"roleConfigurable\":true,\"translatedName\":\"Developers\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or if the user does not have the necessary permissions for the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/statuses":{"get":{"tags":["Projects"],"summary":"Get all statuses for project","description":"Returns the valid statuses for a project. The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getAllStatuses","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueTypeWithStatus"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"name\":\"Task\",\"subtask\":false,\"statuses\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\"}]}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/type/{newProjectTypeKey}":{"put":{"tags":["Projects"],"summary":"Update project type","description":"Deprecated, this feature is no longer supported and no alternatives are available, see [Convert project to a different template or type](https://confluence.atlassian.com/x/yEKeOQ). Updates a [project type](https://confluence.atlassian.com/x/GwiiLQ). The project type can be updated for classic projects only, project type cannot be updated for next-gen projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProjectType","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"newProjectTypeKey","in":"path","description":"The key of the new project type.","required":true,"schema":{"type":"string","enum":["software","service_desk","business"]}}],"responses":{"200":{"description":"Returned if the project type is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"description\":\"This project was created as an example for REST.\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"components\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/component/10000\",\"id\":\"10000\",\"name\":\"Component 1\",\"description\":\"This is a Jira component\",\"lead\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"assigneeType\":\"PROJECT_LEAD\",\"assignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"realAssigneeType\":\"PROJECT_LEAD\",\"realAssignee\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"isAssigneeTypeValid\":false,\"project\":\"HSP\",\"projectId\":10000}],\"issueTypes\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/3\",\"id\":\"3\",\"description\":\"A task that needs to be done.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10299&avatarType=issuetype\\\",\",\"name\":\"Task\",\"subtask\":false,\"avatarId\":1,\"hierarchyLevel\":0},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issueType/1\",\"id\":\"1\",\"description\":\"A problem with the software.\",\"iconUrl\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10316&avatarType=issuetype\\\",\",\"name\":\"Bug\",\"subtask\":false,\"avatarId\":10002,\"entityId\":\"9d7dd6f7-e8b6-4247-954b-7b2c9b2a5ba2\",\"hierarchyLevel\":0,\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}],\"url\":\"https://www.example.com\",\"email\":\"from-jira@example.com\",\"assigneeType\":\"PROJECT_LEAD\",\"versions\":[],\"name\":\"Example\",\"roles\":{\"Developers\":\"https://your-domain.atlassian.net/rest/api/3/project/EX/role/10000\"},\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"properties\":{\"propertyKey\":\"propertyValue\"},\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-changes":[{"type":"removed","announced":"2019-06-03","effective":"2019-12-03","details":"https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-change-project-type-via-api//"}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectIdOrKey}/version":{"get":{"tags":["Project versions"],"summary":"Get project versions paginated","description":"Returns a [paginated](#pagination) list of all versions in a project. See the [Get project versions](#api-rest-api-3-project-projectIdOrKey-versions-get) resource if you want to get a full list of versions without pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectVersionsPaginated","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"orderBy","in":"query","description":"[Order](#ordering) the results by a field:\n\n * `description` Sorts by version description.\n * `name` Sorts by version name.\n * `releaseDate` Sorts by release date, starting with the oldest date. Versions with no release date are listed last.\n * `sequence` Sorts by the order of appearance in the user interface.\n * `startDate` Sorts by start date, starting with the oldest date. Versions with no start date are listed last.","schema":{"type":"string","enum":["description","-description","+description","name","-name","+name","releaseDate","-releaseDate","+releaseDate","sequence","-sequence","+sequence","startDate","-startDate","+startDate"]}},{"name":"query","in":"query","description":"Filter the results using a literal string. Versions with matching `name` or `description` are returned (case insensitive).","schema":{"type":"string"}},{"name":"status","in":"query","description":"A list of status values used to filter the results by version status. This parameter accepts a comma-separated list. The status values are `released`, `unreleased`, and `archived`.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `issuesstatus` Returns the number of issues in each status category for each version.\n * `operations` Returns actions that can be performed on the specified version.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanVersion"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/PR/version?startAt=0&maxResults=2\",\"nextPage\":\"https://your-domain.atlassian.net/rest/api/3/project/PR/version?startAt=2&maxResults=2\",\"maxResults\":2,\"startAt\":0,\"total\":7,\"isLast\":false,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\":\"https://your-domain.atlassian.net/rest/api/3/version/10010\",\"id\":\"10010\",\"description\":\"Minor Bugfix version\",\"name\":\"Next Version\",\"archived\":false,\"released\":false,\"overdue\":false,\"projectId\":10000,\"issuesStatusForFixVersion\":{\"unmapped\":0,\"toDo\":10,\"inProgress\":20,\"done\":100}}]}"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectIdOrKey}/versions":{"get":{"tags":["Project versions"],"summary":"Get project versions","description":"Returns all versions in a project. The response is not paginated. Use [Get project versions paginated](#api-rest-api-3-project-projectIdOrKey-version-get) if you want to get the versions in a project with pagination.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectVersions","parameters":[{"name":"projectIdOrKey","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `operations`, which returns actions that can be performed on the version.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Version"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\":\"https://your-domain.atlassian.net/rest/api/3/version/10010\",\"id\":\"10010\",\"description\":\"Minor Bugfix version\",\"name\":\"Next Version\",\"archived\":false,\"released\":false,\"overdue\":false,\"projectId\":10000,\"issuesStatusForFixVersion\":{\"unmapped\":0,\"toDo\":10,\"inProgress\":20,\"done\":100}}]"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectId}/email":{"get":{"tags":["Project email"],"summary":"Get project's sender email","description":"Returns the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getProjectEmail","parameters":[{"name":"projectId","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEmailAddress"},"example":"{\"emailAddress\":\"jira@example.atlassian.net\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to read project."},"404":{"description":"Returned if the project or project's sender email address is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project email"],"summary":"Set project's sender email","description":"Sets the [project's sender email address](https://confluence.atlassian.com/x/dolKLg).\n\nIf `emailAddress` is an empty string, the default email address is restored.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"updateProjectEmail","parameters":[{"name":"projectId","in":"path","description":"The project ID.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The project's sender email address to be set.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectEmailAddress"},"example":{"emailAddress":"jira@example.atlassian.net"}}},"required":true},"responses":{"204":{"description":"Returned if the project's sender email address is successfully set.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid, if the email address is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to read project."},"404":{"description":"Returned if the project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectId}/hierarchy":{"get":{"tags":["Projects"],"summary":"Get project issue type hierarchy","description":"Get the issue type hierarchy for a next-gen project.\n\nThe issue type hierarchy for a project consists of:\n\n * *Epic* at level 1 (optional).\n * One or more issue types at level 0 such as *Story*, *Task*, or *Bug*. Where the issue type *Epic* is defined, these issue types are used to break down the content of an epic.\n * *Subtask* at level -1 (optional). This issue type enables level 0 issue types to be broken down into components. Issues based on a level -1 issue type must have a parent issue.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project.","operationId":"getHierarchy","parameters":[{"name":"projectId","in":"path","description":"The ID of the project.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueTypeHierarchy"},"example":"{\"projectId\":10030,\"hierarchy\":[{\"entityId\":\"045024a1-3d4b-437a-a52c-8271083c092c\",\"level\":0,\"name\":\"Base\",\"issueTypes\":[{\"id\":10008,\"entityId\":\"358b6e15-11c7-4c75-b673-85ee3231889e\",\"name\":\"Story\",\"avatarId\":10324},{\"id\":10001,\"entityId\":\"51d609e4-f91a-4164-82af-be733517a013\",\"name\":\"Bug\",\"avatarId\":10324}]},{\"entityId\":\"f45eb8e8-aa71-4d18-9b50-10e5f55ede8a\",\"level\":1,\"name\":\"Epic\",\"issueTypes\":[{\"id\":10007,\"entityId\":\"81a4b00e-677b-48fa-98ef-57c0494f1309\",\"name\":\"Epic\",\"avatarId\":10179}]},{\"entityId\":\"076c357d-e172-4d83-9fb0-6ac0f18638a5\",\"level\":-1,\"name\":\"Subtask\",\"issueTypes\":[{\"id\":10009,\"entityId\":\"3d633b54-e415-4f6d-b55b-2e3353faf5c7\",\"name\":\"Subtask\",\"avatarId\":10573}]}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user does not have the necessary permission."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectKeyOrId}/issuesecuritylevelscheme":{"get":{"tags":["Project permission schemes"],"summary":"Get project issue security scheme","description":"Returns the [issue security scheme](https://confluence.atlassian.com/x/J4lKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or the *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getProjectIssueSecurityScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issuesecurityschemes/10000\",\"id\":10000,\"name\":\"Default Issue Security Scheme\",\"description\":\"Description for the default issue security scheme\",\"defaultSecurityLevelId\":10021,\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the project is visible to the user but the user doesn't have administrative permissions."},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectKeyOrId}/notificationscheme":{"get":{"tags":["Projects"],"summary":"Get project notification scheme","description":"Gets a [notification scheme](https://confluence.atlassian.com/x/8YdKLg) associated with the project. See the [Get notification scheme](#api-rest-api-3-notificationscheme-id-get) resource for more information about notification schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getNotificationSchemeForProject","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about any custom fields assigned to receive an event.\n * `group` Returns information about any groups assigned to receive an event.\n * `notificationSchemeEvents` Returns a list of event associations. This list is returned for all expandable information.\n * `projectRole` Returns information about any project roles assigned to receive an event.\n * `user` Returns information about any users assigned to receive an event.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationScheme"},"example":"{\"expand\":\"notificationSchemeEvents,user,group,projectRole,field,all\",\"id\":10100,\"self\":\"https://your-domain.atlassian.net/rest/api/3/notificationscheme\",\"name\":\"notification scheme name\",\"description\":\"description\",\"notificationSchemeEvents\":[{\"event\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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 that is published together with an issue created event\",\"templateEvent\":{\"id\":1,\"name\":\"Issue created\",\"description\":\"Event published when an issue is created\"}},\"notifications\":[{\"id\":1,\"notificationType\":\"Group\",\"parameter\":\"jira-administrators\",\"group\":{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"},\"expand\":\"group\"},{\"id\":2,\"notificationType\":\"CurrentAssignee\"},{\"id\":3,\"notificationType\":\"ProjectRole\",\"parameter\":\"10360\",\"projectRole\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}},\"expand\":\"projectRole\"},{\"id\":4,\"notificationType\":\"EmailAddress\",\"parameter\":\"rest-developer@atlassian.com\",\"emailAddress\":\"rest-developer@atlassian.com\"},{\"id\":5,\"notificationType\":\"User\",\"parameter\":\"5b10a2844c20165700ede21g\",\"user\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"expand\":\"user\"},{\"id\":6,\"notificationType\":\"GroupCustomField\",\"parameter\":\"customfield_10101\",\"field\":{\"id\":\"customfield_10101\",\"key\":\"customfield_10101\",\"name\":\"New custom field\",\"untranslatedName\":\"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\"}]}]}"}}},"400":{"description":"Returned if the request is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project is not found or the user is not an administrator."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/project/{projectKeyOrId}/permissionscheme":{"get":{"tags":["Project permission schemes"],"summary":"Get assigned permission scheme","description":"Gets the [permission scheme](https://confluence.atlassian.com/x/yodKLg) associated with the project.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg).","operationId":"getAssignedPermissionScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have permission to view the project's configuration."},"404":{"description":"Returned if the project is not found or the user does not have permission to view the project."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project permission schemes"],"summary":"Assign permission scheme","description":"Assigns a permission scheme with a project. See [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for more information about permission schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg)","operationId":"assignPermissionScheme","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Note that permissions are included when you specify any value. Expand options include:\n\n * `all` Returns all expandable information.\n * `field` Returns information about the custom field granted the permission.\n * `group` Returns information about the group that is granted the permission.\n * `permissions` Returns all permission grants for each permission scheme.\n * `projectRole` Returns information about the project role granted the permission.\n * `user` Returns information about the user who is granted the permission.","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdBean"},"example":{"id":10000}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PermissionScheme"},"example":"{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/permissionscheme/10000\",\"name\":\"Example permission scheme\",\"description\":\"description\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if:\n\n * the user does not have the necessary permission to edit the project's configuration.\n * the Jira instance is Jira Core Free or Jira Software Free. Permission schemes cannot be assigned to projects on free plans."},"404":{"description":"Returned if the project or permission scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/project/{projectKeyOrId}/securitylevel":{"get":{"tags":["Project permission schemes"],"summary":"Get project issue security levels","description":"Returns all [issue security](https://confluence.atlassian.com/x/J4lKLg) levels for the project that the user has access to.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project, however, issue security levels are only returned for authenticated user with *Set Issue Security* [global permission](https://confluence.atlassian.com/x/x4dKLg) for the project.","operationId":"getSecurityLevelsForProject","parameters":[{"name":"projectKeyOrId","in":"path","description":"The project ID or project key (case sensitive).","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectIssueSecurityLevels"},"example":"{\"levels\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/100000\",\"id\":\"100000\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/100001\",\"id\":\"100001\",\"description\":\"Only internal staff can see this issue.\",\"name\":\"Staff Only\"}]}"}}},"404":{"description":"Returned if the project is not found or the user does not have permission to view it."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/projectCategory":{"get":{"tags":["Project categories"],"summary":"Get all project categories","description":"Returns all project categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getAllProjectCategories","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectCategory"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10001\",\"id\":\"10001\",\"name\":\"SECOND\",\"description\":\"Second Project Category\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Project categories"],"summary":"Create project category","description":"Creates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProjectCategory","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":{"name":"CREATED","description":"Created Project Category"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10100\",\"id\":\"10100\",\"name\":\"CREATED\",\"description\":\"Created Project Category\"}"}}},"400":{"description":"Returned if:\n\n * `name` is not provided or exceeds 255 characters.\n * `description` exceeds 1000 characters."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"409":{"description":"Returned if the project category name is in use."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/projectCategory/{id}":{"get":{"tags":["Project categories"],"summary":"Get project category by ID","description":"Returns a project category.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getProjectCategoryById","parameters":[{"name":"id","in":"path","description":"The ID of the project category.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project categories"],"summary":"Update project category","description":"Updates a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateProjectCategory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCategory"},"example":{"name":"UPDATED","description":"Updated Project Category"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatedProjectCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10100\",\"id\":\"10100\",\"name\":\"UPDATED\",\"description\":\"Updated Project Category\"}"}}},"400":{"description":"Returned if:\n\n * `name` has been modified and exceeds 255 characters.\n * `description` has been modified and exceeds 1000 characters."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project categories"],"summary":"Delete project category","description":"Deletes a project category.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeProjectCategory","parameters":[{"name":"id","in":"path","description":"ID of the project category to delete.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the project category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/projectvalidate/key":{"get":{"tags":["Project key and name validation"],"summary":"Validate project key","description":"Validates a project key by confirming the key is a valid string and not in use.\n\n**[Permissions](#permissions) required:** None.","operationId":"validateProjectKey","parameters":[{"name":"key","in":"query","description":"The project key.","schema":{"type":"string","example":"HSP"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[],\"errors\":{\"projectKey\":\"A project with that project key already exists.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/projectvalidate/validProjectKey":{"get":{"tags":["Project key and name validation"],"summary":"Get valid project key","description":"Validates a project key and, if the key is invalid or in use, generates a valid random string for the project key.\n\n**[Permissions](#permissions) required:** None.","operationId":"getValidProjectKey","parameters":[{"name":"key","in":"query","description":"The project key.","schema":{"type":"string","example":"HSP"},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"},"example":"\"VPNE\""}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/projectvalidate/validProjectName":{"get":{"tags":["Project key and name validation"],"summary":"Get valid project name","description":"Checks that a project name isn't in use. If the name isn't in use, the passed string is returned. If the name is in use, this operation attempts to generate a valid project name based on the one supplied, usually by adding a sequence number. If a valid project name cannot be generated, a 404 response is returned.\n\n**[Permissions](#permissions) required:** None.","operationId":"getValidProjectName","parameters":[{"name":"name","in":"query","description":"The project name.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"string"},"example":"\"Valid Project Name Example\""}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if a valid project name cannot be generated."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/resolution":{"get":{"tags":["Issue resolutions"],"summary":"Get resolutions","description":"Returns a list of all issue resolution values.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getResolutions","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Resolution"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/resolution/1\",\"id\":\"10000\",\"description\":\"A fix for this issue is checked into the tree and tested.\",\"name\":\"Fixed\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/resolution/3\",\"id\":\"10001\",\"description\":\"This is what it is supposed to do.\",\"name\":\"Works as designed\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/resolution/{id}":{"get":{"tags":["Issue resolutions"],"summary":"Get resolution","description":"Returns an issue resolution value.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getResolution","parameters":[{"name":"id","in":"path","description":"The ID of the issue resolution value.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resolution"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/resolution/1\",\"id\":\"10000\",\"description\":\"A fix for this issue is checked into the tree and tested.\",\"name\":\"Fixed\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue resolution value is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/role":{"get":{"tags":["Project roles"],"summary":"Get all project roles","description":"Gets a list of all project roles, complete with project role details and default actors.\n\n### About project roles ###\n\n[Project roles](https://confluence.atlassian.com/x/3odKLg) are a flexible way to to associate users and groups with projects. In Jira Cloud, the list of project roles is shared globally with all projects, but each project can have a different set of actors associated with it (unlike groups, which have the same membership throughout all Jira applications).\n\nProject roles are used in [permission schemes](#api-rest-api-3-permissionscheme-get), [email notification schemes](#api-rest-api-3-notificationscheme-get), [issue security levels](#api-rest-api-3-issuesecurityschemes-get), [comment visibility](#api-rest-api-3-comment-list-post), and workflow conditions.\n\n#### Members and actors ####\n\nIn the Jira REST API, a member of a project role is called an *actor*. An *actor* is a group or user associated with a project role.\n\nActors may be set as [default members](https://confluence.atlassian.com/x/3odKLg#Managingprojectroles-Specifying'defaultmembers'foraprojectrole) of the project role or set at the project level:\n\n * Default actors: Users and groups that are assigned to the project role for all newly created projects. The default actors can be removed at the project level later if desired.\n * Actors: Users and groups that are associated with a project role for a project, which may differ from the default actors. This enables you to assign a user to different roles in different projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllProjectRoles","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProjectRole"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project roles"],"summary":"Create project role","description":"Creates a new project role with no [default actors](#api-rest-api-3-resolution-get). You can use the [Add default actors to project role](#api-rest-api-3-role-id-actors-post) operation to add default actors to the project role after creating it.\n\n*Note that although a new project role is available to all projects upon creation, any default actors that are associated with the project role are not added to projects that existed prior to the role being created.*<\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createProjectRole","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/MKY/role/10360\",\"name\":\"Developers\",\"id\":10360,\"description\":\"A project role that represents developers in a project\"}"}}},"400":{"description":"Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"409":{"description":"Returned if a project role with the provided name already exists."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/role/{id}":{"get":{"tags":["Project roles"],"summary":"Get project role by ID","description":"Gets the project role details and the default actors associated with the role. The list of default actors is sorted by display name.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoleById","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Project roles"],"summary":"Fully update project role","description":"Updates the project role's name and description. You must include both a name and a description in the request.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"fullyUpdateProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is not valid. The `name` cannot be empty or start or end with whitespace."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project roles"],"summary":"Partial update project role","description":"Updates either the project role's name or its description.\n\nYou cannot update both the name and description at the same time using this operation. If you send a request with a name and a description only the name is updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"partialUpdateProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUpdateRoleRequestBean"},"example":{"name":"Developers","description":"A project role that represents developers in a project"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}},{\"id\":10241,\"displayName\":\"Mia Krystof\",\"type\":\"atlassian-user-role-actor\",\"actorUser\":{\"accountId\":\"5b10a2844c20165700ede21g\"}}],\"scope\":{\"type\":\"PROJECT\",\"project\":{\"id\":\"10000\",\"key\":\"KEY\",\"name\":\"Next Gen Project\"}}}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project roles"],"summary":"Delete project role","description":"Deletes a project role. You must specify a replacement project role if you wish to delete a project role that is in use.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role to delete. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"swap","in":"query","description":"The ID of the project role that will replace the one being deleted.","schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid or if the replacement project role is not found."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role being deleted is not found."},"409":{"description":"Returned if the project role being deleted is in use and a replacement project role is not specified in the request."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/role/{id}/actors":{"get":{"tags":["Project role actors"],"summary":"Get default actors for project role","description":"Returns the [default actors](#api-rest-api-3-resolution-get) for the project role.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getProjectRoleActorsForRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Project role actors"],"summary":"Add default actors to project role","description":"Adds [default actors](#api-rest-api-3-resolution-get) to a role. You may add groups or users, but you cannot add groups and users in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addProjectRoleActorsToRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActorInputBean"},"example":{"user":["admin"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Project role actors"],"summary":"Delete default actors from project role","description":"Deletes the [default actors](#api-rest-api-3-resolution-get) from a project role. You may delete a group or user, but you cannot delete a group and a user in the same request.\n\nChanging a project role's default actors does not affect project role members for projects already created.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteProjectRoleActorsFromRole","parameters":[{"name":"id","in":"path","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"user","in":"query","description":"The user account ID of the user to remove as a default actor.","schema":{"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"group","in":"query","description":"The group name of the group to be removed as a default actor.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectRole"},"example":"{\"actors\":[{\"id\":10240,\"displayName\":\"jira-developers\",\"type\":\"atlassian-group-role-actor\",\"name\":\"jira-developers\",\"actorGroup\":{\"name\":\"jira-developers\",\"displayName\":\"jira-developers\"}}]}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have administrative permissions."},"404":{"description":"Returned if the project role is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens":{"get":{"tags":["Screens"],"summary":"Get screens","description":"Returns a [paginated](#pagination) list of all screens or those specified by one or more screen IDs.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreens","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}},{"name":"id","in":"query","description":"The list of screen IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreen"}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screens"],"summary":"Create screen","description":"Creates a screen with a default field tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createScreen","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenDetails"},"example":{"name":"Resolve Security Issue Screen","description":"Enables changes to resolution and linked issues."}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Screen"},"example":"{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"description\":\"Enables changes to resolution and linked issues.\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another screen.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/addToDefault/{fieldId}":{"post":{"tags":["Screens"],"summary":"Add field to default screen","description":"Adds a field to the default tab of the default screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addFieldToDefaultScreen","parameters":[{"name":"fieldId","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the field it not found or the field is already present."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}":{"put":{"tags":["Screens"],"summary":"Update screen","description":"Updates a screen. Only screens used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateScreen","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScreenDetails"},"example":{"name":"Resolve Accessibility Issue Screen","description":"Enables changes to resolution and linked issues for accessibility related issues."}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Screen"},"example":"{\"id\":10005,\"name\":\"Resolve Security Issue Screen\",\"description\":\"Enables changes to resolution and linked issues.\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another screen.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screens"],"summary":"Delete screen","description":"Deletes a screen. A screen cannot be deleted if it is used in a screen scheme, workflow, or workflow draft.\n\nOnly screens used in classic projects can be deleted.","operationId":"deleteScreen","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen is used in a screen scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can manage screens.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/availableFields":{"get":{"tags":["Screens"],"summary":"Get available screen fields","description":"Returns the fields that can be added to a tab on a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAvailableScreenFields","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableField"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs":{"get":{"tags":["Screen tabs"],"summary":"Get all screen tabs","description":"Returns the list of tabs for a screen.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.","operationId":"getAllScreenTabs","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"projectKey","in":"query","description":"The key of the project.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableTab"}}}}},"400":{"description":"Returned if the screen ID is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen tabs"],"summary":"Create screen tab","description":"Creates a tab for a screen.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":{"name":"Fields Tab"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":"{\"id\":10000,\"name\":\"Fields Tab\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}":{"put":{"tags":["Screen tabs"],"summary":"Update screen tab","description":"Updates the name of a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"renameScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableTab"},"example":"{\"id\":10000,\"name\":\"Fields Tab\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screen tabs"],"summary":"Delete screen tab","description":"Deletes a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}/fields":{"get":{"tags":["Screen tab fields"],"summary":"Get all screen tab fields","description":"Returns all fields for a screen tab.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * *Administer projects* [project permission](https://confluence.atlassian.com/x/yodKLg) when the project key is specified, providing that the screen is associated with the project through a Screen Scheme and Issue Type Screen Scheme.","operationId":"getAllScreenTabFields","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"projectKey","in":"query","description":"The key of the project.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ScreenableField"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen tab fields"],"summary":"Add screen tab field","description":"Adds a field to a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"addScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddFieldBean"},"example":{"fieldId":"summary"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenableField"},"example":"{\"id\":\"summary\",\"name\":\"Summary\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}/fields/{id}":{"delete":{"tags":["Screen tab fields"],"summary":"Remove screen tab field","description":"Removes a field from a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"removeScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}/fields/{id}/move":{"post":{"tags":["Screen tab fields"],"summary":"Move screen tab field","description":"Moves a screen tab field.\n\nIf `after` and `position` are provided in the request, `position` is ignored.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"moveScreenTabField","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"id","in":"path","description":"The ID of the field.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveFieldBean"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen, screen tab, or field is not found or the field can't be moved to the requested position."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screens/{screenId}/tabs/{tabId}/move/{pos}":{"post":{"tags":["Screen tabs"],"summary":"Move screen tab","description":"Moves a screen tab.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"moveScreenTab","parameters":[{"name":"screenId","in":"path","description":"The ID of the screen.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"tabId","in":"path","description":"The ID of the screen tab.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"pos","in":"path","description":"The position of tab. The base index is 0.","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the screen or screen tab is not found or the position is invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screenscheme":{"get":{"tags":["Screen schemes"],"summary":"Get screen schemes","description":"Returns a [paginated](#pagination) list of screen schemes.\n\nOnly screen schemes used in classic projects are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getScreenSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":25}},{"name":"id","in":"query","description":"The list of screen scheme IDs. To include multiple IDs, provide an ampersand-separated list. For example, `id=10000&id=10001`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanScreenScheme"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/screenscheme?maxResults=25&startAt=0\",\"maxResults\":100,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":10010,\"name\":\"Employee screen scheme\",\"description\":\"Manage employee data\",\"screens\":{\"default\":10017,\"edit\":10019,\"create\":10019,\"view\":10020}},{\"id\":10032,\"name\":\"Office screen scheme\",\"description\":\"Manage office data\",\"screens\":{\"default\":10020}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Screen schemes"],"summary":"Create screen scheme","description":"Creates a screen scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createScreenScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenSchemeDetails"},"example":{"screens":{"default":10017,"view":10020,"edit":10019},"name":"Employee screen scheme","description":"Manage employee data"}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenSchemeId"},"example":"{\"id\":10001}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if a screen used as one of the screen types in the screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"One or more screens assigned to screen types was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/screenscheme/{screenSchemeId}":{"put":{"tags":["Screen schemes"],"summary":"Update screen scheme","description":"Updates a screen scheme. Only screen schemes used in classic projects can be updated.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateScreenScheme","parameters":[{"name":"screenSchemeId","in":"path","description":"The ID of the screen scheme.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The screen scheme update details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateScreenSchemeDetails"},"example":{"screens":{"default":"10018","create":"10019"},"name":"Employee screen scheme v2"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The name is used by another scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen scheme or a screen used as one of the screen types is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Screen schemes"],"summary":"Delete screen scheme","description":"Deletes a screen scheme. A screen scheme cannot be deleted if it is used in an issue type screen scheme.\n\nOnly screens schemes used in classic projects can be deleted.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteScreenScheme","parameters":[{"name":"screenSchemeId","in":"path","description":"The ID of the screen scheme.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the screen scheme is deleted."},"400":{"description":"Returned if the screen scheme is used in an issue type screen scheme.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme cannot be deleted as it is in use in an issue type screen scheme.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access screen schemes.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the screen scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The screen scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/search":{"get":{"tags":["Issue search"],"summary":"Search for issues using JQL (GET)","description":"Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nIf the JQL query expression is too large to be encoded as a query parameter, use the [POST](#api-rest-api-3-search-post) version of this resource.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"searchForIssuesUsingJql","parameters":[{"name":"jql","in":"query","description":"The [JQL](https://confluence.atlassian.com/x/egORLQ) that defines the search. Note:\n\n * If no JQL expression is provided, all issues are returned.\n * `username` and `userkey` cannot be used as search terms due to privacy reasons. Use `accountId` instead.\n * If a user has hidden their email address in their user profile, partial matches of the email address will not find the user. An exact match is required.","schema":{"type":"string","example":"project = HSP"},"x-showInExample":"true"},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page. To manage page size, Jira may return fewer items per page where a large number of fields are requested. The greatest number of items returned per page is achieved when requesting `id` or `key` only.","schema":{"type":"integer","format":"int32","default":50}},{"name":"validateQuery","in":"query","description":"Determines how to validate the JQL query and treat the validation results. Supported values are:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.","schema":{"type":"string","enum":["strict","warn","none","true","false"],"default":"strict"}},{"name":"fields","in":"query","description":"A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nExamples:\n\n * `summary,comment` Returns only the summary and comments fields.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nThis parameter may be specified multiple times. For example, `fields=field1,field2&fields=field3`.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.","schema":{"type":"array","items":{"type":"string","default":"*navigable"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about issues in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.","schema":{"type":"string"}},{"name":"properties","in":"query","description":"A list of issue property keys for issue properties to include in the results. This parameter accepts a comma-separated list. Multiple properties can also be provided using an ampersand separated list. For example, `properties=prop1,prop2&properties=prop3`. A maximum of 5 issue property keys can be specified.","schema":{"type":"array","items":{"type":"string"}}},{"name":"fieldsByKeys","in":"query","description":"Reference fields by their key (rather than ID).","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"},"example":"{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:41.752+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/secure/thumbnail/10000/picture.jpg\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Main order flow broken\"}]}]},\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:40.706+0000\",\"updated\":\"2021-09-03T02:19:40.706+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-09-03T02:19:40.904+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:40.904+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}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"}}},"400":{"description":"Returned if the JQL query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Issue search"],"summary":"Search for issues using JQL (POST)","description":"Searches for issues using [JQL](https://confluence.atlassian.com/x/egORLQ).\n\nThere is a [GET](#api-rest-api-3-search-get) version of this resource that can be used for smaller JQL query expressions.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** Issues are included in the response where the user has:\n\n * *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the issue.\n * If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.","operationId":"searchForIssuesUsingJqlPost","parameters":[],"requestBody":{"description":"A JSON object containing the search request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequestBean"},"example":{"expand":["names","schema","operations"],"jql":"project = HSP","maxResults":15,"fieldsByKeys":false,"fields":["summary","status","assignee"],"startAt":0}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResults"},"example":"{\"expand\":\"names,schema\",\"startAt\":0,\"maxResults\":50,\"total\":1,\"issues\":[{\"expand\":\"\",\"id\":\"10002\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10002\",\"key\":\"ED-1\",\"fields\":{\"watcher\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-1/watchers\",\"isWatching\":false,\"watchCount\":1,\"watchers\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false}]},\"attachment\":[{\"id\":10000,\"self\":\"https://your-domain.atlassian.net/rest/api/3/attachments/10000\",\"filename\":\"picture.jpg\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:41.752+0000\",\"size\":23123,\"mimeType\":\"image/jpeg\",\"content\":\"https://your-domain.atlassian.net/jira/secure/attachments/10000/picture.jpg\",\"thumbnail\":\"https://your-domain.atlassian.net/jira/secure/thumbnail/10000/picture.jpg\"}],\"sub-tasks\":[{\"id\":\"10000\",\"type\":{\"id\":\"10000\",\"name\":\"\",\"inward\":\"Parent\",\"outward\":\"Sub-task\"},\"outwardIssue\":{\"id\":\"10003\",\"key\":\"ED-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/ED-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"description\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"Main order flow broken\"}]}]},\"project\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/project/EX\",\"id\":\"10000\",\"key\":\"EX\",\"name\":\"Example\",\"avatarUrls\":{\"48x48\":\"https://your-domain.atlassian.net/secure/projectavatar?size=large&pid=10000\",\"24x24\":\"https://your-domain.atlassian.net/secure/projectavatar?size=small&pid=10000\",\"16x16\":\"https://your-domain.atlassian.net/secure/projectavatar?size=xsmall&pid=10000\",\"32x32\":\"https://your-domain.atlassian.net/secure/projectavatar?size=medium&pid=10000\"},\"projectCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/projectCategory/10000\",\"id\":\"10000\",\"name\":\"FIRST\",\"description\":\"First Project Category\"},\"simplified\":false,\"style\":\"classic\",\"insight\":{\"totalIssueCount\":100,\"lastIssueUpdateTime\":\"2021-09-03T02:19:38.177+0000\"}},\"comment\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/comment/10000\",\"id\":\"10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"body\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"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\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"created\":\"2021-09-03T02:19:40.706+0000\",\"updated\":\"2021-09-03T02:19:40.706+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\":\"PR-2\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-2\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/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\":\"PR-3\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/PR-3\",\"fields\":{\"status\":{\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/statuses/open.png\",\"name\":\"Open\"}}}}],\"worklog\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-09-03T02:19:40.904+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:40.904+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}}}],\"warningMessages\":[\"The value 'bar' does not exist for the field 'foo'.\"]}"}}},"400":{"description":"Returned if the JQL query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/securitylevel/{id}":{"get":{"tags":["Issue security level"],"summary":"Get issue security level","description":"Returns details of an issue security level.\n\nUse [Get issue security scheme](#api-rest-api-3-issuesecurityschemes-id-get) to obtain the IDs of issue security levels associated with the issue security scheme.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getIssueSecurityLevel","parameters":[{"name":"id","in":"path","description":"The ID of the issue security level.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecurityLevel"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/securitylevel/10021\",\"id\":\"10021\",\"description\":\"Only the reporter and internal staff can see this issue.\",\"name\":\"Reporter Only\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the issue security level is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/serverInfo":{"get":{"tags":["Server info"],"summary":"Get Jira instance info","description":"Returns information about the Jira instance.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getServerInfo","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerInformation"},"example":"{\"baseUrl\":\"https://your-domain.atlassian.net/jira\",\"version\":\"1001.0.0-SNAPSHOT\",\"versionNumbers\":[5,0,0],\"buildNumber\":582,\"buildDate\":\"2021-09-03T02:19:34.730+0000\",\"serverTime\":\"2021-09-03T02:19:34.730+0000\",\"scmInfo\":\"1f51473f5c7b75c1a69a0090f4832cdc5053702a\",\"serverTitle\":\"My Jira instance\",\"defaultLocale\":{\"locale\":\"en_AU\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/settings/columns":{"get":{"tags":["Issue navigator settings"],"summary":"Get issue navigator default columns","description":"Returns the default issue navigator columns.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getIssueNavigatorDefaultColumns","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}},"example":"[{\"label\":\"Key\",\"value\":\"issuekey\"},{\"label\":\"Summary\",\"value\":\"summary\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"},"put":{"tags":["Issue navigator settings"],"summary":"Set issue navigator default columns","description":"Sets the default issue navigator columns.\n\nThe `columns` parameter accepts a navigable field value and is expressed as HTML form data. To specify multiple columns, pass multiple `columns` parameters. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/settings/columns`\n\nIf no column details are sent, then all default columns are removed.\n\nA navigable field is one that can be used as a column on the issue navigator. Find details of navigable issue columns using [Get fields](#api-rest-api-3-field-get).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setIssueNavigatorDefaultColumns","parameters":[],"requestBody":{"description":"A navigable field value.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if invalid parameters are passed."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if a navigable field value is not found."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/status":{"get":{"tags":["Workflow statuses"],"summary":"Get all statuses","description":"Returns a list of all statuses associated with workflows.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"getStatuses","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusDetails"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/5\",\"description\":\"The issue is closed.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/closed.gif\",\"name\":\"Closed\",\"id\":\"5\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/status/{idOrName}":{"get":{"tags":["Workflow statuses"],"summary":"Get status","description":"Returns a status. The status must be associated with a workflow to be returned.\n\nIf a name is used on more than one status, only the status found first is returned. Therefore, identifying the status by its ID may be preferable.\n\nThis operation can be accessed anonymously.\n\n[Permissions](#permissions) required: None.","operationId":"getStatus","parameters":[{"name":"idOrName","in":"path","description":"The ID or name of the status.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusDetails"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/status/10000\",\"description\":\"The issue is currently being worked on.\",\"iconUrl\":\"https://your-domain.atlassian.net/images/icons/progress.gif\",\"name\":\"In Progress\",\"id\":\"10000\",\"statusCategory\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the status is not found.\n * the status is not associated with a workflow.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/statuscategory":{"get":{"tags":["Workflow status categories"],"summary":"Get all status categories","description":"Returns a list of all status categories.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getStatusCategories","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusCategory"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/9\",\"id\":9,\"key\":\"completed\",\"colorName\":\"green\"}]"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/statuscategory/{idOrKey}":{"get":{"tags":["Workflow status categories"],"summary":"Get status category","description":"Returns a status category. Status categories provided a mechanism for categorizing [statuses](#api-rest-api-3-status-idOrName-get).\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getStatusCategory","parameters":[{"name":"idOrKey","in":"path","description":"The ID or key of the status category.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusCategory"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/statuscategory/1\",\"id\":1,\"key\":\"in-flight\",\"colorName\":\"yellow\",\"name\":\"In Progress\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the status category is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/task/{taskId}":{"get":{"tags":["Tasks"],"summary":"Get task","description":"Returns the status of a [long-running asynchronous task](#async).\n\nWhen a task has finished, this operation returns the JSON blob applicable to the task. See the documentation of the operation that created the task for details. Task details are not permanently retained. As of September 2019, details are retained for 14 days although this period may change without notice.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.","operationId":"getTask","parameters":[{"name":"taskId","in":"path","description":"The ID of the task.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/task/1\",\"id\":\"1\",\"description\":\"Task description\",\"status\":\"COMPLETE\",\"result\":\"the task result, this may be any JSON\",\"submittedBy\":10000,\"progress\":100,\"elapsedRuntime\":156,\"submitted\":1630635574187,\"started\":1630635574308,\"finished\":1630635574408,\"lastUpdate\":1630635574408}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the task is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":[]}],"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/task/{taskId}/cancel":{"post":{"tags":["Tasks"],"summary":"Cancel task","description":"Cancels a task.\n\n**[Permissions](#permissions) required:** either of:\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n * Creator of the task.","operationId":"cancelTask","parameters":[{"name":"taskId","in":"path","description":"The ID of the task.","required":true,"schema":{"type":"string"}}],"responses":{"202":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if cancellation of the task is not possible.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"404":{"description":"Returned if the task is not found.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/api/3/universal_avatar/type/{type}/owner/{entityId}":{"get":{"tags":["Avatars"],"summary":"Get avatars","description":"Returns the system and custom avatars for a project or issue type.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * for custom project avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the avatar belongs to.\n * for custom issue type avatars, *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for at least one project the issue type is used in.\n * for system avatars, none.","operationId":"getAvatars","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"entityId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatars"},"example":"{\"system\":[{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10040&avatarType=project\"}}],\"custom\":[{\"id\":\"1010\",\"isSystemAvatar\":false,\"isSelected\":false,\"isDeletable\":true,\"urls\":{\"16x16\":\"https://your-domain.atlassian.net/secure/viewavatar?size=xsmall&avatarId=10080&avatarType=project\",\"24x24\":\"https://your-domain.atlassian.net/secure/viewavatar?size=small&avatarId=10080&avatarType=project\",\"32x32\":\"https://your-domain.atlassian.net/secure/viewavatar?size=medium&avatarId=10080&avatarType=project\",\"48x48\":\"https://your-domain.atlassian.net/secure/viewavatar?avatarId=10080&avatarType=project\"}}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Avatars"],"summary":"Load avatar","description":"Loads a custom avatar for a project or issue type.\n\nSpecify the avatar's local file location in the body of the request. Also, include the following headers:\n\n * `X-Atlassian-Token: no-check` To prevent XSRF protection blocking the request, for more information see [Special Headers](#special-request-headers).\n * `Content-Type: image/image type` Valid image types are JPEG, GIF, or PNG.\n\nFor example: \n`curl --request POST `\n\n`--user email@example.com: `\n\n`--header 'X-Atlassian-Token: no-check' `\n\n`--header 'Content-Type: image/< image_type>' `\n\n`--data-binary \"<@/path/to/file/with/your/avatar>\" `\n\n`--url 'https://your-domain.atlassian.net/rest/api/3/universal_avatar/type/{type}/owner/{entityId}'`\n\nThe avatar is cropped to a square. If no crop parameters are specified, the square originates at the top left of the image. The length of the square's sides is set to the smaller of the height or width of the image.\n\nThe cropped image is then used to create avatars of 16x16, 24x24, 32x32, and 48x48 in size.\n\nAfter creating the avatar use:\n\n * [Update issue type](#api-rest-api-3-issuetype-id-put) to set it as the issue type's displayed avatar.\n * [Set project avatar](#api-rest-api-3-project-projectIdOrKey-avatar-put) to set it as the project's displayed avatar.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"storeAvatar","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"entityId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}},{"name":"x","in":"query","description":"The X coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"y","in":"query","description":"The Y coordinate of the top-left corner of the crop region.","schema":{"type":"integer","format":"int32","default":0}},{"name":"size","in":"query","description":"The length of each side of the crop region.","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"*/*":{"schema":{}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Avatar"},"example":"{\"id\":\"1000\",\"isSystemAvatar\":true,\"isSelected\":false,\"isDeletable\":false,\"urls\":{\"16x16\":\"/secure/useravatar?size=xsmall&avatarId=10040&avatarType=project\",\"24x24\":\"/secure/useravatar?size=small&avatarId=10040&avatarType=project\",\"32x32\":\"/secure/useravatar?size=medium&avatarId=10040&avatarType=project\",\"48x48\":\"/secure/useravatar?avatarId=10040&avatarType=project\"}}"}}},"400":{"description":"Returned if:\n\n * an image isn't included in the request.\n * the image type is unsupported.\n * the crop parameters extend the crop area beyond the edge of the image."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permissions."},"404":{"description":"Returned if the avatar type is invalid, the associated item ID is missing, or the item is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/universal_avatar/type/{type}/owner/{owningObjectId}/avatar/{id}":{"delete":{"tags":["Avatars"],"summary":"Delete avatar","description":"Deletes an avatar from a project or issue type.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteAvatar","parameters":[{"name":"type","in":"path","description":"The avatar type.","required":true,"schema":{"type":"string","enum":["project","issuetype"]}},{"name":"owningObjectId","in":"path","description":"The ID of the item the avatar is associated with.","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The ID of the avatar.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user does not have permission to delete the avatar, the avatar is not deletable."},"404":{"description":"Returned if the avatar type, associated item ID, or avatar ID is invalid."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]},{}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/user":{"get":{"tags":["Users"],"summary":"Get user","description":"Returns a user.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUser","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide) for details.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about users in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `groups` includes all groups and nested groups to which the user belongs.\n * `applicationRoles` includes details of all the applications to which the user has access.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the *Browse users and groups* global permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Users"],"summary":"Create user","description":"Creates a user. This resource is retained for legacy compatibility. As soon as a more suitable alternative is available this resource will be deprecated.\n\nIf the user exists and has access to Jira, the operation returns a 201 status. If the user exists but does not have access to Jira, the operation returns a 400 status.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createUser","parameters":[],"requestBody":{"description":"Details about the user to be created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewUserDetails"},"example":{"emailAddress":"mia@atlassian.com","displayName":"Mia Krystof","name":""}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"400":{"description":"Returned if the request is invalid or the number of licensed users is exceeded."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Users"],"summary":"Delete user","description":"Deletes a user.\n\n**[Permissions](#permissions) required:** Site administration (that is, membership of the *site-admin* [group](https://confluence.atlassian.com/x/24xjL)).","operationId":"removeUser","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the user cannot be removed."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-experimental":true,"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/user/assignable/multiProjectSearch":{"get":{"tags":["User search"],"summary":"Find users assignable to projects","description":"Returns a list of users who can be assigned issues in one or more projects. The list may be restricted to users whose attributes match a string.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned issues in the projects. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned issues in the projects, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** None.","operationId":"findBulkAssignableUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"projectKeys","in":"query","description":"A list of project keys (case sensitive). This parameter accepts a comma-separated list.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `projectKeys` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if one or more of the projects is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/assignable/search":{"get":{"tags":["User search"],"summary":"Find users assignable to issues","description":"Returns a list of users that can be assigned to an issue. Use this operation to find the list of users who can be assigned to:\n\n * a new issue, by providing the `projectKeyOrId`.\n * an updated issue, by providing the `issueKey`.\n * to an issue during a transition (workflow action), by providing the `issueKey` and the transition id in `actionDescriptorId`. You can obtain the IDs of an issue's valid transitions using the `transitions` option in the `expand` parameter of [ Get issue](#api-rest-api-3-issue-issueIdOrKey-get).\n\nIn all these cases, you can pass an account ID to determine if a user can be assigned to an issue. The user is returned in the response if they can be assigned to the issue or issue transition.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that can be assigned the issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who can be assigned the issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"findAssignableUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `username` or `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"sessionId","in":"query","description":"The sessionId of this request. SessionId is the same until the assignee is set.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"project","in":"query","description":"The project ID or project key (case sensitive). Required, unless `issueKey` is specified.","schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The key of the issue. Required, unless `project` is specified.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return. This operation may return less than the maximum number of items even if more are available. The operation fetches users up to the maximum and then, from the fetched users, returns only the users that can be assigned to the issue.","schema":{"type":"integer","format":"int32","default":50}},{"name":"actionDescriptorId","in":"query","description":"The ID of the transition.","schema":{"type":"integer","format":"int32"}},{"name":"recommend","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `project` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the project, issue, or transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/bulk":{"get":{"tags":["Users"],"summary":"Bulk get users","description":"Returns a [paginated](#pagination) list of the users specified by one or more account IDs.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetUsers","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"key","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"accountId","in":"query","description":"The account ID of a user. To specify multiple users, pass multiple `accountId` parameters. For example, `accountId=5b10a2844c20165700ede21g&accountId=5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"maxLength":128,"type":"array","example":"5b10ac8d82e05b22cc7d4ef5","items":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"}},"x-showInExample":"true"}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUser"},"example":"{\"maxResults\":100,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}}]}"}}},"400":{"description":"Returned if `accountID` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/bulk/migration":{"get":{"tags":["Users"],"summary":"Get account IDs for users","description":"Returns the account IDs for the users specified in the `key` or `username` parameters. Note that multiple `key` or `username` parameters can be specified.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"bulkGetUsersMigration","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":10}},{"name":"username","in":"query","description":"Username of a user. To specify multiple users, pass multiple copies of this parameter. For example, `username=fred&username=barney`. Required if `key` isn't provided. Cannot be provided if `key` is present.","schema":{"type":"array","items":{"type":"string"}}},{"name":"key","in":"query","description":"Key of a user. To specify multiple users, pass multiple copies of this parameter. For example, `key=fred&key=barney`. Required if `username` isn't provided. Cannot be provided if `username` is present.","schema":{"type":"array","items":{"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserMigrationBean"}},"example":"[{\"username\":\"mia\",\"accountId\":\"5b10a2844c20165700ede21g\"},{\"username\":\"emma\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\"}]"}}},"400":{"description":"Returned if `key` or `username`"},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/columns":{"get":{"tags":["Users"],"summary":"Get user default columns","description":"Returns the default [issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If `accountId` is not passed in the request, the calling user's details are returned.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLgl), to get the column details for any user.\n * Permission to access Jira, to get the calling user's column details.","operationId":"getUserDefaultColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ColumnItem"}}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the requested user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Users"],"summary":"Set user default columns","description":"Sets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user. If an account ID is not passed, the calling user's default columns are set. If no column details are sent, then all default columns are removed.\n\nThe parameters for this resource are expressed as HTML form data. For example, in curl:\n\n`curl -X PUT -d columns=summary -d columns=description https://your-domain.atlassian.net/rest/api/3/user/columns?accountId=5b10ac8d82e05b22cc7d4ef5'`\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.","operationId":"setUserColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"}],"requestBody":{"description":"The ID of a column to set. To set multiple columns, send multiple `columns` parameters.","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}},"multipart/form-data":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the requested user is not found."},"500":{"description":"Returned if an invalid issue table column ID is sent."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"},"delete":{"tags":["Users"],"summary":"Reset user default columns","description":"Resets the default [ issue table columns](https://confluence.atlassian.com/x/XYdKLg) for the user to the system default. If `accountId` is not passed, the calling user's default columns are reset.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set the columns on any user.\n * Permission to access Jira, to set the calling user's columns.","operationId":"resetUserColumns","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."}},"deprecated":false,"security":[{"basicAuth":[]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/user/email":{"get":{"tags":["Users"],"summary":"Get user email","description":"Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).","operationId":"getUserEmail","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`.","required":true,"schema":{"maxLength":128,"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnrestrictedUserEmail"},"example":"name@example.com"}}},"400":{"description":"Returned if the calling app is not approved to use this API."},"401":{"description":"Returned if the authentication credentials are incorrect or missing from the request (for example if a user is trying to access this API)."},"404":{"description":"Returned if a user with the given `accountId` doesn't exist"},"503":{"description":"Indicates the API is not currently enabled"}},"deprecated":false,"security":[{"basicAuth":[]}],"x-experimental":true,"x-atlassian-connect-scope":"ACCESS_EMAIL_ADDRESSES"}},"/rest/api/3/user/email/bulk":{"get":{"tags":["Users"],"summary":"Get user email bulk","description":"Returns a user's email address. This API is only available to apps approved by Atlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).","operationId":"getUserEmailBulk","parameters":[{"name":"accountId","in":"query","description":"The account IDs of the users for which emails are required. An `accountId` is an identifier that uniquely identifies the user across all Atlassian products. For example, `5b10ac8d82e05b22cc7d4ef5`. Note, this should be treated as an opaque identifier (that is, do not assume any structure in the value).","required":true,"schema":{"maxLength":128,"type":"array","items":{"maxLength":128,"type":"string"}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnrestrictedUserEmail"}}}},"400":{"description":"Returned if the calling app is not approved to use this API."},"401":{"description":"Returned if the authentication credentials are incorrect, or missing from the request (for example if a user is trying to access this API)."},"503":{"description":"Indicates the API is not currently enabled."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-experimental":true,"x-atlassian-connect-scope":"ACCESS_EMAIL_ADDRESSES"}},"/rest/api/3/user/groups":{"get":{"tags":["Users"],"summary":"Get user groups","description":"Returns the groups to which a user belongs.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getUserGroups","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","required":true,"schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"key","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GroupName"}},"example":"{\"name\":\"jira-administrators\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/group?groupname=jira-administrators\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the calling user does not have the *Browse users and groups* global permission."},"404":{"description":"Returned if:\n\n * `accountId` is missing.\n * the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/permission/search":{"get":{"tags":["User search"],"summary":"Find users with permissions","description":"Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have a set of permissions for a project or issue.\n\nIf no search string is provided, a list of all users with the permissions is returned.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission for the project or issue. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission for the project or issue, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get users for any project.\n * *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for a project, to get users for that project.","operationId":"findUsersWithAllPermissions","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"permissions","in":"query","description":"A comma separated list of permissions. Permissions can be specified as any:\n\n * permission returned by [Get all permissions](#api-rest-api-3-permissions-get).\n * custom project permission added by Connect apps.\n * (deprecated) one of the following:\n \n * ASSIGNABLE\\_USER\n * ASSIGN\\_ISSUE\n * ATTACHMENT\\_DELETE\\_ALL\n * ATTACHMENT\\_DELETE\\_OWN\n * BROWSE\n * CLOSE\\_ISSUE\n * COMMENT\\_DELETE\\_ALL\n * COMMENT\\_DELETE\\_OWN\n * COMMENT\\_EDIT\\_ALL\n * COMMENT\\_EDIT\\_OWN\n * COMMENT\\_ISSUE\n * CREATE\\_ATTACHMENT\n * CREATE\\_ISSUE\n * DELETE\\_ISSUE\n * EDIT\\_ISSUE\n * LINK\\_ISSUE\n * MANAGE\\_WATCHER\\_LIST\n * MODIFY\\_REPORTER\n * MOVE\\_ISSUE\n * PROJECT\\_ADMIN\n * RESOLVE\\_ISSUE\n * SCHEDULE\\_ISSUE\n * SET\\_ISSUE\\_SECURITY\n * TRANSITION\\_ISSUE\n * VIEW\\_VERSION\\_CONTROL\n * VIEW\\_VOTERS\\_AND\\_WATCHERS\n * VIEW\\_WORKFLOW\\_READONLY\n * WORKLOG\\_DELETE\\_ALL\n * WORKLOG\\_DELETE\\_OWN\n * WORKLOG\\_EDIT\\_ALL\n * WORKLOG\\_EDIT\\_OWN\n * WORK\\_ISSUE","required":true,"schema":{"type":"string"}},{"name":"issueKey","in":"query","description":"The issue key for the issue.","schema":{"type":"string"}},{"name":"projectKey","in":"query","description":"The project key for the project (case sensitive).","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `projectKey` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided.\n * `permissions` is empty or contains an invalid entry."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the issue or project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/picker":{"get":{"tags":["User search"],"summary":"Find users for picker","description":"Returns a list of users whose attributes match the query term. The returned object includes the `html` field where the matched query term is highlighted with the HTML strong tag. A list of account IDs can be provided to exclude users from the results.\n\nThis operation takes the users in the range defined by `maxResults`, up to the thousandth user, and then returns only the users from that range that match the query term. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the query term, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return search results for an exact name match only.","operationId":"findUsersForPicker","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName`, and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*.","required":true,"schema":{"type":"string"}},{"name":"maxResults","in":"query","description":"The maximum number of items to return. The total number of matched users is returned in `total`.","schema":{"type":"integer","format":"int32","default":50}},{"name":"showAvatar","in":"query","description":"Include the URI to the user's avatar.","schema":{"type":"boolean","default":false}},{"name":"exclude","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"array","items":{"type":"string"}}},{"name":"excludeAccountIds","in":"query","description":"A list of account IDs to exclude from the search results. This parameter accepts a comma-separated list. Multiple account IDs can also be provided using an ampersand-separated list. For example, `excludeAccountIds=5b10a2844c20165700ede21g,5b10a0effa615349cb016cd8&excludeAccountIds=5b10ac8d82e05b22cc7d4ef5`. Cannot be provided with `exclude`.","schema":{"type":"array","items":{"type":"string"}}},{"name":"avatarSize","in":"query","schema":{"type":"string"}},{"name":"excludeConnectUsers","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FoundUsers"},"example":"{\"users\":[{\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"mia\",\"key\":\"mia\",\"html\":\"Mia Krystof - mia@example.com (mia)\",\"displayName\":\"Mia Krystof\",\"avatarUrl\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\"}],\"total\":25,\"header\":\"Showing 20 of 25 matching groups\"}"}}},"400":{"description":"Returned if `exclude` and `excludeAccountIds` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/properties":{"get":{"tags":["User properties"],"summary":"Get user property keys","description":"Returns the keys of all properties for a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to access the property keys on any user.\n * Access to Jira, to access the calling user's property keys.","operationId":"getUserPropertyKeys","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":"{\"keys\":[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/EX-2/properties/issue.support\",\"key\":\"issue.support\"}]}"}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/properties/{propertyKey}":{"get":{"tags":["User properties"],"summary":"Get user property","description":"Returns the value of a user's property. If no property key is provided [Get user property keys](#api-rest-api-3-user-properties-get) is called.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to get a property from any user.\n * Access to Jira, to get a property from the calling user's record.","operationId":"getUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":"{\"key\":\"issue.support\",\"value\":{\"system.conversation.id\":\"b1bf38be-5e94-4b40-a3b8-9278735ee1e6\",\"system.support.time\":\"1m\"}}"}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["User properties"],"summary":"Set user property","description":"Sets the value of a user's property. Use this resource to store custom data against a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to set a property on any user.\n * Access to Jira, to set a property on the calling user's record.","operationId":"setUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property. The maximum length is 255 characters.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the user property is updated.","content":{"application/json":{"schema":{}}}},"201":{"description":"Returned if the user property is created.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user is not found."},"405":{"description":"Returned if the property key is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"WRITE"},"delete":{"tags":["User properties"],"summary":"Delete user property","description":"Deletes a property from a user.\n\nNote: This operation does not access the [user properties](https://confluence.atlassian.com/x/8YxjL) created and maintained in Jira.\n\n**[Permissions](#permissions) required:**\n\n * *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg), to delete a property from any user.\n * Access to Jira, to delete a property from the calling user's record.","operationId":"deleteUserProperty","parameters":[{"name":"accountId","in":"query","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","schema":{"maxLength":128,"type":"string","example":"5b10ac8d82e05b22cc7d4ef5"},"x-showInExample":"true"},{"name":"userKey","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"username","in":"query","description":"This parameter is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the user's property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the user property is deleted."},"400":{"description":"Returned if `accountId` is missing."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission or is not accessing their user record."},"404":{"description":"Returned if the user or the property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["write:jira-work"]}],"x-atlassian-connect-scope":"DELETE"}},"/rest/api/3/user/search":{"get":{"tags":["User search"],"summary":"Find users","description":"Returns a list of users that match the search string and property.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and property. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and property, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls or calls by users without the required permission return empty search results.","operationId":"findUsers","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes ( `displayName`, and `emailAddress`) to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` or `property` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against a user `accountId`. Required, unless `query` or `property` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"property","in":"query","description":"A query string used to search properties. Property keys are specified by path, so property keys containing dot (.) or equals (=) characters cannot be used. The query string cannot be specified using a JSON object. Example: To search for the value of `nested` from `{\"something\":{\"nested\":1,\"other\":2}}` use `thepropertykey.something.nested=1`. Required, unless `accountId` or `query` is specified.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `accountId`, `query` or `property` is missing.\n * `query` and `accountId` are provided.\n * `property` parameter is not valid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/search/query":{"get":{"tags":["User search"],"summary":"Find users by query","description":"Finds users with a structured query and returns a [paginated](#pagination) list of user details.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`","operationId":"findUsersByQuery","parameters":[{"name":"query","in":"query","description":"The search query.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUser"}}}},"400":{"description":"Returned if the query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"408":{"description":"Returned if the search is timed out."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/search/query/key":{"get":{"tags":["User search"],"summary":"Find user keys by query","description":"Finds users with a structured query and returns a [paginated](#pagination) list of user keys.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the structured query. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the structured query, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).\n\nThe query statements are:\n\n * `is assignee of PROJ` Returns the users that are assignees of at least one issue in project *PROJ*.\n * `is assignee of (PROJ-1, PROJ-2)` Returns users that are assignees on the issues *PROJ-1* or *PROJ-2*.\n * `is reporter of (PROJ-1, PROJ-2)` Returns users that are reporters on the issues *PROJ-1* or *PROJ-2*.\n * `is watcher of (PROJ-1, PROJ-2)` Returns users that are watchers on the issues *PROJ-1* or *PROJ-2*.\n * `is voter of (PROJ-1, PROJ-2)` Returns users that are voters on the issues *PROJ-1* or *PROJ-2*.\n * `is commenter of (PROJ-1, PROJ-2)` Returns users that have posted a comment on the issues *PROJ-1* or *PROJ-2*.\n * `is transitioner of (PROJ-1, PROJ-2)` Returns users that have performed a transition on issues *PROJ-1* or *PROJ-2*.\n * `[propertyKey].entity.property.path is \"property value\"` Returns users with the entity property value.\n\nThe list of issues can be extended as needed, as in *(PROJ-1, PROJ-2, ... PROJ-n)*. Statements can be combined using the `AND` and `OR` operators to form more complex queries. For example:\n\n`is assignee of PROJ AND [propertyKey].entity.property.path is \"property value\"`","operationId":"findUserKeysByQuery","parameters":[{"name":"query","in":"query","description":"The search query.","required":true,"schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanUserKey"}}}},"400":{"description":"Returned if the query is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"408":{"description":"Returned if the search is timed out."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/user/viewissue/search":{"get":{"tags":["User search"],"summary":"Find users with browse permission","description":"Returns a list of users who fulfill these criteria:\n\n * their user attributes match a search string.\n * they have permission to browse issues.\n\nUse this resource to find users who can browse:\n\n * an issue, by providing the `issueKey`.\n * any issue in a project, by providing the `projectKey`.\n\nThis operation takes the users in the range defined by `startAt` and `maxResults`, up to the thousandth user, and then returns only the users from that range that match the search string and have permission to browse issues. This means the operation usually returns fewer users than specified in `maxResults`. To get all the users who match the search string and have permission to browse issues, use [Get all users](#api-rest-api-3-users-search-get) and filter the records in your code.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg). Anonymous calls and calls by users without the required permission return empty search results.","operationId":"findUsersWithBrowsePermission","parameters":[{"name":"query","in":"query","description":"A query string that is matched against user attributes, such as `displayName` and `emailAddress`, to find relevant users. The string can match the prefix of the attribute's value. For example, *query=john* matches a user with a `displayName` of *John Smith* and a user with an `emailAddress` of *johnson@example.com*. Required, unless `accountId` is specified.","schema":{"type":"string","example":"query"},"x-showInExample":"true"},{"name":"username","in":"query","description":"This parameter is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","schema":{"type":"string"}},{"name":"accountId","in":"query","description":"A query string that is matched exactly against user `accountId`. Required, unless `query` is specified.","schema":{"maxLength":128,"type":"string"}},{"name":"issueKey","in":"query","description":"The issue key for the issue. Required, unless `projectKey` is specified.","schema":{"type":"string"}},{"name":"projectKey","in":"query","description":"The project key for the project (case sensitive). Required, unless `issueKey` is specified.","schema":{"type":"string"}},{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if:\n\n * `issueKey` or `projectKey` is missing.\n * `query` or `accountId` is missing.\n * `query` and `accountId` are provided."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the issue or project is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/users":{"get":{"tags":["Users"],"summary":"Get all users default","description":"Returns a list of all (active and inactive) users.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllUsersDefault","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return.","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user doesn't have the necessary permission."},"409":{"description":"Returned if the request takes longer than 10 seconds or is interrupted."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/users/search":{"get":{"tags":["Users"],"summary":"Get all users","description":"Returns a list of all (active and inactive) users.\n\n**[Permissions](#permissions) required:** *Browse users and groups* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllUsers","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return.","schema":{"type":"integer","format":"int32","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":false},{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10ac8d82e05b22cc7d4ef5\",\"key\":\"\",\"accountId\":\"5b10ac8d82e05b22cc7d4ef5\",\"accountType\":\"atlassian\",\"name\":\"\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/AA-3.png?size=32&s=32\"},\"displayName\":\"Emma Richards\",\"active\":false}]"}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if the user doesn't have the necessary permission."},"409":{"description":"Returned if the request takes longer than 10 seconds or is interrupted."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-user"]},{}],"x-atlassian-connect-scope":"INACCESSIBLE"}},"/rest/api/3/version":{"post":{"tags":["Project versions"],"summary":"Create version","description":"Creates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project the version is added to.","operationId":"createVersion","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":{"archived":false,"releaseDate":"2010-07-06","name":"New Version 1","description":"An excellent version","projectId":10000,"released":true}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/version/10000\",\"id\":\"10000\",\"description\":\"An excellent version\",\"name\":\"New Version 1\",\"archived\":false,\"released\":true,\"releaseDate\":\"2010-07-06\",\"userReleaseDate\":\"6/Jul/2010\",\"project\":\"PXA\",\"projectId\":10000}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the project is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}":{"get":{"tags":["Project versions"],"summary":"Get version","description":"Returns a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project containing the version.","operationId":"getVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property represents the number of issues with a status other than *to do*, *in progress*, and *done*.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if the version is not found or the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Project versions"],"summary":"Update version","description":"Updates a project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"updateVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":{"archived":false,"overdue":true,"releaseDate":"2010-07-06","name":"New Version 1","self":"https://your-domain.atlassian.net/rest/api/~ver~/version/10000","description":"An excellent version","userReleaseDate":"6/Jul/2010","id":"10000","projectId":10000,"released":true}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/version/10000\",\"id\":\"10000\",\"description\":\"An excellent version\",\"name\":\"New Version 1\",\"archived\":false,\"released\":true,\"releaseDate\":\"2010-07-06\",\"userReleaseDate\":\"6/Jul/2010\",\"project\":\"PXA\",\"projectId\":10000}"}}},"400":{"description":"Returned if:\n\n * the request is invalid.\n * the user does not have the required permissions."},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if the version is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"},"delete":{"tags":["Project versions"],"summary":"Delete version","description":"Deletes a project version.\n\nDeprecated, use [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) that supports swapping version values in custom fields, in addition to the swapping for `fixVersion` and `affectedVersion` provided in this resource.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion` or `affectedVersion`. If alternatives are not provided, occurrences of `fixVersion` and `affectedVersion` that contain the deleted version are cleared.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"deleteVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}},{"name":"moveFixIssuesTo","in":"query","description":"The ID of the version to update `fixVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.","schema":{"type":"string"}},{"name":"moveAffectedIssuesTo","in":"query","description":"The ID of the version to update `affectedVersion` to when the field contains the deleted version. The replacement version must be in the same project as the version being deleted and cannot be the version being deleted.","schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the version is deleted."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect.\n * the user does not have the required permissions."},"404":{"description":"Returned if the version is not found."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}/mergeto/{moveIssuesTo}":{"put":{"tags":["Project versions"],"summary":"Merge versions","description":"Merges two project versions. The merge is completed by deleting the version specified in `id` and replacing any occurrences of its ID in `fixVersion` with the version ID specified in `moveIssuesTo`.\n\nConsider using [ Delete and replace version](#api-rest-api-3-version-id-removeAndSwap-post) instead. This resource supports swapping version values in `fixVersion`, `affectedVersion`, and custom fields.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"mergeVersions","parameters":[{"name":"id","in":"path","description":"The ID of the version to delete.","required":true,"schema":{"type":"string"}},{"name":"moveIssuesTo","in":"path","description":"The ID of the version to merge into.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the version is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect or missing.\n * the user does not have the required permissions."},"404":{"description":"Returned if the version to be deleted or the version to merge to are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}/move":{"post":{"tags":["Project versions"],"summary":"Move version","description":"Modifies the version's sequence within the project, which affects the display order of the versions in Jira.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"moveVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version to be moved.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionMoveBean"},"example":{"after":"https://your-domain.atlassian.net/rest/api/~ver~/version/10000"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Version"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/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}"}}},"400":{"description":"Returned if:\n\n * no body parameters are provided.\n * `after` and `position` are provided.\n * `position` is invalid."},"401":{"description":"Returned if:\n\n * the authentication credentials are incorrect or missing\n * the user does not have the required commissions."},"404":{"description":"Returned if the version or move after version are not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}/relatedIssueCounts":{"get":{"tags":["Project versions"],"summary":"Get version's related issues count","description":"Returns the following counts for a version:\n\n * Number of issues where the `fixVersion` is set to the version.\n * Number of issues where the `affectedVersion` is set to the version.\n * Number of issues where a version custom field is set to the version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"getVersionRelatedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionIssueCounts"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/version/10000\",\"issuesFixedCount\":23,\"issuesAffectedCount\":101,\"issueCountWithCustomFieldsShowingVersion\":54,\"customFieldUsage\":[{\"fieldName\":\"Field1\",\"customFieldId\":10000,\"issueCountWithVersionInCustomField\":2},{\"fieldName\":\"Field2\",\"customFieldId\":10010,\"issueCountWithVersionInCustomField\":3}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect."},"404":{"description":"Returned if:\n\n * the version is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/version/{id}/removeAndSwap":{"post":{"tags":["Project versions"],"summary":"Delete and replace version","description":"Deletes a project version.\n\nAlternative versions can be provided to update issues that use the deleted version in `fixVersion`, `affectedVersion`, or any version picker custom fields. If alternatives are not provided, occurrences of `fixVersion`, `affectedVersion`, and any version picker custom field, that contain the deleted version, are cleared. Any replacement version must be in the same project as the version being deleted and cannot be the version being deleted.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg) or *Administer Projects* [project permission](https://confluence.atlassian.com/x/yodKLg) for the project that contains the version.","operationId":"deleteAndReplaceVersion","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAndReplaceVersionBean"}}},"required":true},"responses":{"204":{"description":"Returned if the version is deleted.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the version to delete is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]},{}],"x-atlassian-connect-scope":"PROJECT_ADMIN"}},"/rest/api/3/version/{id}/unresolvedIssueCount":{"get":{"tags":["Project versions"],"summary":"Get version's unresolved issues count","description":"Returns counts of the issues and unresolved issues for the project version.\n\nThis operation can be accessed anonymously.\n\n**[Permissions](#permissions) required:** *Browse projects* project permission for the project that contains the version.","operationId":"getVersionUnresolvedIssues","parameters":[{"name":"id","in":"path","description":"The ID of the version.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionUnresolvedIssuesCount"},"example":"{\"self\":\"https://your-domain.atlassian.net/rest/api/3/version/10000\",\"issuesUnresolvedCount\":23,\"issuesCount\":30}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"404":{"description":"Returned if:\n\n * the version is not found.\n * the user does not have the required permissions."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]},{}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/webhook":{"get":{"tags":["Webhooks"],"summary":"Get dynamic webhooks for app","description":"Returns a [paginated](#pagination) list of the webhooks registered by the calling app.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.","operationId":"getDynamicWebhooksForApp","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":100}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWebhook"},"example":"{\"maxResults\":3,\"startAt\":0,\"total\":3,\"isLast\":true,\"values\":[{\"id\":10000,\"jqlFilter\":\"project = PRJ\",\"fieldIdsFilter\":[\"summary\",\"customfield_10029\"],\"events\":[\"jira:issue_updated\",\"jira:issue_created\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"},{\"id\":10001,\"jqlFilter\":\"issuetype = Bug\",\"events\":[\"jira:issue_created\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"},{\"id\":10002,\"jqlFilter\":\"project = PRJ\",\"issuePropertyKeysFilter\":[\"my-issue-property-key\"],\"events\":[\"issue_property_set\"],\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not an app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-atlassian-connect-scope":"READ"},"post":{"tags":["Webhooks"],"summary":"Register dynamic webhooks","description":"Registers webhooks.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.","operationId":"registerDynamicWebhooks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookRegistrationDetails"},"example":{"webhooks":[{"jqlFilter":"project = PROJ","fieldIdsFilter":["summary","customfield_10029"],"events":["jira:issue_created","jira:issue_updated"]},{"jqlFilter":"project IN (PROJ, EXP) AND status = done","events":["jira:issue_deleted"]},{"jqlFilter":"project = PROJ","issuePropertyKeysFilter":["my-issue-property-key"],"events":["issue_property_set"]}],"url":"https://your-app.example.com/webhook-received"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForRegisteredWebhooks"},"example":"{\"webhookRegistrationResult\":[{\"createdWebhookId\":1000},{\"errors\":[\"The clause watchCount is unsupported\"]},{\"createdWebhookId\":1001}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not an app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-atlassian-connect-scope":"READ"},"delete":{"tags":["Webhooks"],"summary":"Delete webhooks by ID","description":"Removes webhooks by ID. Only webhooks registered by the calling app are removed. If webhooks created by other apps are specified, they are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.","operationId":"deleteWebhookById","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForWebhookIDs"},"example":{"webhookIds":[10000,10001,10042]}}},"required":true},"responses":{"202":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the list of webhook IDs is missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not an app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/webhook/failed":{"get":{"tags":["Webhooks"],"summary":"Get failed webhooks","description":"Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.\n\nAfter 72 hours the failure may no longer be returned by this operation.\n\nThe oldest failure is returned first.\n\nThis method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.\n\n**[Permissions](#permissions) required:** Only [Connect apps](https://developer.atlassian.com/cloud/jira/platform/index/#connect-apps) can use this operation.","operationId":"getFailedWebhooks","parameters":[{"name":"maxResults","in":"query","description":"The maximum number of webhooks to return per page. If obeying the maxResults directive would result in records with the same failure time being split across pages, the directive is ignored and all records with the same failure time included on the page.","schema":{"type":"integer","format":"int32"}},{"name":"after","in":"query","description":"The time after which any webhook failure must have occurred for the record to be returned, expressed as milliseconds since the UNIX epoch.","schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedWebhooks"},"example":"{\"values\":[{\"id\":\"1\",\"body\":\"{\\\"data\\\":\\\"webhook data\\\"}\",\"url\":\"https://example.com\",\"failureTime\":1573118132000},{\"id\":\"2\",\"url\":\"https://example.com\",\"failureTime\":1573540473480}],\"maxResults\":100,\"next\":\"https://your-domain.atlassian.net/rest/api/3/webhook/failed?failedAfter=1573540473480&maxResults=100\"}"}}},"400":{"description":"400 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-experimental":true,"x-atlassian-connect-scope":"READ"}},"/rest/api/3/webhook/refresh":{"put":{"tags":["Webhooks"],"summary":"Extend webhook life","description":"Webhooks registered through the REST API expire after 30 days. Call this resource periodically to keep them alive.\n\nUnrecognized webhook IDs (those that are not found or belong to other apps) are ignored.\n\n**[Permissions](#permissions) required:** Only [Connect](https://developer.atlassian.com/cloud/jira/platform/#connect-apps) and [OAuth 2.0](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps) apps can use this operation.","operationId":"refreshWebhooks","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerForWebhookIDs"},"example":{"webhookIds":[10000,10001,10042]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhooksExpirationDate"},"example":"{\"expirationDate\":\"2019-06-01T12:42:30.000+0000\"}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not an app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work","manage:jira-webhook"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/workflow":{"get":{"tags":["Workflows"],"summary":"Get all workflows","description":"Returns all workflows in Jira or a workflow. Deprecated, use [Get workflows paginated](#api-rest-api-3-workflow-search-get).\n\nIf the `workflowName` parameter is specified, the workflow is returned as an object (not in an array). Otherwise, an array of workflow objects is returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllWorkflows","parameters":[{"name":"workflowName","in":"query","description":"The name of the workflow to be returned. Only one workflow can be specified.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeprecatedWorkflow"}},"example":"[{\"name\":\"classic workflow\",\"description\":\"A classic Jira workflow\",\"lastModifiedDate\":\"01-01-2011\",\"lastModifiedUser\":\"admin\",\"lastModifiedUserAccountId\":\"5b10a2844c20165700ede21g\",\"steps\":5,\"default\":true}]"}}},"401":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":true,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflows"],"summary":"Create workflow","description":"Creates a workflow. You can define transition rules using the shapes detailed in the following sections. If no transitional rules are specified the default system transition rules are used.\n\n#### Conditions ####\n\nConditions enable workflow rules that govern whether a transition can execute.\n\n##### Always false condition #####\n\nA condition that always fails.\n\n {\n \"type\": \"AlwaysFalseCondition\"\n }\n\n##### Block transition until approval #####\n\nA condition that blocks issue transition if there is a pending approval.\n\n {\n \"type\": \"BlockInProgressApprovalCondition\"\n }\n\n##### Compare number custom field condition #####\n\nA condition that allows transition if a comparison between a number custom field and a value is true.\n\n {\n \"type\": \"CompareNumberCFCondition\",\n \"configuration\": {\n \"comparator\": \"=\",\n \"fieldId\": \"customfield_10029\",\n \"fieldValue\": 2\n }\n }\n\n * `comparator` One of the supported comparator: `=`, `>` and `<`.\n * `fieldId` The custom numeric field ID.\n * `fieldValue` The value for comparison.\n\n##### Hide from user condition #####\n\nA condition that hides a transition from users. The transition can only be triggered from a workflow function or REST API operation.\n\n {\n \"type\": \"RemoteOnlyCondition\"\n }\n\n##### Only assignee condition #####\n\nA condition that allows only the assignee to execute a transition.\n\n {\n \"type\": \"AllowOnlyAssignee\"\n }\n\n##### Only Bamboo notifications workflow condition #####\n\nA condition that makes the transition available only to Bamboo build notifications.\n\n {\n \"type\": \"OnlyBambooNotificationsCondition\"\n }\n\n##### Only reporter condition #####\n\nA condition that allows only the reporter to execute a transition.\n\n {\n \"type\": \"AllowOnlyReporter\"\n }\n\n##### Permission condition #####\n\nA condition that allows only users with a permission to execute a transition.\n\n {\n \"type\": \"PermissionCondition\",\n \"configuration\": {\n \"permissionKey\": \"BROWSE_PROJECTS\"\n }\n }\n\n * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n\n##### Previous status condition #####\n\nA condition that allows a transition based on whether an issue has or has not transitioned through a status.\n\n {\n \"type\": \"PreviousStatusCondition\",\n \"configuration\": {\n \"ignoreLoopTransitions\": true,\n \"includeCurrentStatus\": true,\n \"mostRecentStatusOnly\": true,\n \"reverseCondition\": true,\n \"previousStatus\": {\n \"id\": \"5\"\n }\n }\n }\n\nBy default this condition allows the transition if the status, as defined by its ID in the `previousStatus` object, matches any previous issue status, unless:\n\n * `ignoreLoopTransitions` is `true`, then loop transitions (from and to the same status) are ignored.\n * `includeCurrentStatus` is `true`, then the current issue status is also checked.\n * `mostRecentStatusOnly` is `true`, then only the issue's preceding status (the one immediately before the current status) is checked.\n * `reverseCondition` is `true`, then the status must not be present.\n\n##### Separation of duties condition #####\n\nA condition that prevents a user to perform the transition, if the user has already performed a transition on the issue.\n\n {\n \"type\": \"SeparationOfDutiesCondition\",\n \"configuration\": {\n \"fromStatus\": {\n \"id\": \"5\"\n },\n \"toStatus\": {\n \"id\": \"6\"\n }\n }\n }\n\n * `fromStatus` OPTIONAL. An object containing the ID of the source status of the transition that is blocked. If omitted any transition to `toStatus` is blocked.\n * `toStatus` An object containing the ID of the target status of the transition that is blocked.\n\n##### Subtask blocking condition #####\n\nA condition that blocks transition on a parent issue if any of its subtasks are in any of one or more statuses.\n\n {\n \"type\": \"SubTaskBlockingCondition\",\n \"configuration\": {\n \"statuses\": [\n {\n \"id\": \"1\"\n },\n {\n \"id\": \"3\"\n }\n ]\n }\n }\n\n * `statuses` A list of objects containing status IDs.\n\n##### User is in any group condition #####\n\nA condition that allows users belonging to any group from a list of groups to execute a transition.\n\n {\n \"type\": \"UserInAnyGroupCondition\",\n \"configuration\": {\n \"groups\": [\n \"administrators\",\n \"atlassian-addons-admin\"\n ]\n }\n }\n\n * `groups` A list of group names.\n\n##### User is in any project role condition #####\n\nA condition that allows only users with at least one project roles from a list of project roles to execute a transition.\n\n {\n \"type\": \"InAnyProjectRoleCondition\",\n \"configuration\": {\n \"projectRoles\": [\n {\n \"id\": \"10002\"\n },\n {\n \"id\": \"10003\"\n },\n {\n \"id\": \"10012\"\n },\n {\n \"id\": \"10013\"\n }\n ]\n }\n }\n\n * `projectRoles` A list of objects containing project role IDs.\n\n##### User is in custom field condition #####\n\nA condition that allows only users listed in a given custom field to execute the transition.\n\n {\n \"type\": \"UserIsInCustomFieldCondition\",\n \"configuration\": {\n \"allowUserInField\": false,\n \"fieldId\": \"customfield_10010\"\n }\n }\n\n * `allowUserInField` If `true` only a user who is listed in `fieldId` can perform the transition, otherwise, only a user who is not listed in `fieldId` can perform the transition.\n * `fieldId` The ID of the field containing the list of users.\n\n##### User is in group condition #####\n\nA condition that allows users belonging to a group to execute a transition.\n\n {\n \"type\": \"UserInGroupCondition\",\n \"configuration\": {\n \"group\": \"administrators\",\n }\n }\n\n * `group` The name of the group.\n\n##### User is in group custom field condition #####\n\nA condition that allows users belonging to a group specified in a custom field to execute a transition.\n\n {\n \"type\": \"InGroupCFCondition\",\n \"configuration\": {\n \"fieldId\": \"customfield_10012\",\n }\n }\n\n * `fieldId` The ID of the field.\n\n##### User is in project role condition #####\n\nA condition that allows users with a project role to execute a transition.\n\n {\n \"type\": \"InProjectRoleCondition\",\n \"configuration\": {\n \"projectRole\": {\n \"id\": \"10002\"\n }\n }\n }\n\n * `projectRole` An object containing the ID of a project role.\n\n##### Value field condition #####\n\nA conditions that allows a transition to execute if the value of a field is equal to a constant value or simply set.\n\n {\n \"type\": \"ValueFieldCondition\",\n \"configuration\": {\n \"fieldId\": \"assignee\",\n \"fieldValue\": \"qm:6e1ecee6-8e64-4db6-8c85-916bb3275f51:54b56885-2bd2-4381-8239-78263442520f\",\n \"comparisonType\": \"NUMBER\",\n \"comparator\": \"=\"\n }\n }\n\n * `fieldId` The ID of a field used in the comparison.\n * `fieldValue` The expected value of the field.\n * `comparisonType` The type of the comparison. Allowed values: `STRING`, `NUMBER`, `DATE`, `DATE_WITHOUT_TIME`, or `OPTIONID`.\n * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`.\n\n**Notes:**\n\n * If you choose the comparison type `STRING`, only `=` and `!=` are valid options.\n * You may leave `fieldValue` empty when comparison type is `!=` to indicate that a value is required in the field.\n * For date fields without time format values as `yyyy-MM-dd`, and for those with time as `yyyy-MM-dd HH:mm`. For example, for July 16 2021 use `2021-07-16`, for 8:05 AM use `2021-07-16 08:05`, and for 4 PM: `2021-07-16 16:00`.\n\n#### Validators ####\n\nValidators check that any input made to the transition is valid before the transition is performed.\n\n##### Date field validator #####\n\nA validator that compares two dates.\n\n {\n \"type\": \"DateFieldValidator\",\n \"configuration\": {\n \"comparator\": \">\",\n \"date1\": \"updated\",\n \"date2\": \"created\",\n \"expression\": \"1d\",\n \"includeTime\": true\n }\n }\n\n * `comparator` One of the supported comparator: `>`, `>=`, `=`, `<=`, `<`, or `!=`.\n * `date1` The date field to validate.\n * `date2` The second date field. Required, if `expression` is not passed.\n * `expression` An expression specifying an offset. Required, if `date2` is not passed. Offsets are built with a number, with `-` as prefix for the past, and one of these time units: `d` for day, `w` for week, `m` for month, or `y` for year. For example, -2d means two days into the past and 1w means one week into the future. The `now` keyword enables a comparison with the current date.\n * `includeTime` If `true`, then the time part of the data is included for the comparison. If the field doesn't have a time part, 00:00:00 is used.\n\n##### Windows date validator #####\n\nA validator that checks that a date falls on or after a reference date and before or on the reference date plus a number of days.\n\n {\n \"type\": \"WindowsDateValidator\",\n \"configuration\": {\n \"date1\": \"customfield_10009\",\n \"date2\": \"created\",\n \"windowsDays\": 5\n }\n }\n\n * `date1` The date field to validate.\n * `date2` The reference date.\n * `windowsDays` A positive integer indicating a number of days.\n\n##### Field required validator #####\n\nA validator that checks fields are not empty. By default, if a field is not included in the current context it's ignored and not validated.\n\n {\n \"type\": \"FieldRequiredValidator\",\n \"configuration\": {\n \"ignoreContext\": true,\n \"errorMessage\": \"Hey\",\n \"fieldIds\": [\n \"versions\",\n \"customfield_10037\",\n \"customfield_10003\"\n ]\n }\n }\n\n * `ignoreContext` If `true`, then the context is ignored and all the fields are validated.\n * `errorMessage` OPTIONAL. The error message displayed when one or more fields are empty. A default error message is shown if an error message is not provided.\n * `fieldIds` The list of fields to validate.\n\n##### Field changed validator #####\n\nA validator that checks that a field value is changed. However, this validation can be ignored for users from a list of groups.\n\n {\n \"type\": \"FieldChangedValidator\",\n \"configuration\": {\n \"fieldId\": \"comment\",\n \"errorMessage\": \"Hey\",\n \"exemptedGroups\": [\n \"administrators\",\n \"atlassian-addons-admin\"\n ]\n }\n }\n\n * `fieldId` The ID of a field.\n * `errorMessage` OPTIONAL. The error message displayed if the field is not changed. A default error message is shown if the error message is not provided.\n * `exemptedGroups` OPTIONAL. The list of groups.\n\n##### Field has single value validator #####\n\nA validator that checks that a multi-select field has only one value. Optionally, the validation can ignore values copied from subtasks.\n\n {\n \"type\": \"FieldHasSingleValueValidator\",\n \"configuration\": {\n \"fieldId\": \"attachment,\n \"excludeSubtasks\": true\n }\n }\n\n * `fieldId` The ID of a field.\n * `excludeSubtasks` If `true`, then values copied from subtasks are ignored.\n\n##### Parent status validator #####\n\nA validator that checks the status of the parent issue of a subtask. Ìf the issue is not a subtask, no validation is performed.\n\n {\n \"type\": \"ParentStatusValidator\",\n \"configuration\": {\n \"parentStatuses\": [\n {\n \"id\":\"1\"\n },\n {\n \"id\":\"2\"\n }\n ]\n }\n }\n\n * `parentStatus` The list of required parent issue statuses.\n\n##### Permission validator #####\n\nA validator that checks the user has a permission.\n\n {\n \"type\": \"PermissionValidator\",\n \"configuration\": {\n \"permissionKey\": \"ADMINISTER_PROJECTS\"\n }\n }\n\n * `permissionKey` The permission required to perform the transition. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n\n##### Previous status validator #####\n\nA validator that checks if the issue has held a status.\n\n {\n \"type\": \"PreviousStatusValidator\",\n \"configuration\": {\n \"mostRecentStatusOnly\": false,\n \"previousStatus\": {\n \"id\": \"15\"\n }\n }\n }\n\n * `mostRecentStatusOnly` If `true`, then only the issue's preceding status (the one immediately before the current status) is checked.\n * `previousStatus` An object containing the ID of an issue status.\n\n##### Regular expression validator #####\n\nA validator that checks the content of a field against a regular expression.\n\n {\n \"type\": \"RegexpFieldValidator\",\n \"configuration\": {\n \"regExp\": \"[0-9]\",\n \"fieldId\": \"customfield_10029\"\n }\n }\n\n * `regExp`A regular expression.\n * `fieldId` The ID of a field.\n\n##### User permission validator #####\n\nA validator that checks if a user has a permission. Obsolete. You may encounter this validator when getting transition rules and can pass it when updating or creating rules, for example, when you want to duplicate the rules from a workflow on a new workflow.\n\n {\n \"type\": \"UserPermissionValidator\",\n \"configuration\": {\n \"permissionKey\": \"BROWSE_PROJECTS\",\n \"nullAllowed\": false,\n \"username\": \"TestUser\"\n }\n }\n\n * `permissionKey` The permission to be validated. Allowed values: [built-in](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-permission-schemes/#built-in-permissions) or app defined permissions.\n * `nullAllowed` If `true`, allows the transition when `username` is empty.\n * `username` The username to validate against the `permissionKey`.\n\n#### Post functions ####\n\nPost functions carry out any additional processing required after a Jira workflow transition is executed.\n\n##### Fire issue event function #####\n\nA post function that fires an event that is processed by the listeners.\n\n {\n \"type\": \"FireIssueEventFunction\",\n \"configuration\": {\n \"event\": {\n \"id\":\"1\"\n }\n }\n }\n\n**Note:** If provided, this post function overrides the default `FireIssueEventFunction`. Can be included once in a transition.\n\n * `event` An object containing the ID of the issue event.\n\n##### Update issue status #####\n\nA post function that sets issue status to the linked status of the destination workflow status.\n\n {\n \"type\": \"UpdateIssueStatusFunction\"\n }\n\n**Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once.\n\n##### Create comment #####\n\nA post function that adds a comment entered during the transition to an issue.\n\n {\n \"type\": \"CreateCommentFunction\"\n }\n\n**Note:** This post function is a default function in global and directed transitions. It can only be added to the initial transition and can only be added once.\n\n##### Store issue #####\n\nA post function that stores updates to an issue.\n\n {\n \"type\": \"IssueStoreFunction\"\n }\n\n**Note:** This post function can only be added to the initial transition and can only be added once.\n\n##### Assign to current user function #####\n\nA post function that assigns the issue to the current user if the current user has the `ASSIGNABLE_USER` permission.\n\n {\n \"type\": \"AssignToCurrentUserFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Assign to lead function #####\n\nA post function that assigns the issue to the project or component lead developer.\n\n {\n \"type\": \"AssignToLeadFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Assign to reporter function #####\n\nA post function that assigns the issue to the reporter.\n\n {\n \"type\": \"AssignToReporterFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Clear field value function #####\n\nA post function that clears the value from a field.\n\n {\n \"type\": \"ClearFieldValuePostFunction\",\n \"configuration\": {\n \"fieldId\": \"assignee\"\n }\n }\n\n * `fieldId` The ID of the field.\n\n##### Copy value from other field function #####\n\nA post function that copies the value of one field to another, either within an issue or from parent to subtask.\n\n {\n \"type\": \"CopyValueFromOtherFieldPostFunction\",\n \"configuration\": {\n \"sourceFieldId\": \"assignee\",\n \"destinationFieldId\": \"creator\",\n \"copyType\": \"same\"\n }\n }\n\n * `sourceFieldId` The ID of the source field.\n * `destinationFieldId` The ID of the destination field.\n * `copyType` Use `same` to copy the value from a field inside the issue, or `parent` to copy the value from the parent issue.\n\n##### Create Crucible review workflow function #####\n\nA post function that creates a Crucible review for all unreviewed code for the issue.\n\n {\n \"type\": \"CreateCrucibleReviewWorkflowFunction\"\n }\n\n**Note:** This post function can be included once in a transition.\n\n##### Set issue security level based on user's project role function #####\n\nA post function that sets the issue's security level if the current user has a project role.\n\n {\n \"type\": \"SetIssueSecurityFromRoleFunction\",\n \"configuration\": {\n \"projectRole\": {\n \"id\":\"10002\"\n },\n \"issueSecurityLevel\": {\n \"id\":\"10000\"\n }\n }\n }\n\n * `projectRole` An object containing the ID of the project role.\n * `issueSecurityLevel` OPTIONAL. The object containing the ID of the security level. If not passed, then the security level is set to `none`.\n\n##### Trigger a webhook function #####\n\nA post function that triggers a webhook.\n\n {\n \"type\": \"TriggerWebhookFunction\",\n \"configuration\": {\n \"webhook\": {\n \"id\": \"1\"\n }\n }\n }\n\n * `webhook` An object containing the ID of the webhook listener to trigger.\n\n##### Update issue custom field function #####\n\nA post function that updates the content of an issue custom field.\n\n {\n \"type\": \"UpdateIssueCustomFieldPostFunction\",\n \"configuration\": {\n \"mode\": \"append\",\n \"fieldId\": \"customfield_10003\",\n \"fieldValue\": \"yikes\"\n }\n }\n\n * `mode` Use `replace` to override the field content with `fieldValue` or `append` to add `fieldValue` to the end of the field content.\n * `fieldId` The ID of the field.\n * `fieldValue` The update content.\n\n##### Update issue field function #####\n\nA post function that updates a simple issue field.\n\n {\n \"type\": \"UpdateIssueFieldFunction\",\n \"configuration\": {\n \"fieldId\": \"assignee\",\n \"fieldValue\": \"5f0c277e70b8a90025a00776\",\n }\n }\n\n * `fieldId` The ID of the field.\n * `fieldValue` The update value.\n * If the `fieldId` is `assignee`, the `fieldValue` should be one of these values:\n \n * an account ID.\n * `automatic`.\n * a blank string, which sets the value to `unassigned`.\n * Can be used only for fields : `assignee`, `description`, `environment`, `priority`, `resolution`, `summary`, `time_original_estimate`, `time_estimate`, and `time_spent`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflow","parameters":[],"requestBody":{"description":"The workflow details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkflowDetails"},"example":{"name":"Workflow 1","description":"This is a workflow used for Stories and Tasks","statuses":[{"id":"1"},{"id":"2"},{"id":"3"}],"transitions":[{"name":"Created","from":[],"to":"1","type":"initial"},{"name":"In progress","from":["1"],"rules":{"postFunctions":[{"type":"AssignToCurrentUserFunction"}],"conditions":{"conditions":[{"type":"RemoteOnlyCondition"},{"configuration":{"groups":["developers","qa-testers"]},"type":"UserInAnyGroupCondition"}],"operator":"AND"}},"to":"2","type":"directed"},{"name":"Completed","rules":{"postFunctions":[{"configuration":{"fieldId":"assignee"},"type":"ClearFieldValuePostFunction"}],"validators":[{"configuration":{"parentStatuses":[{"id":"3"}]},"type":"ParentStatusValidator"},{"configuration":{"permissionKey":"ADMINISTER_PROJECTS"},"type":"PermissionValidator"}]},"to":"3","type":"global"}]}}},"required":true},"responses":{"201":{"description":"Returned if the workflow is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowIDs"},"example":"{\"name\":\"Workflow 1\",\"entityId\":\"c1a269da-6cf7-4108-bd69-e8ac57281a0b\"}"}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"The request body parameters are missing.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access the workflow configuration.\"],\"errors\":{}}"}}},"404":{"description":"Returned if one or more statuses is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"Status with ID 10000 was not found\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflow/rule/config":{"get":{"tags":["Workflow transition rules"],"summary":"Get workflow transition rule configurations","description":"Returns a [paginated](#pagination) list of workflows with transition rules. The workflows can be filtered to return only those containing workflow transition rules:\n\n * of one or more transition rule types, such as [workflow post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/).\n * matching one or more transition rule keys.\n\nOnly workflows containing transition rules created by the calling Connect app are returned. However, if a workflow is returned all transition rules that match the filters are returned for that workflow.\n\nDue to server-side optimizations, workflows with an empty list of rules may be returned; these workflows can be ignored.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"getWorkflowTransitionRuleConfigurations","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"maximum":50,"type":"integer","format":"int32","default":10}},{"name":"types","in":"query","description":"The types of the transition rules to return.","required":true,"schema":{"uniqueItems":true,"type":"array","items":{"type":"string","enum":["postfunction","condition","validator"]}}},{"name":"keys","in":"query","description":"The transition rule class keys, as defined in the Connect app descriptor, of the transition rules to return.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"workflowNames","in":"query","description":"EXPERIMENTAL: The list of workflow names to filter by.","schema":{"maxLength":50,"uniqueItems":true,"type":"array","items":{"maxLength":50,"type":"string"}}},{"name":"withTags","in":"query","description":"EXPERIMENTAL: The list of `tags` to filter by.","schema":{"maxLength":20,"uniqueItems":true,"type":"array","items":{"maxLength":20,"type":"string"}}},{"name":"draft","in":"query","description":"EXPERIMENTAL: Whether draft or published workflows are returned. If not provided, both workflow types are returned.","schema":{"type":"boolean"}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts `transition`, which, for each rule, returns information about the transition the rule is assigned to.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflowTransitionRules"},"example":"{\"maxResults\":10,\"startAt\":0,\"total\":1,\"isLast\":true,\"values\":[{\"workflowId\":{\"name\":\"My Workflow name\",\"draft\":false},\"postFunctions\":[{\"id\":\"b4d6cbdc-59f5-11e9-8647-d663bd873d93\",\"key\":\"postfunction-key\",\"configuration\":{\"value\":\"{ \\\"color\\\": \\\"red\\\" }\",\"disabled\":false},\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"conditions\":[{\"id\":\"d663bd873d93-59f5-11e9-8647-b4d6cbdc\",\"key\":\"condition-key\",\"configuration\":{\"value\":\"{ \\\"size\\\": \\\"medium\\\" }\",\"disabled\":false},\"transition\":{\"id\":1,\"name\":\"Open\"}}],\"validators\":[{\"id\":\"11e9-59f5-b4d6cbdc-8647-d663bd873d93\",\"key\":\"validator-key\",\"configuration\":{\"value\":\"\\\"{ \\\\\\\"shape\\\\\\\": \\\\\\\"square\\\\\\\" }\\\"\",\"disabled\":false},\"transition\":{\"id\":1,\"name\":\"Open\"}}]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"404":{"description":"Returned if the any transition rule type is not supported."}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"READ"},"put":{"tags":["Workflow transition rules"],"summary":"Update workflow transition rule configurations","description":"Updates configuration of workflow transition rules. The following rule types are supported:\n\n * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)\n * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)\n * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)\n\nOnly rules created by the calling Connect app can be updated.\n\nTo assist with app migration, this operation can be used to:\n\n * Disable a rule.\n * Add a `tag`. Use this to filter rules in the [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get).\n\nRules are enabled if the `disabled` parameter is not provided.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"updateWorkflowTransitionRuleConfigurations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdate"},"example":{"workflows":[{"postFunctions":[{"configuration":{"disabled":false,"value":"{ \"color\": \"red\" }"},"id":"b4d6cbdc-59f5-11e9-8647-d663bd873d93"}],"validators":[{"configuration":{"disabled":false,"value":"{ \"shape\": \"square\" }"},"id":"11e9-59f5-b4d6cbdc-8647-d663bd873d93"}],"conditions":[{"configuration":{"disabled":false,"value":"{ \"size\": \"medium\" }"},"id":"d663bd873d93-59f5-11e9-8647-b4d6cbdc"}],"workflowId":{"draft":false,"name":"My Workflow name"}}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrors"},"example":"{\"updateResults\":[{\"workflowId\":{\"name\":\"Workflow with one rule not updated\",\"draft\":false},\"ruleUpdateErrors\":{\"example-rule-id\":[\"The rule with this id does not exist: example-rule-id\"]},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Workflow with all rules successfully updated\",\"draft\":true},\"ruleUpdateErrors\":{},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Non-existing workflow\",\"draft\":false},\"ruleUpdateErrors\":{},\"updateErrors\":[\"Workflow not found: WorkflowIdBean{name=Non-existing workflow, draft=false}\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflow/rule/config/delete":{"put":{"tags":["Workflow transition rules"],"summary":"Delete workflow transition rule configurations","description":"Deletes workflow transition rules from one or more workflows. These rule types are supported:\n\n * [post functions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-post-function/)\n * [conditions](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-condition/)\n * [validators](https://developer.atlassian.com/cloud/jira/platform/modules/workflow-validator/)\n\nOnly rules created by the calling Connect app can be deleted.\n\n**[Permissions](#permissions) required:** Only Connect apps can use this operation.","operationId":"deleteWorkflowTransitionRuleConfigurations","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowsWithTransitionRulesDetails"},"example":{"workflows":[{"workflowRuleIds":["b4d6cbdc-59f5-11e9-8647-d663bd873d93","d663bd873d93-59f5-11e9-8647-b4d6cbdc","11e9-59f5-b4d6cbdc-8647-d663bd873d93"],"workflowId":{"draft":false,"name":"Internal support workflow"}}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrors"},"example":"{\"updateResults\":[{\"workflowId\":{\"name\":\"Workflow with one rule not updated\",\"draft\":false},\"ruleUpdateErrors\":{\"example-rule-id\":[\"The rule with this id does not exist: example-rule-id\"]},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Workflow with all rules successfully updated\",\"draft\":true},\"ruleUpdateErrors\":{},\"updateErrors\":[]},{\"workflowId\":{\"name\":\"Non-existing workflow\",\"draft\":false},\"ruleUpdateErrors\":{},\"updateErrors\":[\"Workflow not found: WorkflowIdBean{name=Non-existing workflow, draft=false}\"]}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errors\":{},\"errorMessages\":[\"Jira Administration permission is required to access workflow configuration.\"],\"httpStatusCode\":{\"present\":true}}"}}},"403":{"description":"Returned if the caller is not a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"}}}}},"deprecated":false,"security":[{"basicAuth":[]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflow/search":{"get":{"tags":["Workflows"],"summary":"Get workflows paginated","description":"Returns a [paginated](#pagination) list of published classic workflows. When workflow names are specified, details of those workflows are returned. Otherwise, all published classic workflows are returned.\n\nThis operation does not return next-gen workflows.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowsPaginated","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}},{"name":"workflowName","in":"query","description":"The name of a workflow to return. To include multiple workflows, provide an ampersand-separated list. For example, `workflowName=name1&workflowName=name2`.","schema":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `transitions` For each workflow, returns information about the transitions inside the workflow.\n * `transitions.rules` For each workflow transition, returns information about its rules. Transitions are included automatically if this expand is requested.\n * `statuses` For each workflow, returns information about the statuses inside the workflow.\n * `statuses.properties` For each workflow status, returns information about its properties. Statuses are included automatically if this expand is requested.\n * `default` For each workflow, returns information about whether this is the default workflow.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflow"},"example":"{\"maxResults\":1,\"startAt\":0,\"total\":5,\"isLast\":false,\"values\":[{\"id\":{\"name\":\"SCRUM Workflow\",\"entityId\":\"5ed312c5-f7a6-4a78-a1f6-8ff7f307d063\"},\"description\":\"A workflow used for Software projects in the SCRUM methodology\",\"transitions\":[{\"id\":\"5\",\"name\":\"In Progress\",\"description\":\"Start working on the issue.\",\"from\":[\"10\",\"13\"],\"to\":\"14\",\"type\":\"directed\",\"screen\":{\"id\":\"10000\"},\"rules\":{\"conditions\":[{\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"WORK_ON_ISSUES\"}},{\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"RESOLVE_ISSUES\"}}],\"conditionsTree\":{\"nodeType\":\"compound\",\"operator\":\"AND\",\"conditions\":[{\"nodeType\":\"simple\",\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"WORK_ON_ISSUES\"}},{\"nodeType\":\"simple\",\"type\":\"PermissionCondition\",\"configuration\":{\"permissionKey\":\"RESOLVE_ISSUES\"}}]},\"validators\":[{\"type\":\"FieldRequiredValidator\",\"configuration\":{\"ignoreContext\":true,\"errorMessage\":\"A custom error message\",\"fields\":[\"description\",\"assignee\"]}}],\"postFunctions\":[{\"type\":\"UpdateIssueStatusFunction\"},{\"type\":\"GenerateChangeHistoryFunction\"},{\"type\":\"FireIssueEventFunction\"}]}}],\"statuses\":[{\"id\":\"3\",\"name\":\"In Progress\",\"properties\":{\"jira.issue.editable\":\"false\",\"issueEditable\":false}}],\"isDefault\":false}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorCollection"},"example":"{\"errorMessages\":[\"Only Jira administrators can access workflows.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-project"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflow/transitions/{transitionId}/properties":{"get":{"tags":["Workflow transition properties"],"summary":"Get workflow transition properties","description":"Returns the properties on a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowTransitionProperties","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira administration console. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"includeReservedKeys","in":"query","description":"Some properties with keys that have the *jira.* prefix are reserved, which means they are not editable. To include these properties in the results, set this parameter to *true*.","schema":{"type":"boolean","default":false}},{"name":"key","in":"query","description":"The key of the property being returned, also known as the name of the property. If this parameter is not specified, all properties on the transition are returned.","schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to *live* for active and inactive workflows, or *draft* for draft workflows.","schema":{"type":"string","enum":["live","draft"],"default":"live"}}],"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"[{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"},{\"key\":\"jira.permission\",\"value\":\"createissue\",\"id\":\"jira.permission\"}]"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have admin permission"},"404":{"description":"Returned if the workflow transition or property is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow transition properties"],"summary":"Update workflow transition property","description":"Updates a workflow transition by changing the property value. Trying to update a property that does not exist results in a new property being added to the transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The key of the property being updated, also known as the name of the property. Set this to the same value as the `key` defined in the request body.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"]}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":{"value":"createissue"}}},"required":true},"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"}"}}},"304":{"description":"Returned if no changes were made by the request. For example, attempting to update a property with its current value."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflow transition properties"],"summary":"Create workflow transition property","description":"Adds a property to a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The key of the property being added, also known as the name of the property. Set this to the same value as the `key` defined in the request body.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to *live* for inactive workflows or *draft* for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"],"default":"live"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":{"value":"createissue"}}},"required":true},"responses":{"200":{"description":"200 response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTransitionProperty"},"example":"{\"key\":\"jira.i18n.title\",\"value\":\"some.title\",\"id\":\"jira.i18n.title\"}"}}},"400":{"description":"Returned if a workflow property with the same key is present on the transition."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow transition properties"],"summary":"Delete workflow transition property","description":"Deletes a property from a workflow transition. Transition properties are used to change the behavior of a transition. For more information, see [Transition properties](https://confluence.atlassian.com/x/zIhKLg#Advancedworkflowconfiguration-transitionproperties) and [Workflow properties](https://confluence.atlassian.com/x/JYlKLg).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowTransitionProperty","parameters":[{"name":"transitionId","in":"path","description":"The ID of the transition. To get the ID, view the workflow in text mode in the Jira admin settings. The ID is shown next to the transition.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"key","in":"query","description":"The name of the transition property to delete, also known as the name of the property.","required":true,"schema":{"type":"string"}},{"name":"workflowName","in":"query","description":"The name of the workflow that the transition belongs to.","required":true,"schema":{"type":"string"}},{"name":"workflowMode","in":"query","description":"The workflow status. Set to `live` for inactive workflows or `draft` for draft workflows. Active workflows cannot be edited.","schema":{"type":"string","enum":["live","draft"]}}],"responses":{"200":{"description":"200 response"},"304":{"description":"Returned if no changes were made by the request. For example, trying to delete a property that cannot be found."},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow transition is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflow/{entityId}":{"delete":{"tags":["Workflows"],"summary":"Delete inactive workflow","description":"Deletes a workflow.\n\nThe workflow cannot be deleted if it is:\n\n * an active workflow.\n * a system workflow.\n * associated with any workflow scheme.\n * associated with any draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteInactiveWorkflow","parameters":[{"name":"entityId","in":"path","description":"The entity ID of the workflow.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the workflow is deleted."},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Cannot delete an active workflow.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access the workflow configuration.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the workflow is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The workflow was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme":{"get":{"tags":["Workflow schemes"],"summary":"Get all workflow schemes","description":"Returns a [paginated](#pagination) list of all workflow schemes, not including draft workflow schemes.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getAllWorkflowSchemes","parameters":[{"name":"startAt","in":"query","description":"The index of the first item to return in a page of results (page offset).","schema":{"type":"integer","format":"int64","default":0}},{"name":"maxResults","in":"query","description":"The maximum number of items to return per page.","schema":{"type":"integer","format":"int32","default":50}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageBeanWorkflowScheme"},"example":"{\"maxResults\":50,\"startAt\":0,\"total\":2,\"isLast\":true,\"values\":[{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"},{\"id\":101011,\"name\":\"Another example workflow scheme\",\"description\":\"The description of the another example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101011\"}]}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"post":{"tags":["Workflow schemes"],"summary":"Create workflow scheme","description":"Creates a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowScheme","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow","10001":"builds workflow"}}}},"required":true},"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/project":{"get":{"tags":["Workflow scheme project associations"],"summary":"Get workflow scheme project associations","description":"Returns a list of the workflow schemes associated with a list of projects. Each returned workflow scheme includes a list of the requested projects associated with it. Any next-gen or non-existent projects in the request are ignored and no errors are returned.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeProjectAssociations","parameters":[{"name":"projectId","in":"query","description":"The ID of a project to return the workflow schemes for. To include multiple projects, provide an ampersand-Jim: oneseparated list. For example, `projectId=10000&projectId=10001`.","required":true,"schema":{"maxItems":100,"minItems":1,"uniqueItems":true,"type":"array","items":{"type":"integer","format":"int64","example":10010}}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContainerOfWorkflowSchemeAssociations"},"example":"{\"values\":[{\"projectIds\":[\"10010\",\"10020\"],\"workflowScheme\":{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}}]}"}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[],\"errors\":{\"projectId\":\"The ID of a project has to be provided.\"}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access workflow scheme associations.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme project associations"],"summary":"Assign workflow scheme to project","description":"Assigns a workflow scheme to a project. This operation is performed only when there are no issues in the project.\n\nWorkflow schemes can only be assigned to classic projects.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"assignSchemeToProject","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowSchemeProjectAssociation"},"example":{"workflowSchemeId":"10032","projectId":"10001"}}},"required":true},"responses":{"204":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is not valid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only classic projects can have workflow schemes assigned.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the required permissions.","content":{"application/json":{"example":"{\"errorMessages\":[\"Only Jira administrators can access workflow scheme associations.\"],\"errors\":{}}"}}},"404":{"description":"Returned if the workflow scheme or the project are not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"The workflow scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}":{"get":{"tags":["Workflow schemes"],"summary":"Get workflow scheme","description":"Returns a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the workflow scheme's draft rather than scheme itself, if set to true. If the workflow scheme does not have a draft, then the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Update workflow scheme","description":"Updates a workflow scheme, including the name, default workflow, issue type to project mappings, and more. If the workflow scheme is active (that is, being used by at least one project), then a draft workflow scheme is created or updated instead, provided that `updateDraftIfNeeded` is set to `true`.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","updateDraftIfNeeded":false,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete workflow scheme","description":"Deletes a workflow scheme. Note that a workflow scheme cannot be deleted if it is active (that is, being used by at least one project).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme. Find this ID by editing the desired workflow scheme in Jira. The ID is shown in the URL as `schemeId`. For example, *schemeId=10301*.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the scheme is active."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/createdraft":{"post":{"tags":["Workflow scheme drafts"],"summary":"Create draft workflow scheme","description":"Create a draft workflow scheme from an active workflow scheme, by copying the active workflow scheme. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"createWorkflowSchemeDraftFromParent","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft is created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"201":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/default":{"get":{"tags":["Workflow schemes"],"summary":"Get default workflow","description":"Returns the default workflow for a workflow scheme. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"returnDraftIfExists","in":"query","description":"Set to `true` to return the default workflow for the workflow scheme's draft rather than scheme itself. If the workflow scheme does not have a draft, then the default workflow for the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":"{\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Update default workflow","description":"Sets the default workflow for a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request object and a draft workflow scheme is created or updated with the new default workflow. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The new default workflow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":{"workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete default workflow","description":"Resets the default workflow for a workflow scheme. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the default workflow reset. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow scheme cannot be edited and `updateDraftIfNeeded` is not `true`."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get draft workflow scheme","description":"Returns the draft workflow scheme for an active workflow scheme. Draft workflow schemes allow changes to be made to the active workflow schemes: When an active workflow scheme is updated, a draft copy is created. The draft is modified, then the changes in the draft are copied back to the active workflow scheme. See [Configuring workflow schemes](https://confluence.atlassian.com/x/tohKLg) for more information. \nNote that:\n\n * Only active workflow schemes can have draft workflow schemes.\n * An active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Update draft workflow scheme","description":"Updates a draft workflow scheme. If a draft workflow scheme does not exist for the active workflow scheme, then a draft is created. Note that an active workflow scheme can only have one draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":{"defaultWorkflow":"jira","updateDraftIfNeeded":false,"name":"Example workflow scheme","description":"The description of the example workflow scheme.","issueTypeMappings":{"10000":"scrum workflow"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete draft workflow scheme","description":"Deletes a draft workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeDraft","parameters":[{"name":"id","in":"path","description":"The ID of the active workflow scheme that the draft was created from.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.."},"404":{"description":"Returned if:\n\n * the original active workflow scheme is not found.\n * the original active workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft/default":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get draft default workflow","description":"Returns the default workflow for a workflow scheme's draft. The default workflow is the workflow that is assigned any issue types that have not been mapped to any other workflow. The default workflow has *All Unassigned Issue Types* listed in its issue types for the workflow scheme in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":"{\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission.."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Update draft default workflow","description":"Sets the default workflow for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"description":"The object for the new default workflow.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultWorkflow"},"example":{"workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete draft default workflow","description":"Resets the default workflow for a workflow scheme's draft. That is, the default workflow is set to Jira's system workflow (the *jira* workflow).\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDraftDefaultWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft/issuetype/{issueType}":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get workflow for issue type in draft workflow scheme","description":"Returns the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":"{\"issueType\":\"10000\",\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Set workflow for issue type in draft workflow scheme","description":"Sets the workflow for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type-project mapping.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":{"issueType":"10000","workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete workflow for issue type in draft workflow scheme","description":"Deletes the issue type-workflow mapping for an issue type in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeDraftIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":17218781,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"scrum workflow\",\"issueTypeMappings\":{\"10000\":\"jira\",\"10001\":\"jira\"},\"originalDefaultWorkflow\":\"jira\",\"originalIssueTypeMappings\":{\"10001\":\"builds workflow\"},\"draft\":true,\"lastModifiedUser\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"key\":\"\",\"accountId\":\"5b10a2844c20165700ede21g\",\"accountType\":\"atlassian\",\"name\":\"\",\"emailAddress\":\"mia@example.com\",\"avatarUrls\":{\"48x48\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=48&s=48\",\"24x24\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=24&s=24\",\"16x16\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=16&s=16\",\"32x32\":\"https://avatar-management--avatars.server-location.prod.public.atl-paas.net/initials/MK-5.png?size=32&s=32\"},\"displayName\":\"Mia Krystof\",\"active\":true,\"timeZone\":\"Australia/Sydney\",\"groups\":{\"size\":3,\"items\":[]},\"applicationRoles\":{\"size\":1,\"items\":[]}},\"lastModified\":\"Today 6:38 PM\",\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/17218781/draft\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft/publish":{"post":{"tags":["Workflow scheme drafts"],"summary":"Publish draft workflow scheme","description":"Publishes a draft workflow scheme.\n\nWhere the draft workflow includes new workflow statuses for an issue type, mappings are provided to update issues with the original workflow status to the new workflow status.\n\nThis operation is [asynchronous](#async). Follow the `location` link in the response to determine the status of the task and use [Get task](#api-rest-api-3-task-taskId-get) to obtain updates.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"publishDraftWorkflowScheme","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"validateOnly","in":"query","description":"Whether the request only performs a validation.","schema":{"type":"boolean","default":false}}],"requestBody":{"description":"Details of the status mappings.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishDraftWorkflowScheme"},"example":{"statusMappings":[{"issueTypeId":"10001","statusId":"3","newStatusId":"1"},{"issueTypeId":"10001","statusId":"2","newStatusId":"2"},{"issueTypeId":"10002","statusId":"10005","newStatusId":"10003"},{"issueTypeId":"10003","statusId":"4","newStatusId":"1"}]}}},"required":true},"responses":{"204":{"description":"Returned if the request is only for validation and is successful."},"303":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskProgressBeanObject"}}}},"400":{"description":"Returned if the request is invalid.","content":{"application/json":{"example":"{\"errorMessages\":[\"Issue type with ID '2','4' is missing the mappings required for statuses with IDs 10004.\"],\"errors\":{}}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of these are true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * A new status in the draft workflow scheme is not found.","content":{"application/json":{"example":"{\"errorMessages\":[\"Draft workflow scheme was not found.\"],\"errors\":{}}"}}}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-experimental":true,"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/draft/workflow":{"get":{"tags":["Workflow scheme drafts"],"summary":"Get issue types for workflows in draft workflow scheme","description":"Returns the workflow-issue type mappings for a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getDraftWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":"{\"workflow\":\"jira\",\"issueTypes\":[\"10000\",\"10001\"],\"defaultMapping\":false}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if either the workflow scheme or workflow (if specified) is not found. session."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow scheme drafts"],"summary":"Set issue types for workflow in workflow scheme","description":"Sets the issue types for a workflow in a workflow scheme's draft. The workflow can also be set as the default workflow for the draft workflow scheme. Unmapped issues types are mapped to the default workflow.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateDraftWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":{"workflow":"jira","updateDraftIfNeeded":true,"issueTypes":["10000"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow scheme drafts"],"summary":"Delete issue types for workflow in draft workflow scheme","description":"Deletes the workflow-issue type mapping for a workflow in a workflow scheme's draft.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteDraftWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme that the draft belongs to.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow scheme does not have a draft.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/issuetype/{issueType}":{"get":{"tags":["Workflow schemes"],"summary":"Get workflow for issue type in workflow scheme","description":"Returns the issue type-workflow mapping for an issue type in a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":"{\"issueType\":\"10000\",\"workflow\":\"jira\"}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Set workflow for issue type in workflow scheme","description":"Sets the workflow for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new issue type-workflow mapping. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"setWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"The issue type-project mapping.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypeWorkflowMapping"},"example":{"issueType":"10000","workflow":"jira","updateDraftIfNeeded":false}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete workflow for issue type in workflow scheme","description":"Deletes the issue type-workflow mapping for an issue type in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the issue type-workflow mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowSchemeIssueType","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"issueType","in":"path","description":"The ID of the issue type.","required":true,"schema":{"type":"string"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is false."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if the workflow scheme or issue type is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/workflowscheme/{id}/workflow":{"get":{"tags":["Workflow schemes"],"summary":"Get issue types for workflows in workflow scheme","description":"Returns the workflow-issue type mappings for a workflow scheme.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"getWorkflow","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of a workflow in the scheme. Limits the results to the workflow-issue type mapping for the specified workflow.","schema":{"type":"string"}},{"name":"returnDraftIfExists","in":"query","description":"Returns the mapping from the workflow scheme's draft rather than the workflow scheme, if set to true. If no draft exists, the mapping from the workflow scheme is returned.","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":"{\"workflow\":\"jira\",\"issueTypes\":[\"10000\",\"10001\"],\"defaultMapping\":false}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if either the workflow scheme or workflow is not found."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"put":{"tags":["Workflow schemes"],"summary":"Set issue types for workflow in workflow scheme","description":"Sets the issue types for a workflow in a workflow scheme. The workflow can also be set as the default workflow for the workflow scheme. Unmapped issues types are mapped to the default workflow.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` in the request body and a draft workflow scheme is created or updated with the new workflow-issue types mappings. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"updateWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueTypesWorkflowMapping"},"example":{"workflow":"jira","updateDraftIfNeeded":true,"issueTypes":["10000"]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowScheme"},"example":"{\"id\":101010,\"name\":\"Example workflow scheme\",\"description\":\"The description of the example workflow scheme.\",\"defaultWorkflow\":\"jira\",\"issueTypeMappings\":{\"10000\":\"scrum workflow\",\"10001\":\"builds workflow\"},\"draft\":false,\"self\":\"https://your-domain.atlassian.net/rest/api/3/workflowscheme/101010\"}"}}},"400":{"description":"Returned if the request is invalid."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"},"delete":{"tags":["Workflow schemes"],"summary":"Delete issue types for workflow in workflow scheme","description":"Deletes the workflow-issue type mapping for a workflow in a workflow scheme.\n\nNote that active workflow schemes cannot be edited. If the workflow scheme is active, set `updateDraftIfNeeded` to `true` and a draft workflow scheme is created or updated with the workflow-issue type mapping deleted. The draft workflow scheme can be published in Jira.\n\n**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).","operationId":"deleteWorkflowMapping","parameters":[{"name":"id","in":"path","description":"The ID of the workflow scheme.","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"workflowName","in":"query","description":"The name of the workflow.","required":true,"schema":{"type":"string"}},{"name":"updateDraftIfNeeded","in":"query","description":"Set to true to create or update the draft of a workflow scheme and delete the mapping from the draft, when the workflow scheme cannot be edited. Defaults to `false`.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the workflow cannot be edited and `updateDraftIfNeeded` is not true."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."},"403":{"description":"Returned if the user does not have the necessary permission."},"404":{"description":"Returned if any of the following is true:\n\n * The workflow scheme is not found.\n * The workflow is not found.\n * The workflow is not specified."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["manage:jira-configuration"]}],"x-atlassian-connect-scope":"ADMIN"}},"/rest/api/3/worklog/deleted":{"get":{"tags":["Issue worklogs"],"summary":"Get IDs of deleted worklogs","description":"Returns a list of IDs and delete timestamps for worklogs deleted after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs deleted during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira.","operationId":"getIdsOfWorklogsDeletedSince","parameters":[{"name":"since","in":"query","description":"The date and time, as a UNIX timestamp in milliseconds, after which deleted worklogs are returned.","schema":{"type":"integer","format":"int64","default":0}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangedWorklogs"},"example":"{\"values\":[{\"worklogId\":103,\"updatedTime\":1438013671562,\"properties\":[]},{\"worklogId\":104,\"updatedTime\":1438013672165,\"properties\":[]},{\"worklogId\":105,\"updatedTime\":1438013693136,\"properties\":[]}],\"since\":1438013671562,\"until\":1438013693136,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013671562\",\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/deleted?since=1438013693136\",\"lastPage\":true}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/worklog/list":{"post":{"tags":["Issue worklogs"],"summary":"Get worklogs","description":"Returns worklog details for a list of worklog IDs.\n\nThe returned list of worklogs is limited to 1000 items.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.","operationId":"getWorklogsForIds","parameters":[{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.","schema":{"type":"string","default":""}}],"requestBody":{"description":"A JSON object containing a list of worklog IDs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorklogIdsRequestBean"},"example":{"ids":[1,2,5,10]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Worklog"}},"example":"[{\"self\":\"https://your-domain.atlassian.net/rest/api/3/issue/10010/worklog/10000\",\"author\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"updateAuthor\":{\"self\":\"https://your-domain.atlassian.net/rest/api/3/user?accountId=5b10a2844c20165700ede21g\",\"accountId\":\"5b10a2844c20165700ede21g\",\"displayName\":\"Mia Krystof\",\"active\":false},\"comment\":{\"type\":\"doc\",\"version\":1,\"content\":[{\"type\":\"paragraph\",\"content\":[{\"type\":\"text\",\"text\":\"I did some work here.\"}]}]},\"updated\":\"2021-09-03T02:19:40.904+0000\",\"visibility\":{\"type\":\"group\",\"value\":\"jira-developers\"},\"started\":\"2021-09-03T02:19:40.904+0000\",\"timeSpent\":\"3h 20m\",\"timeSpentSeconds\":12000,\"id\":\"100028\",\"issueId\":\"10002\"}]"}}},"400":{"description":"Returned if the request contains more than 1000 worklog IDs or is empty."},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/api/3/worklog/updated":{"get":{"tags":["Issue worklogs"],"summary":"Get IDs of updated worklogs","description":"Returns a list of IDs and update timestamps for worklogs updated after a date and time.\n\nThis resource is paginated, with a limit of 1000 worklogs per page. Each page lists worklogs from oldest to youngest. If the number of items in the date range exceeds 1000, `until` indicates the timestamp of the youngest item on the page. Also, `nextPage` provides the URL for the next page of worklogs. The `lastPage` parameter is set to true on the last page of worklogs.\n\nThis resource does not return worklogs updated during the minute preceding the request.\n\n**[Permissions](#permissions) required:** Permission to access Jira, however, worklogs are only returned where either of the following is true:\n\n * the worklog is set as *Viewable by All Users*.\n * the user is a member of a project role or group with permission to view the worklog.","operationId":"getIdsOfWorklogsModifiedSince","parameters":[{"name":"since","in":"query","description":"The date and time, as a UNIX timestamp in milliseconds, after which updated worklogs are returned.","schema":{"type":"integer","format":"int64","default":0}},{"name":"expand","in":"query","description":"Use [expand](#expansion) to include additional information about worklogs in the response. This parameter accepts `properties` that returns the properties of each worklog.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangedWorklogs"},"example":"{\"values\":[{\"worklogId\":103,\"updatedTime\":1438013671562,\"properties\":[]},{\"worklogId\":104,\"updatedTime\":1438013672165,\"properties\":[]},{\"worklogId\":105,\"updatedTime\":1438013693136,\"properties\":[]}],\"since\":1438013671562,\"until\":1438013693136,\"self\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013671562\",\"nextPage\":\"https://your-domain.atlassian.net/api/~ver~/worklog/updated?since=1438013693136\",\"lastPage\":true}"}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing."}},"deprecated":false,"security":[{"basicAuth":[]},{"OAuth2":["read:jira-work"]}],"x-atlassian-connect-scope":"READ"}},"/rest/atlassian-connect/1/addons/{addonKey}/properties":{"get":{"tags":["App properties"],"summary":"Get app properties","description":"Gets all the properties of an app.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.getAddonProperties_get","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyKeys"},"example":{"keys":[{"self":"https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey","key":"propertyKey"}]}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/addons/{addonKey}/properties/{propertyKey}":{"get":{"tags":["App properties"],"summary":"Get app property","description":"Returns the key and value of an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.getAddonProperty_get","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityProperty"},"example":{"self":"https://your-domain.atlassian.net/jira/rest/atlassian-connect/1/addon/example.app.key/properties/propertyKey","key":"propertyKey","value":"propertyValue"}}}},"400":{"description":"Returned if the property key is longer than 127 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}},"404":{"description":"Returned if the property is not found or doesn't belong to the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property with key not found.","statusCode":404}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"},"put":{"tags":["App properties"],"summary":"Set app property","description":"Sets the value of an app's property. Use this resource to store custom data for your app.\n\nThe value of the request body must be a [valid](http://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.putAddonProperty_put","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"description":"Returned if the property is updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property updated.","statusCode":200}}}},"201":{"description":"Returned is the property is created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property created.","statusCode":201}}}},"400":{"description":"Returned if:\n * the property key is longer than 127 characters.\n * the value is not valid JSON.\n * the value is longer than 32768 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["App properties"],"summary":"Delete app property","description":"Deletes an app's property.\n\n**[Permissions](#permissions) required:** Only a Connect app whose key matches `addonKey` can make this request.","operationId":"AddonPropertiesResource.deleteAddonProperty_delete","parameters":[{"name":"addonKey","in":"path","description":"The key of the app, as defined in its descriptor.","required":true,"schema":{"type":"string"}},{"name":"propertyKey","in":"path","description":"The key of the property.","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the property key is longer than 127 characters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"The property key cannot be longer than 127 characters.","statusCode":400}}}},"401":{"description":"Returned if the authentication credentials are incorrect or missing.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Access to this resource must be authenticated as an app.","statusCode":401}}}},"404":{"description":"Returned if the property is not found or doesn't belong to the app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationMessage"},"example":{"message":"Property with key not found.","statusCode":404}}}}},"deprecated":false,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/app/module/dynamic":{"get":{"tags":["Dynamic modules"],"summary":"Get modules","description":"Returns all modules registered dynamically by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.getModules_get","parameters":[],"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectModules"}}}},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"},"post":{"tags":["Dynamic modules"],"summary":"Register modules","description":"Registers a list of modules.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.registerModules_post","parameters":[],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectModules"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if:\n* any of the provided modules is invalid. For example, required properties are missing.\n* any of the modules conflict with registered dynamic modules or modules defined in the app descriptor. For example, there are duplicate keys.\n\nDetails of the issues encountered are included in the error message.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"Installation failed. The app com.example.app.key has duplicate module keys: [module-key]. Please contact the app vendor."}}}},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"},"delete":{"tags":["Dynamic modules"],"summary":"Remove modules","description":"Remove all or a list of modules registered by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"DynamicModulesResource.removeModules_delete","parameters":[{"name":"moduleKey","in":"query","description":"The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter.\nFor example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`.\nNonexistent keys are ignored.","required":false,"schema":{"type":"array","items":{"type":"string"}}}],"responses":{"204":{"description":"Returned if the request is successful."},"401":{"description":"Returned if the call is not from a Connect app.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"},"example":{"message":"The request is not from a Connect app."}}}}},"deprecated":false,"x-experimental":true,"x-atlassian-connect-scope":"NONE"}},"/rest/atlassian-connect/1/migration/field":{"put":{"tags":["App migration"],"summary":"Bulk update custom field value","description":"Updates the value of a custom field added by Connect apps on one or more issues.\nThe values of up to 200 custom fields can be updated.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.","operationId":"AppIssueFieldValueUpdateResource.updateIssueFields_put","parameters":[{"name":"Atlassian-Transfer-Id","in":"header","description":"The ID of the transfer.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Atlassian-Account-Id","in":"header","description":"The Atlassian account ID of the impersonated user. This user must be a member of the site admin group.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectCustomFieldValues"},"example":{"updateValueList":[{"_type":"StringIssueField","issueID":10001,"fieldID":10076,"string":"new string value"},{"_type":"TextIssueField","issueID":10002,"fieldID":10077,"text":"new text value"},{"_type":"SingleSelectIssueField","issueID":10003,"fieldID":10078,"optionID":"1"},{"_type":"MultiSelectIssueField","issueID":10004,"fieldID":10079,"optionID":"2"},{"_type":"RichTextIssueField","issueID":10005,"fieldID":10080,"richText":"new rich text value"},{"_type":"NumberIssueField","issueID":10006,"fieldID":10082,"number":54}]}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{}}}},"400":{"description":"Returned if the request is invalid."},"403":{"description":"Returned if:\n* the transfer ID is not found.\n* the authorisation credentials are incorrect or missing."}},"deprecated":false,"x-atlassian-connect-scope":"ACT_AS_USER"}},"/rest/atlassian-connect/1/migration/properties/{entityType}":{"put":{"tags":["App migration"],"summary":"Bulk update entity properties","description":"Updates the values of multiple entity properties for an object. This operation is for use by Connect apps during app migration.","operationId":"MigrationResource.updateEntityPropertiesValue_put","parameters":[{"name":"Atlassian-Transfer-Id","in":"header","description":"The app migration transfer ID.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Atlassian-Account-Id","in":"header","description":"The Atlassian account ID of the impersonated user. This user must be a member of the site admin group.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"entityType","in":"path","description":"The type indicating the object that contains the entity properties.","required":true,"schema":{"type":"string","enum":["IssueProperty","CommentProperty","DashboardItemProperty","IssueTypeProperty","ProjectProperty","UserProperty","WorklogProperty","BoardProperty","SprintProperty"]}}],"requestBody":{"content":{"application/json":{"schema":{"maxItems":50,"minItems":1,"type":"array","items":{"$ref":"#/components/schemas/EntityPropertyDetails"}}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful."},"400":{"description":"Returned if the request is not valid."},"403":{"description":"Returned if the authorisation credentials are incorrect or missing."}},"x-atlassian-connect-scope":"ACT_AS_USER"}},"/rest/atlassian-connect/1/migration/workflow/rule/search":{"post":{"tags":["App migration"],"summary":"Get workflow transition rule configurations","description":"Returns configurations for workflow transition rules migrated from server to cloud and owned by the calling Connect app.","operationId":"MigrationResource.workflowRuleSearch_post","parameters":[{"name":"Atlassian-Transfer-Id","in":"header","description":"The app migration transfer ID.","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRulesSearch"}}},"required":true},"responses":{"200":{"description":"Returned if the request is successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowRulesSearchDetails"},"example":{"WorkflowRulesSearchDetails":{"workflowEntityId":"a498d711-685d-428d-8c3e-bc03bb450ea7","invalidRules":["55d44f1d-c859-42e5-9c27-2c5ec3f340b1"],"validRules":[{"workflowId":{"name":"Workflow name","draft":true},"postFunctions":[{"id":"123","key":"WorkflowKey","configuration":{"value":"WorkflowValidator"},"transition":{"name":"transition","id":123}}],"conditions":[{"id":"123","key":"WorkflowKey","configuration":{"value":"WorkflowValidator"},"transition":{"name":"transition","id":123}}],"validators":[{"id":"123","key":"WorkflowKey","configuration":{"value":"WorkflowValidator"},"transition":{"name":"transition","id":123}}]}]}}}}},"400":{"description":"Returned if the request is not valid."},"403":{"description":"Returned if the authorisation credentials are incorrect or missing."}},"x-atlassian-connect-scope":"NONE"}}},"components":{"schemas":{"TaskProgressBeanObject":{"required":["elapsedRuntime","id","lastUpdate","progress","self","status","submitted","submittedBy"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the task.","format":"uri"},"id":{"type":"string","description":"The ID of the task."},"description":{"type":"string","description":"The description of the task."},"status":{"type":"string","description":"The status of the task.","enum":["ENQUEUED","RUNNING","COMPLETE","FAILED","CANCEL_REQUESTED","CANCELLED","DEAD"]},"message":{"type":"string","description":"Information about the progress of the task."},"result":{"description":"The result of the task execution."},"submittedBy":{"type":"integer","description":"The ID of the user who submitted the task.","format":"int64"},"progress":{"type":"integer","description":"The progress of the task, as a percentage complete.","format":"int64"},"elapsedRuntime":{"type":"integer","description":"The execution time of the task, in milliseconds.","format":"int64"},"submitted":{"type":"integer","description":"A timestamp recording when the task was submitted.","format":"int64"},"started":{"type":"integer","description":"A timestamp recording when the task was started.","format":"int64"},"finished":{"type":"integer","description":"A timestamp recording when the task was finished.","format":"int64"},"lastUpdate":{"type":"integer","description":"A timestamp recording when the task progress was last updated.","format":"int64"}},"additionalProperties":false,"description":"Details about a task."},"HealthCheckResult":{"type":"object","properties":{"name":{"type":"string","description":"The name of the Jira health check item."},"description":{"type":"string","description":"The description of the Jira health check item."},"passed":{"type":"boolean","description":"Whether the Jira health check item passed or failed."}},"additionalProperties":false,"description":"Jira instance health check results. Deprecated and no longer returned."},"ServerInformation":{"type":"object","properties":{"baseUrl":{"type":"string","description":"The base URL of the Jira instance."},"version":{"type":"string","description":"The version of Jira."},"versionNumbers":{"type":"array","description":"The major, minor, and revision version numbers of the Jira version.","items":{"type":"integer","format":"int32"}},"deploymentType":{"type":"string","description":"The type of server deployment. This is always returned as *Cloud*."},"buildNumber":{"type":"integer","description":"The build number of the Jira version.","format":"int32"},"buildDate":{"type":"string","description":"The timestamp when the Jira version was built.","format":"date-time"},"serverTime":{"type":"string","description":"The time in Jira when this request was responded to.","format":"date-time"},"scmInfo":{"type":"string","description":"The unique identifier of the Jira version."},"serverTitle":{"type":"string","description":"The name of the Jira instance."},"healthChecks":{"type":"array","description":"Jira instance health check results. Deprecated and no longer returned.","items":{"$ref":"#/components/schemas/HealthCheckResult"}}},"additionalProperties":false,"description":"Details about the Jira instance."},"PropertyKey":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the property.","readOnly":true},"key":{"type":"string","description":"The key of the property.","readOnly":true}},"additionalProperties":false,"description":"Property key details."},"PropertyKeys":{"type":"object","properties":{"keys":{"type":"array","description":"Property key details.","readOnly":true,"items":{"$ref":"#/components/schemas/PropertyKey"}}},"additionalProperties":false,"description":"List of property keys."},"EntityProperty":{"type":"object","properties":{"key":{"type":"string","description":"The key of the property. Required on create and update."},"value":{"description":"The value of the property. Required on create and update."}},"additionalProperties":false,"description":"An entity property, for more information see [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/)."},"IdOrKeyBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the referenced item.","format":"int64"},"key":{"type":"string","description":"The key of the referenced item."}},"additionalProperties":false},"JexpIssues":{"type":"object","properties":{"jql":{"description":"The JQL query that specifies the set of issues available in the Jira expression.","allOf":[{"$ref":"#/components/schemas/JexpJqlIssues"}]}},"additionalProperties":false,"description":"The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable."},"JexpJqlIssues":{"type":"object","properties":{"query":{"type":"string","description":"The JQL query."},"startAt":{"type":"integer","description":"The index of the first issue to return from the JQL query.","format":"int64"},"maxResults":{"type":"integer","description":"The maximum number of issues to return from the JQL query. Inspect `meta.issues.jql.maxResults` in the response to ensure the maximum value has not been exceeded.","format":"int32"},"validation":{"type":"string","description":"Determines how to validate the JQL query and treat the validation results.","enum":["strict","warn","none"],"default":"strict"}},"additionalProperties":false,"description":"The JQL specifying the issues available in the evaluated Jira expression under the `issues` context variable. Not all issues returned by the JQL query are loaded, only those described by the `startAt` and `maxResults` properties. To determine whether it is necessary to iterate to ensure all the issues returned by the JQL query are evaluated, inspect `meta.issues.jql.count` in the response."},"JiraExpressionEvalContextBean":{"type":"object","properties":{"issue":{"description":"The issue that is available under the `issue` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/IdOrKeyBean"}]},"issues":{"description":"The collection of issues that is available under the `issues` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/JexpIssues"}]},"project":{"description":"The project that is available under the `project` variable when evaluating the expression.","allOf":[{"$ref":"#/components/schemas/IdOrKeyBean"}]},"sprint":{"type":"integer","description":"The ID of the sprint that is available under the `sprint` variable when evaluating the expression.","format":"int64"},"board":{"type":"integer","description":"The ID of the board that is available under the `board` variable when evaluating the expression.","format":"int64"},"serviceDesk":{"type":"integer","description":"The ID of the service desk that is available under the `serviceDesk` variable when evaluating the expression.","format":"int64"},"customerRequest":{"type":"integer","description":"The ID of the customer request that is available under the `customerRequest` variable when evaluating the expression. This is the same as the ID of the underlying Jira issue, but the customer request context variable will have a different type.","format":"int64"}},"additionalProperties":false},"JiraExpressionEvalRequestBean":{"required":["expression"],"type":"object","properties":{"expression":{"type":"string","description":"The Jira expression to evaluate.","example":"{ key: issue.key, type: issue.issueType.name, links: issue.links.map(link => link.linkedIssue.id) }"},"context":{"description":"The context in which the Jira expression is evaluated.","allOf":[{"$ref":"#/components/schemas/JiraExpressionEvalContextBean"}]}},"additionalProperties":false},"IssuesJqlMetaDataBean":{"required":["count","maxResults","startAt","totalCount"],"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first issue.","format":"int64"},"maxResults":{"type":"integer","description":"The maximum number of issues that could be loaded in this evaluation.","format":"int32"},"count":{"type":"integer","description":"The number of issues that were loaded in this evaluation.","format":"int32"},"totalCount":{"type":"integer","description":"The total number of issues the JQL returned.","format":"int64"},"validationWarnings":{"type":"array","description":"Any warnings related to the JQL query. Present only if the validation mode was set to `warn`.","items":{"type":"string"}}},"additionalProperties":false,"description":"The description of the page of issues loaded by the provided JQL query."},"IssuesMetaBean":{"type":"object","properties":{"jql":{"$ref":"#/components/schemas/IssuesJqlMetaDataBean"}},"additionalProperties":false,"description":"Meta data describing the `issues` context variable."},"JiraExpressionEvaluationMetaDataBean":{"type":"object","properties":{"complexity":{"description":"Contains information about the expression complexity. For example, the number of steps it took to evaluate the expression.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityBean"}]},"issues":{"description":"Contains information about the `issues` variable in the context. For example, is the issues were loaded with JQL, information about the page will be included here.","allOf":[{"$ref":"#/components/schemas/IssuesMetaBean"}]}},"additionalProperties":false},"JiraExpressionResult":{"required":["value"],"type":"object","properties":{"value":{"description":"The value of the evaluated expression. It may be a primitive JSON value or a Jira REST API object. (Some expressions do not produce any meaningful results—for example, an expression that returns a lambda function—if that's the case a simple string representation is returned. These string representations should not be relied upon and may change without notice.)"},"meta":{"description":"Contains various characteristics of the performed expression evaluation.","allOf":[{"$ref":"#/components/schemas/JiraExpressionEvaluationMetaDataBean"}]}},"additionalProperties":false,"description":"The result of evaluating a Jira expression."},"JiraExpressionsComplexityBean":{"required":["beans","expensiveOperations","primitiveValues","steps"],"type":"object","properties":{"steps":{"description":"The number of steps it took to evaluate the expression, where a step is a high-level operation performed by the expression. A step is an operation such as arithmetic, accessing a property, accessing a context variable, or calling a function.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"expensiveOperations":{"description":"The number of expensive operations executed while evaluating the expression. Expensive operations are those that load additional data, such as entity properties, comments, or custom fields.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"beans":{"description":"The number of Jira REST API beans returned in the response.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]},"primitiveValues":{"description":"The number of primitive values returned in the response.","allOf":[{"$ref":"#/components/schemas/JiraExpressionsComplexityValueBean"}]}},"additionalProperties":false},"JiraExpressionsComplexityValueBean":{"required":["limit","value"],"type":"object","properties":{"value":{"type":"integer","description":"The complexity value of the current expression.","format":"int32"},"limit":{"type":"integer","description":"The maximum allowed complexity. The evaluation will fail if this value is exceeded.","format":"int32"}},"additionalProperties":false},"ErrorCollection":{"type":"object","properties":{"errorMessages":{"type":"array","description":"The list of error messages produced by this operation. For example, \"input parameter 'key' must be provided\"","items":{"type":"string"}},"errors":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of errors by parameter returned by the operation. For example,\"projectKey\": \"Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.\""},"status":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Error messages from an operation."},"JiraExpressionForAnalysis":{"required":["expressions"],"type":"object","properties":{"expressions":{"type":"array","description":"The list of Jira expressions to analyse.","example":"issues.map(issue => issue.properties['property_key'])","items":{"type":"string","description":"The list of Jira expressions to analyse.","example":"issues.map(issue => issue.properties['property_key'])"}},"contextVariables":{"type":"object","additionalProperties":{"type":"string","description":"Context variables and their types. The type checker assumes that common context variables, such as issue or project, are available in context and sets their type. Use this property to override the default types or provide details of new variables."},"description":"Context variables and their types. The type checker assumes that [common context variables](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#context-variables), such as `issue` or `project`, are available in context and sets their type. Use this property to override the default types or provide details of new variables."}},"additionalProperties":false,"description":"Details of Jira expressions for analysis."},"JiraExpressionAnalysis":{"required":["expression","valid"],"type":"object","properties":{"expression":{"type":"string","description":"The analysed expression."},"errors":{"type":"array","description":"A list of validation errors. Not included if the expression is valid.","items":{"$ref":"#/components/schemas/JiraExpressionValidationError"}},"valid":{"type":"boolean","description":"Whether the expression is valid and the interpreter will evaluate it. Note that the expression may fail at runtime (for example, if it executes too many expensive operations)."},"type":{"type":"string","description":"EXPERIMENTAL. The inferred type of the expression."},"complexity":{"$ref":"#/components/schemas/JiraExpressionComplexity"}},"additionalProperties":false,"description":"Details about the analysed Jira expression."},"JiraExpressionComplexity":{"required":["expensiveOperations"],"type":"object","properties":{"expensiveOperations":{"type":"string","description":"Information that can be used to determine how many [expensive operations](https://developer.atlassian.com/cloud/jira/platform/jira-expressions/#expensive-operations) the evaluation of the expression will perform. This information may be a formula or number. For example:\n\n * `issues.map(i => i.comments)` performs as many expensive operations as there are issues on the issues list. So this parameter returns `N`, where `N` is the size of issue list.\n * `new Issue(10010).comments` gets comments for one issue, so its complexity is `2` (`1` to retrieve issue 10010 from the database plus `1` to get its comments)."},"variables":{"type":"object","additionalProperties":{"type":"string","description":"Variables used in the formula, mapped to the parts of the expression they refer to."},"description":"Variables used in the formula, mapped to the parts of the expression they refer to."}},"additionalProperties":false,"description":"Details about the complexity of the analysed Jira expression."},"JiraExpressionValidationError":{"required":["message","type"],"type":"object","properties":{"line":{"type":"integer","description":"The text line in which the error occurred.","format":"int32"},"column":{"type":"integer","description":"The text column in which the error occurred.","format":"int32"},"expression":{"type":"string","description":"The part of the expression in which the error occurred."},"message":{"type":"string","description":"Details about the error.","example":"!, -, typeof, (, IDENTIFIER, null, true, false, NUMBER, STRING, TEMPLATE_LITERAL, new, [ or { expected, > encountered."},"type":{"type":"string","description":"The error type.","enum":["syntax","type","other"]}},"additionalProperties":false,"description":"Details about syntax and type errors. The error details apply to the entire expression, unless the object includes:\n\n * `line` and `column`\n * `expression`"},"JiraExpressionsAnalysis":{"required":["results"],"type":"object","properties":{"results":{"type":"array","description":"The results of Jira expressions analysis.","items":{"$ref":"#/components/schemas/JiraExpressionAnalysis"}}},"additionalProperties":false,"description":"Details about the analysed Jira expression."},"ProjectIssueSecurityLevels":{"required":["levels"],"type":"object","properties":{"levels":{"type":"array","description":"Issue level security items list.","readOnly":true,"items":{"$ref":"#/components/schemas/SecurityLevel"}}},"additionalProperties":false,"description":"List of issue level security items in a project."},"SecurityLevel":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue level security item.","readOnly":true},"id":{"type":"string","description":"The ID of the issue level security item.","readOnly":true},"description":{"type":"string","description":"The description of the issue level security item.","readOnly":true},"name":{"type":"string","description":"The name of the issue level security item.","readOnly":true}},"additionalProperties":false,"description":"Details of an issue level security item."},"ColumnItem":{"type":"object","properties":{"label":{"type":"string","description":"The issue navigator column label."},"value":{"type":"string","description":"The issue navigator column value."}},"additionalProperties":false,"description":"Details of an issue navigator column item."},"License":{"required":["applications"],"type":"object","properties":{"applications":{"type":"array","description":"The applications under this license.","readOnly":true,"items":{"$ref":"#/components/schemas/LicensedApplication"}}},"additionalProperties":false,"description":"Details about a license for the Jira instance."},"LicensedApplication":{"required":["id","plan"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the application.","readOnly":true},"plan":{"type":"string","description":"The licensing plan.","readOnly":true,"enum":["UNLICENSED","FREE","PAID"]}},"additionalProperties":false,"description":"Details about a licensed Jira application."},"Configuration":{"type":"object","properties":{"votingEnabled":{"type":"boolean","description":"Whether the ability for users to vote on issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"watchingEnabled":{"type":"boolean","description":"Whether the ability for users to watch issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"unassignedIssuesAllowed":{"type":"boolean","description":"Whether the ability to create unassigned issues is enabled. See [Configuring Jira application options](https://confluence.atlassian.com/x/uYXKM) for details.","readOnly":true},"subTasksEnabled":{"type":"boolean","description":"Whether the ability to create subtasks for issues is enabled.","readOnly":true},"issueLinkingEnabled":{"type":"boolean","description":"Whether the ability to link issues is enabled.","readOnly":true},"timeTrackingEnabled":{"type":"boolean","description":"Whether the ability to track time is enabled. This property is deprecated.","readOnly":true},"attachmentsEnabled":{"type":"boolean","description":"Whether the ability to add attachments to issues is enabled.","readOnly":true},"timeTrackingConfiguration":{"description":"The configuration of time tracking.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/TimeTrackingConfiguration"}]}},"additionalProperties":false,"description":"Details about the configuration of Jira."},"TimeTrackingConfiguration":{"required":["defaultUnit","timeFormat","workingDaysPerWeek","workingHoursPerDay"],"type":"object","properties":{"workingHoursPerDay":{"type":"number","description":"The number of hours in a working day.","format":"double"},"workingDaysPerWeek":{"type":"number","description":"The number of days in a working week.","format":"double"},"timeFormat":{"type":"string","description":"The format that will appear on an issue's *Time Spent* field.","enum":["pretty","days","hours"]},"defaultUnit":{"type":"string","description":"The default unit of time applied to logged time.","enum":["minute","hour","day","week"]}},"additionalProperties":false,"description":"Details of the time tracking configuration."},"ApplicationProperty":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the application property. The ID and key are the same."},"key":{"type":"string","description":"The key of the application property. The ID and key are the same."},"value":{"type":"string","description":"The new value."},"name":{"type":"string","description":"The name of the application property."},"desc":{"type":"string","description":"The description of the application property."},"type":{"type":"string","description":"The data type of the application property."},"defaultValue":{"type":"string","description":"The default value of the application property."},"example":{"type":"string"},"allowedValues":{"type":"array","description":"The allowed values, if applicable.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of an application property."},"SimpleApplicationPropertyBean":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the application property."},"value":{"type":"string","description":"The new value."}},"additionalProperties":false,"xml":{"name":"applicationProperty"}},"AvatarUrlsBean":{"type":"object","properties":{"16x16":{"type":"string","description":"The URL of the item's 16x16 pixel avatar.","format":"uri"},"24x24":{"type":"string","description":"The URL of the item's 24x24 pixel avatar.","format":"uri"},"32x32":{"type":"string","description":"The URL of the item's 32x32 pixel avatar.","format":"uri"},"48x48":{"type":"string","description":"The URL of the item's 48x48 pixel avatar.","format":"uri"}},"additionalProperties":false},"PermissionGrant":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the permission granted details.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the permission granted details.","format":"uri","readOnly":true},"holder":{"description":"The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.","allOf":[{"$ref":"#/components/schemas/PermissionHolder"}]},"permission":{"type":"string","description":"The permission to grant. This permission can be one of the built-in permissions or a custom permission added by an app. See [Built-in permissions](../api-group-permission-schemes/#built-in-permissions) in *Get all permission schemes* for more information about the built-in permissions. See the [project permission](https://developer.atlassian.com/cloud/jira/platform/modules/project-permission/) and [global permission](https://developer.atlassian.com/cloud/jira/platform/modules/global-permission/) module documentation for more information about custom permissions."}},"additionalProperties":false,"description":"Details about a permission granted to a user or group."},"PermissionHolder":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of permission holder."},"parameter":{"type":"string","description":"The identifier of permission holder."},"expand":{"type":"string","description":"Expand options that include additional permission holder details in the response.","readOnly":true}},"additionalProperties":false,"description":"Details of a user, group, field, or project role that holds a permission. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information."},"PermissionScheme":{"required":["name"],"type":"object","properties":{"expand":{"type":"string","description":"The expand options available for the permission scheme.","readOnly":true},"id":{"type":"integer","description":"The ID of the permission scheme.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the permission scheme.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the permission scheme. Must be unique."},"description":{"type":"string","description":"A description for the permission scheme."},"scope":{"description":"The scope of the permission scheme.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"permissions":{"type":"array","description":"The permission scheme to create or update. See [About permission schemes and grants](../api-group-permission-schemes/#about-permission-schemes-and-grants) for more information.","items":{"$ref":"#/components/schemas/PermissionGrant"}}},"additionalProperties":true,"description":"Details of a permission scheme."},"PermissionSchemes":{"type":"object","properties":{"permissionSchemes":{"type":"array","description":"Permission schemes list.","readOnly":true,"items":{"$ref":"#/components/schemas/PermissionScheme"}}},"additionalProperties":false,"description":"List of all permission schemes."},"ProjectDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project details.","readOnly":true},"id":{"type":"string","description":"The ID of the project."},"key":{"type":"string","description":"The key of the project.","readOnly":true},"name":{"type":"string","description":"The name of the project.","readOnly":true},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.","readOnly":true,"enum":["software","service_desk","business"]},"simplified":{"type":"boolean","description":"Whether or not the project is simplified.","readOnly":true},"avatarUrls":{"description":"The URLs of the project's avatars.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"projectCategory":{"description":"The category the project belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UpdatedProjectCategory"}]}},"additionalProperties":false,"description":"Details about a project."},"Scope":{"type":"object","properties":{"type":{"type":"string","description":"The type of scope.","readOnly":true,"enum":["PROJECT","TEMPLATE"]},"project":{"description":"The project the item has scope in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectDetails"}]}},"additionalProperties":true,"description":"The projects the item is associated with. Indicated for items associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO)."},"UpdatedProjectCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project category.","readOnly":true},"id":{"type":"string","description":"The ID of the project category.","readOnly":true},"description":{"type":"string","description":"The name of the project category.","readOnly":true},"name":{"type":"string","description":"The description of the project category.","readOnly":true}},"additionalProperties":false,"description":"A project category."},"PermissionGrants":{"type":"object","properties":{"permissions":{"type":"array","description":"Permission grants list.","readOnly":true,"items":{"$ref":"#/components/schemas/PermissionGrant"}},"expand":{"type":"string","description":"Expand options that include additional permission grant details in the response.","readOnly":true}},"additionalProperties":false,"description":"List of permission grants."},"DeprecatedWorkflow":{"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow.","readOnly":true},"description":{"type":"string","description":"The description of the workflow.","readOnly":true},"lastModifiedDate":{"type":"string","description":"The datetime the workflow was last modified.","readOnly":true},"lastModifiedUser":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"lastModifiedUserAccountId":{"type":"string","description":"The account ID of the user that last modified the workflow.","readOnly":true},"steps":{"type":"integer","description":"The number of steps included in the workflow.","format":"int32","readOnly":true},"scope":{"description":"The scope where this workflow applies","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"default":{"type":"boolean"}},"additionalProperties":false,"description":"Details about a workflow."},"CreateWorkflowCondition":{"type":"object","properties":{"operator":{"type":"string","description":"The compound condition operator.","enum":["AND","OR"]},"conditions":{"type":"array","description":"The list of workflow conditions.","items":{"$ref":"#/components/schemas/CreateWorkflowCondition"}},"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"type":"object","additionalProperties":{"description":"EXPERIMENTAL. The configuration of the transition rule."},"description":"EXPERIMENTAL. The configuration of the transition rule."}},"additionalProperties":false,"description":"A workflow transition condition."},"CreateWorkflowDetails":{"required":["name","statuses","transitions"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be separated by a whitespace but the name cannot start or end with a whitespace."},"description":{"type":"string","description":"The description of the workflow. The maximum length is 1000 characters."},"transitions":{"type":"array","description":"The transitions of the workflow. For the request to be valid, these transitions must:\n\n * include one *initial* transition.\n * not use the same name for a *global* and *directed* transition.\n * have a unique name for each *global* transition.\n * have a unique 'to' status for each *global* transition.\n * have unique names for each transition from a status.\n * not have a 'from' status on *initial* and *global* transitions.\n * have a 'from' status on *directed* transitions.\n\nAll the transition statuses must be included in `statuses`.","items":{"$ref":"#/components/schemas/CreateWorkflowTransitionDetails"}},"statuses":{"uniqueItems":true,"type":"array","description":"The statuses of the workflow. Any status that does not include a transition is added to the workflow without a transition.","items":{"$ref":"#/components/schemas/CreateWorkflowStatusDetails"}}},"additionalProperties":false,"description":"The details of a workflow.","writeOnly":true},"CreateWorkflowStatusDetails":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the status."}},"additionalProperties":false,"description":"The details of a transition status.","writeOnly":true},"CreateWorkflowTransitionDetails":{"required":["name","to","type"],"type":"object","properties":{"name":{"type":"string","description":"The name of the transition. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the transition. The maximum length is 1000 characters."},"from":{"type":"array","description":"The statuses the transition can start from.","items":{"type":"string"}},"to":{"type":"string","description":"The status the transition goes to."},"type":{"type":"string","description":"The type of the transition.","enum":["global","initial","directed"]},"rules":{"description":"The rules of the transition.","allOf":[{"$ref":"#/components/schemas/CreateWorkflowTransitionRulesDetails"}]}},"additionalProperties":false,"description":"The details of a workflow transition.","writeOnly":true},"CreateWorkflowTransitionRule":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"type":"object","additionalProperties":{"description":"EXPERIMENTAL. The configuration of the transition rule."},"description":"EXPERIMENTAL. The configuration of the transition rule."}},"additionalProperties":false,"description":"A workflow transition rule."},"CreateWorkflowTransitionRulesDetails":{"type":"object","properties":{"conditions":{"description":"The workflow conditions.","allOf":[{"$ref":"#/components/schemas/CreateWorkflowCondition"}]},"validators":{"type":"array","description":"The workflow validators.","items":{"$ref":"#/components/schemas/CreateWorkflowTransitionRule"}},"postFunctions":{"type":"array","description":"The workflow post functions.","items":{"$ref":"#/components/schemas/CreateWorkflowTransitionRule"}}},"additionalProperties":false,"description":"The details of a workflow transition rules.","writeOnly":true},"WorkflowIDs":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"entityId":{"type":"string","description":"The entity ID of the workflow."}},"additionalProperties":false,"description":"The classic workflow identifiers."},"WorkflowTransitionProperty":{"required":["value"],"type":"object","properties":{"key":{"type":"string","description":"The key of the transition property. Also known as the name of the transition property.","readOnly":true},"value":{"type":"string","description":"The value of the transition property."},"id":{"type":"string","description":"The ID of the transition property.","readOnly":true}},"additionalProperties":true,"description":"Details about the server Jira is running on."},"PageBeanWorkflow":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Workflow"}}},"additionalProperties":false,"description":"A page of items."},"PublishedWorkflowId":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"entityId":{"type":"string","description":"The entity ID of the workflow."}},"additionalProperties":false,"description":"Properties that identify a published workflow."},"ScreenID":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the screen."}},"additionalProperties":false,"description":"ID of a screen."},"Transition":{"required":["description","from","id","name","to","type"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the transition."},"name":{"type":"string","description":"The name of the transition."},"description":{"type":"string","description":"The description of the transition."},"from":{"type":"array","description":"The statuses the transition can start from.","items":{"type":"string","description":"The statuses the transition can start from."}},"to":{"type":"string","description":"The status the transition goes to."},"type":{"type":"string","description":"The type of the transition.","enum":["global","initial","directed"]},"screen":{"$ref":"#/components/schemas/ScreenID"},"rules":{"$ref":"#/components/schemas/WorkflowRules"}},"additionalProperties":false,"description":"Details of a workflow transition."},"Workflow":{"required":["description","id"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/PublishedWorkflowId"},"description":{"type":"string","description":"The description of the workflow."},"transitions":{"type":"array","description":"The transitions of the workflow.","items":{"$ref":"#/components/schemas/Transition"}},"statuses":{"type":"array","description":"The statuses of the workflow.","items":{"$ref":"#/components/schemas/WorkflowStatus"}},"isDefault":{"type":"boolean","description":"Whether this is the default workflow."}},"additionalProperties":false,"description":"Details about a workflow."},"WorkflowCompoundCondition":{"required":["conditions","nodeType","operator"],"type":"object","properties":{"operator":{"type":"string","description":"The compound condition operator.","enum":["AND","OR"]},"conditions":{"type":"array","description":"The list of workflow conditions.","items":{"$ref":"#/components/schemas/WorkflowCondition"}},"nodeType":{"type":"string"}},"description":"A compound workflow transition rule condition. This object returns `nodeType` as `compound`."},"WorkflowCondition":{"type":"object","additionalProperties":false,"description":"The workflow transition rule conditions tree.","discriminator":{"propertyName":"nodeType","mapping":{"simple":"#/components/schemas/WorkflowSimpleCondition","compound":"#/components/schemas/WorkflowCompoundCondition"}},"oneOf":[{"$ref":"#/components/schemas/WorkflowSimpleCondition"},{"$ref":"#/components/schemas/WorkflowCompoundCondition"}]},"WorkflowRules":{"type":"object","properties":{"conditions":{"type":"array","description":"The workflow conditions. ([Deprecated](https://community.developer.atlassian.com/t/deprecation-of-conditions-body-param/48884))","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}},"conditionsTree":{"$ref":"#/components/schemas/WorkflowCondition"},"validators":{"type":"array","description":"The workflow validators.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}},"postFunctions":{"type":"array","description":"The workflow post functions.","items":{"$ref":"#/components/schemas/WorkflowTransitionRule"}}},"additionalProperties":false,"description":"A collection of transition rules."},"WorkflowSimpleCondition":{"required":["nodeType","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"type":"object","description":"EXPERIMENTAL. The configuration of the transition rule."},"nodeType":{"type":"string"}},"description":"A workflow transition rule condition. This object returns `nodeType` as `simple`."},"WorkflowStatus":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue status."},"name":{"type":"string","description":"The name of the status in the workflow."},"properties":{"type":"object","additionalProperties":{"description":"Additional properties that modify the behavior of issues in this status. Supports the properties jira.issue.editable and issueEditable (deprecated) that indicate whether issues are editable."},"description":"Additional properties that modify the behavior of issues in this status. Supports the properties `jira.issue.editable` and `issueEditable` (deprecated) that indicate whether issues are editable."}},"additionalProperties":false,"description":"Details of a workflow status."},"WorkflowTransitionRule":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the transition rule."},"configuration":{"description":"EXPERIMENTAL. The configuration of the transition rule."}},"additionalProperties":false,"description":"A workflow transition rule."},"ConnectWorkflowTransitionRule":{"required":["configuration","id","key"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the transition rule."},"key":{"type":"string","description":"The key of the rule, as defined in the Connect app descriptor.","readOnly":true},"configuration":{"$ref":"#/components/schemas/RuleConfiguration"},"transition":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/WorkflowTransition"}]}},"additionalProperties":false,"description":"A workflow transition rule."},"PageBeanWorkflowTransitionRules":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"additionalProperties":false,"description":"A page of items."},"RuleConfiguration":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"Configuration of the rule, as it is stored by the Connect app on the rule configuration page."},"disabled":{"type":"boolean","description":"EXPERIMENTAL: Whether the rule is disabled.","default":false},"tag":{"maxLength":255,"type":"string","description":"EXPERIMENTAL: A tag used to filter rules in [Get workflow transition rule configurations](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-workflow-transition-rules/#api-rest-api-3-workflow-rule-config-get)."}},"additionalProperties":false,"description":"A rule configuration."},"WorkflowId":{"required":["draft","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the workflow."},"draft":{"type":"boolean","description":"Whether the workflow is in the draft state."}},"additionalProperties":false,"description":"Properties that identify a workflow."},"WorkflowTransition":{"required":["id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The transition ID.","format":"int32"},"name":{"type":"string","description":"The transition name."}},"additionalProperties":false,"description":"A workflow transition."},"WorkflowTransitionRules":{"required":["conditions","postFunctions","validators","workflowId"],"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"postFunctions":{"type":"array","description":"The list of post functions within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}},"conditions":{"type":"array","description":"The list of conditions within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}},"validators":{"type":"array","description":"The list of validators within the workflow.","items":{"$ref":"#/components/schemas/ConnectWorkflowTransitionRule"}}},"additionalProperties":false,"description":"A workflow with transition rules."},"WorkflowTransitionRulesUpdate":{"required":["workflows"],"type":"object","properties":{"workflows":{"type":"array","description":"The list of workflows with transition rules to update.","items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"additionalProperties":false,"description":"Details about a workflow configuration update request."},"WorkflowTransitionRulesUpdateErrorDetails":{"required":["ruleUpdateErrors","updateErrors","workflowId"],"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"ruleUpdateErrors":{"type":"object","additionalProperties":{"uniqueItems":true,"type":"array","description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated.","items":{"type":"string","description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated."}},"description":"A list of transition rule update errors, indexed by the transition rule ID. Any transition rule that appears here wasn't updated."},"updateErrors":{"uniqueItems":true,"type":"array","description":"The list of errors that specify why the workflow update failed. The workflow was not updated if the list contains any entries.","items":{"type":"string","description":"An error specifying why the workflow update failed."}}},"additionalProperties":false,"description":"Details of any errors encountered while updating workflow transition rules for a workflow."},"WorkflowTransitionRulesUpdateErrors":{"required":["updateResults"],"type":"object","properties":{"updateResults":{"type":"array","description":"A list of workflows.","items":{"$ref":"#/components/schemas/WorkflowTransitionRulesUpdateErrorDetails"}}},"additionalProperties":false,"description":"Details of any errors encountered while updating workflow transition rules."},"WorkflowTransitionRulesDetails":{"required":["workflowId","workflowRuleIds"],"type":"object","properties":{"workflowId":{"$ref":"#/components/schemas/WorkflowId"},"workflowRuleIds":{"uniqueItems":true,"type":"array","description":"The list of connect workflow rule IDs.","items":{"type":"string","description":"The list of connect workflow rule IDs."}}},"additionalProperties":false,"description":"Details about a workflow configuration update request."},"WorkflowsWithTransitionRulesDetails":{"required":["workflows"],"type":"object","properties":{"workflows":{"type":"array","description":"The list of workflows with transition rules to delete.","items":{"$ref":"#/components/schemas/WorkflowTransitionRulesDetails"}}},"additionalProperties":false,"description":"Details of workflows and their transition rules to delete."},"TimeTrackingProvider":{"required":["key"],"type":"object","properties":{"key":{"type":"string","description":"The key for the time tracking provider. For example, *JIRA*."},"name":{"type":"string","description":"The name of the time tracking provider. For example, *JIRA provided time tracking*."},"url":{"type":"string","description":"The URL of the configuration page for the time tracking provider app. For example, */example/config/url*. This property is only returned if the `adminPageKey` property is set in the module descriptor of the time tracking provider app.","readOnly":true}},"additionalProperties":false,"description":"Details about the time tracking provider."},"ApplicationRole":{"type":"object","properties":{"key":{"type":"string","description":"The key of the application role."},"groups":{"uniqueItems":true,"type":"array","description":"The groups associated with the application role.","items":{"type":"string"}},"name":{"type":"string","description":"The display name of the application role."},"defaultGroups":{"uniqueItems":true,"type":"array","description":"The groups that are granted default access for this application role.","items":{"type":"string"}},"selectedByDefault":{"type":"boolean","description":"Determines whether this application role should be selected by default on user creation."},"defined":{"type":"boolean","description":"Deprecated."},"numberOfSeats":{"type":"integer","description":"The maximum count of users on your license.","format":"int32"},"remainingSeats":{"type":"integer","description":"The count of users remaining on your license.","format":"int32"},"userCount":{"type":"integer","description":"The number of users counting against your license.","format":"int32"},"userCountDescription":{"type":"string","description":"The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license."},"hasUnlimitedSeats":{"type":"boolean"},"platform":{"type":"boolean","description":"Indicates if the application role belongs to Jira platform (`jira-core`)."}},"additionalProperties":false,"description":"Details of an application role."},"GroupName":{"type":"object","properties":{"name":{"type":"string","description":"The name of group."},"self":{"type":"string","description":"The URL for these group details.","format":"uri","readOnly":true}},"additionalProperties":false,"description":"Details about a group name."},"IssueTypeDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue type details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"description":{"type":"string","description":"The description of the issue type.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type is used to create subtasks.","readOnly":true},"avatarId":{"type":"integer","description":"The ID of the issue type's avatar.","format":"int64","readOnly":true},"entityId":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"hierarchyLevel":{"type":"integer","description":"Hierarchy level of the issue type.","format":"int32","readOnly":true},"scope":{"description":"Details of the next-gen projects the issue type is available in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"Details about an issue type."},"ListWrapperCallbackApplicationRole":{"type":"object","additionalProperties":false},"ListWrapperCallbackGroupName":{"type":"object","additionalProperties":false},"PageBeanWorkflowScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/WorkflowScheme"}}},"additionalProperties":false,"description":"A page of items."},"SimpleListWrapperApplicationRole":{"type":"object","properties":{"size":{"type":"integer","format":"int32","xml":{"attribute":true}},"items":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationRole"}},"pagingCallback":{"$ref":"#/components/schemas/ListWrapperCallbackApplicationRole"},"callback":{"$ref":"#/components/schemas/ListWrapperCallbackApplicationRole"},"max-results":{"type":"integer","format":"int32","xml":{"name":"max-results","attribute":true}}},"additionalProperties":false,"xml":{"name":"list"}},"SimpleListWrapperGroupName":{"type":"object","properties":{"size":{"type":"integer","format":"int32","xml":{"attribute":true}},"items":{"type":"array","items":{"$ref":"#/components/schemas/GroupName"}},"pagingCallback":{"$ref":"#/components/schemas/ListWrapperCallbackGroupName"},"callback":{"$ref":"#/components/schemas/ListWrapperCallbackGroupName"},"max-results":{"type":"integer","format":"int32","xml":{"name":"max-results","attribute":true}}},"additionalProperties":false,"xml":{"name":"list"}},"User":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","format":"uri","readOnly":true},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Required in requests."},"accountType":{"type":"string","description":"The user account type. Can take the following values:\n\n * `atlassian` regular Atlassian user account\n * `app` system account used for Connect applications and OAuth to represent external systems\n * `customer` Jira Service Desk account representing an external service desk","readOnly":true,"enum":["atlassian","app","customer","unknown"]},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"emailAddress":{"type":"string","description":"The email address of the user. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"avatarUrls":{"description":"The avatars of the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may return an alternative value.","readOnly":true},"active":{"type":"boolean","description":"Whether the user is active.","readOnly":true},"timeZone":{"type":"string","description":"The time zone specified in the user's profile. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"locale":{"type":"string","description":"The locale of the user. Depending on the user’s privacy setting, this may be returned as null.","readOnly":true},"groups":{"description":"The groups that the user belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/SimpleListWrapperGroupName"}]},"applicationRoles":{"description":"The application roles the user is assigned to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/SimpleListWrapperApplicationRole"}]},"expand":{"type":"string","description":"Expand options that include additional user details in the response.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false,"description":"A user with details as permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).\n * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.","xml":{"name":"user"}},"WorkflowScheme":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the workflow scheme.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the workflow scheme. The name must be unique. The maximum length is 255 characters. Required when creating a workflow scheme."},"description":{"type":"string","description":"The description of the workflow scheme."},"defaultWorkflow":{"type":"string","description":"The name of the default workflow for the workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira. If `defaultWorkflow` is not specified when creating a workflow scheme, it is set to *Jira Workflow (jira)*."},"issueTypeMappings":{"type":"object","additionalProperties":{"type":"string"},"description":"The issue type to workflow mappings, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme."},"originalDefaultWorkflow":{"type":"string","description":"For draft workflow schemes, this property is the name of the default workflow for the original workflow scheme. The default workflow has *All Unassigned Issue Types* assigned to it in Jira.","readOnly":true},"originalIssueTypeMappings":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"For draft workflow schemes, this property is the issue type to workflow mappings for the original workflow scheme, where each mapping is an issue type ID and workflow name pair. Note that an issue type can only be mapped to one workflow in a workflow scheme.","readOnly":true},"draft":{"type":"boolean","description":"Whether the workflow scheme is a draft or not.","readOnly":true},"lastModifiedUser":{"description":"The user that last modified the draft workflow scheme. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"lastModified":{"type":"string","description":"The date-time that the draft workflow scheme was last modified. A modification is a change to the issue type-project mappings only. This property does not apply to non-draft workflows.","readOnly":true},"self":{"type":"string","format":"uri","readOnly":true},"updateDraftIfNeeded":{"type":"boolean","description":"Whether to create or update a draft workflow scheme when updating an active workflow scheme. An active workflow scheme is a workflow scheme that is used by at least one project. The following examples show how this property works:\n\n * Update an active workflow scheme with `updateDraftIfNeeded` set to `true`: If a draft workflow scheme exists, it is updated. Otherwise, a draft workflow scheme is created.\n * Update an active workflow scheme with `updateDraftIfNeeded` set to `false`: An error is returned, as active workflow schemes cannot be updated.\n * Update an inactive workflow scheme with `updateDraftIfNeeded` set to `true`: The workflow scheme is updated, as inactive workflow schemes do not require drafts to update.\n\nDefaults to `false`."},"issueTypes":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/IssueTypeDetails"},"description":"The issue types available in Jira.","readOnly":true}},"additionalProperties":false,"description":"Details about a workflow scheme."},"IssueTypesWorkflowMapping":{"type":"object","properties":{"workflow":{"type":"string","description":"The name of the workflow. Optional if updating the workflow-issue types mapping."},"issueTypes":{"type":"array","description":"The list of issue type IDs.","items":{"type":"string"}},"defaultMapping":{"type":"boolean","description":"Whether the workflow is the default workflow for the workflow scheme."},"updateDraftIfNeeded":{"type":"boolean","description":"Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new workflow-issue types mapping. Defaults to `false`."}},"additionalProperties":false,"description":"Details about the mapping between issue types and a workflow."},"IssueTypeWorkflowMapping":{"type":"object","properties":{"issueType":{"type":"string","description":"The ID of the issue type. Not required if updating the issue type-workflow mapping."},"workflow":{"type":"string","description":"The name of the workflow."},"updateDraftIfNeeded":{"type":"boolean","description":"Set to true to create or update the draft of a workflow scheme and update the mapping in the draft, when the workflow scheme cannot be edited. Defaults to `false`. Only applicable when updating the workflow-issue types mapping."}},"additionalProperties":false,"description":"Details about the mapping between an issue type and a workflow."},"DefaultWorkflow":{"required":["workflow"],"type":"object","properties":{"workflow":{"type":"string","description":"The name of the workflow to set as the default workflow."},"updateDraftIfNeeded":{"type":"boolean","description":"Whether a draft workflow scheme is created or updated when updating an active workflow scheme. The draft is updated with the new default workflow. Defaults to `false`."}},"additionalProperties":false,"description":"Details about the default workflow."},"PublishDraftWorkflowScheme":{"type":"object","properties":{"statusMappings":{"uniqueItems":true,"type":"array","description":"Mappings of statuses to new statuses for issue types.","items":{"$ref":"#/components/schemas/StatusMapping"}}},"additionalProperties":false,"description":"Details about the status mappings for publishing a draft workflow scheme."},"StatusMapping":{"required":["issueTypeId","newStatusId","statusId"],"type":"object","properties":{"issueTypeId":{"type":"string","description":"The ID of the issue type."},"statusId":{"type":"string","description":"The ID of the status."},"newStatusId":{"type":"string","description":"The ID of the new status."}},"additionalProperties":false,"description":"Details about the mapping from a status to a new status for an issue type."},"ContainerOfWorkflowSchemeAssociations":{"required":["values"],"type":"object","properties":{"values":{"type":"array","description":"A list of workflow schemes together with projects they are associated with.","items":{"$ref":"#/components/schemas/WorkflowSchemeAssociations"}}},"additionalProperties":false,"description":"A container for a list of workflow schemes together with the projects they are associated with."},"WorkflowSchemeAssociations":{"required":["projectIds","workflowScheme"],"type":"object","properties":{"projectIds":{"type":"array","description":"The list of projects that use the workflow scheme.","items":{"type":"string"}},"workflowScheme":{"description":"The workflow scheme.","allOf":[{"$ref":"#/components/schemas/WorkflowScheme"}]}},"additionalProperties":false,"description":"A workflow scheme along with a list of projects that use it."},"WorkflowSchemeProjectAssociation":{"required":["projectId"],"type":"object","properties":{"workflowSchemeId":{"type":"string","description":"The ID of the workflow scheme. If the workflow scheme ID is `null`, the operation assigns the default workflow scheme."},"projectId":{"type":"string","description":"The ID of the project."}},"additionalProperties":false,"description":"An associated workflow scheme and project."},"AssociatedItemBean":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the associated record.","readOnly":true},"name":{"type":"string","description":"The name of the associated record.","readOnly":true},"typeName":{"type":"string","description":"The type of the associated record.","readOnly":true},"parentId":{"type":"string","description":"The ID of the associated parent record.","readOnly":true},"parentName":{"type":"string","description":"The name of the associated parent record.","readOnly":true}},"additionalProperties":false,"description":"Details of an item associated with the changed record."},"AuditRecordBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the audit record.","format":"int64","readOnly":true},"summary":{"type":"string","description":"The summary of the audit record.","readOnly":true},"remoteAddress":{"type":"string","description":"The URL of the computer where the creation of the audit record was initiated.","readOnly":true},"authorKey":{"type":"string","description":"Deprecated, use `authorAccountId` instead. The key of the user who created the audit record.","readOnly":true},"created":{"type":"string","description":"The date and time on which the audit record was created.","format":"date-time","readOnly":true},"category":{"type":"string","description":"The category of the audit record. For a list of these categories, see the help article [Auditing in Jira applications](https://confluence.atlassian.com/x/noXKM).","readOnly":true},"eventSource":{"type":"string","description":"The event the audit record originated from.","readOnly":true},"description":{"type":"string","description":"The description of the audit record.","readOnly":true},"objectItem":{"$ref":"#/components/schemas/AssociatedItemBean"},"changedValues":{"type":"array","description":"The list of values changed in the record event.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangedValueBean"}},"associatedItems":{"type":"array","description":"The list of items associated with the changed record.","readOnly":true,"items":{"$ref":"#/components/schemas/AssociatedItemBean"}}},"additionalProperties":false,"description":"An audit record."},"AuditRecords":{"type":"object","properties":{"offset":{"type":"integer","description":"The number of audit items skipped before the first item in this list.","format":"int32","readOnly":true},"limit":{"type":"integer","description":"The requested or default limit on the number of audit items to be returned.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The total number of audit items returned.","format":"int64","readOnly":true},"records":{"type":"array","description":"The list of audit items.","readOnly":true,"items":{"$ref":"#/components/schemas/AuditRecordBean"}}},"additionalProperties":false,"description":"Container for a list of audit records."},"ChangedValueBean":{"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the field changed.","readOnly":true},"changedFrom":{"type":"string","description":"The value of the field before the change.","readOnly":true},"changedTo":{"type":"string","description":"The value of the field after the change.","readOnly":true}},"additionalProperties":false,"description":"Details of names changed in the record event."},"BulkIssuePropertyUpdateRequest":{"type":"object","properties":{"value":{"description":"The value of the property. The value must be a [valid](https://tools.ietf.org/html/rfc4627), non-empty JSON blob. The maximum length is 32768 characters."},"expression":{"type":"string","description":"EXPERIMENTAL. The Jira expression to calculate the value of the property. The value of the expression must be an object that can be converted to JSON, such as a number, boolean, string, list, or map. The context variables available to the expression are `issue` and `user`. Issues for which the expression returns a value whose JSON representation is longer than 32768 characters are ignored."},"filter":{"description":"The bulk operation filter.","allOf":[{"$ref":"#/components/schemas/IssueFilterForBulkPropertySet"}]}},"additionalProperties":false,"description":"Bulk issue property update request details."},"IssueFilterForBulkPropertySet":{"type":"object","properties":{"entityIds":{"uniqueItems":true,"type":"array","description":"List of issues to perform the bulk operation on.","items":{"type":"integer","format":"int64"}},"currentValue":{"description":"The value of properties to perform the bulk operation on."},"hasProperty":{"type":"boolean","description":"Whether the bulk operation occurs only when the property is present on or absent from an issue."}},"additionalProperties":false,"description":"Bulk operation filter details."},"IssueFilterForBulkPropertyDelete":{"type":"object","properties":{"entityIds":{"uniqueItems":true,"type":"array","description":"List of issues to perform the bulk delete operation on.","items":{"type":"integer","format":"int64"}},"currentValue":{"description":"The value of properties to perform the bulk operation on."}},"additionalProperties":false,"description":"Bulk operation filter details."},"IssueEntityProperties":{"type":"object","properties":{"entitiesIds":{"maxItems":10000,"minItems":1,"uniqueItems":true,"type":"array","description":"A list of entity property IDs.","items":{"type":"integer","format":"int64"}},"properties":{"maxProperties":10,"minProperties":1,"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonNode"},"description":"A list of entity property keys and values."}},"additionalProperties":false,"description":"Lists of issues and entity properties. See [Entity properties](https://developer.atlassian.com/cloud/jira/platform/jira-entity-properties/) for more information."},"JsonNode":{"maxProperties":10,"minProperties":1,"type":"object","properties":{"elements":{"type":"object"},"pojo":{"type":"boolean"},"containerNode":{"type":"boolean"},"missingNode":{"type":"boolean"},"object":{"type":"boolean"},"valueNode":{"type":"boolean"},"number":{"type":"boolean"},"integralNumber":{"type":"boolean"},"floatingPointNumber":{"type":"boolean"},"int":{"type":"boolean"},"long":{"type":"boolean"},"double":{"type":"boolean"},"bigDecimal":{"type":"boolean"},"bigInteger":{"type":"boolean"},"textual":{"type":"boolean"},"boolean":{"type":"boolean"},"binary":{"type":"boolean"},"numberValue":{"type":"number"},"numberType":{"type":"string","enum":["INT","LONG","BIG_INTEGER","FLOAT","DOUBLE","BIG_DECIMAL"]},"intValue":{"type":"integer","format":"int32"},"longValue":{"type":"integer","format":"int64"},"bigIntegerValue":{"type":"integer"},"doubleValue":{"type":"number","format":"double"},"decimalValue":{"type":"number"},"booleanValue":{"type":"boolean"},"binaryValue":{"type":"array","items":{"type":"string","format":"byte"}},"valueAsInt":{"type":"integer","format":"int32"},"valueAsLong":{"type":"integer","format":"int64"},"valueAsDouble":{"type":"number","format":"double"},"valueAsBoolean":{"type":"boolean"},"fieldNames":{"type":"object"},"textValue":{"type":"string"},"valueAsText":{"type":"string"},"array":{"type":"boolean"},"fields":{"type":"object"},"null":{"type":"boolean"}},"additionalProperties":false},"Dashboard":{"type":"object","properties":{"description":{"type":"string"},"id":{"type":"string","description":"The ID of the dashboard.","readOnly":true},"isFavourite":{"type":"boolean","description":"Whether the dashboard is selected as a favorite by the user.","readOnly":true},"name":{"type":"string","description":"The name of the dashboard.","readOnly":true},"owner":{"description":"The owner of the dashboard.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserBean"}]},"popularity":{"type":"integer","description":"The number of users who have this dashboard as a favorite.","format":"int64","readOnly":true},"rank":{"type":"integer","description":"The rank of this dashboard.","format":"int32","readOnly":true},"self":{"type":"string","description":"The URL of these dashboard details.","format":"uri","readOnly":true},"sharePermissions":{"type":"array","description":"The details of any view share permissions for the dashboard.","readOnly":true,"items":{"$ref":"#/components/schemas/SharePermission"}},"editPermissions":{"type":"array","description":"The details of any edit share permissions for the dashboard.","readOnly":true,"items":{"$ref":"#/components/schemas/SharePermission"}},"view":{"type":"string","description":"The URL of the dashboard.","readOnly":true},"isWritable":{"type":"boolean","description":"Whether the current user has permission to edit the dashboard.","readOnly":true}},"additionalProperties":false,"description":"Details of a dashboard."},"Hierarchy":{"type":"object","properties":{"baseLevelId":{"type":"integer","description":"The ID of the base level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"levels":{"type":"array","description":"Details about the hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/HierarchyLevel"}}},"additionalProperties":false,"description":"The project issue type hierarchy.","xml":{"name":"hierarchy"}},"HierarchyLevel":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"name":{"type":"string","description":"The name of this hierarchy level."},"aboveLevelId":{"type":"integer","description":"The ID of the level above this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"belowLevelId":{"type":"integer","description":"The ID of the level below this one in the hierarchy. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"projectConfigurationId":{"type":"integer","description":"The ID of the project configuration. This property is deprecated, see [Change oticen: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"int64"},"level":{"type":"integer","description":"The level of this item in the hierarchy.","format":"int32"},"issueTypeIds":{"type":"array","description":"The issue types available in this hierarchy level.","items":{"type":"integer","format":"int64"}},"externalUuid":{"type":"string","description":"The external UUID of the hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"uuid"},"globalHierarchyLevel":{"type":"string","enum":["SUBTASK","BASE","EPIC"]}},"additionalProperties":false},"PageOfDashboards":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"prev":{"type":"string","description":"The URL of the previous page of results, if any.","readOnly":true},"next":{"type":"string","description":"The URL of the next page of results, if any.","readOnly":true},"dashboards":{"type":"array","description":"List of dashboards.","readOnly":true,"items":{"$ref":"#/components/schemas/Dashboard"}}},"additionalProperties":false,"description":"A page containing dashboard details."},"Project":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project details in the response.","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the project details.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the project."},"key":{"type":"string","description":"The key of the project.","readOnly":true},"description":{"type":"string","description":"A brief description of the project.","readOnly":true},"lead":{"description":"The username of the project lead.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"components":{"type":"array","description":"List of the components contained in the project.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectComponent"}},"issueTypes":{"type":"array","description":"List of the issue types available in the project.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeDetails"}},"url":{"type":"string","description":"A link to information about this project, such as project documentation.","readOnly":true},"email":{"type":"string","description":"An email address associated with the project."},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","readOnly":true,"enum":["PROJECT_LEAD","UNASSIGNED"]},"versions":{"type":"array","description":"The versions defined in the project. For more information, see [Create version](#api-rest-api-3-version-post).","readOnly":true,"items":{"$ref":"#/components/schemas/Version"}},"name":{"type":"string","description":"The name of the project.","readOnly":true},"roles":{"type":"object","additionalProperties":{"type":"string","format":"uri","readOnly":true},"description":"The name and self URL for each role defined in the project. For more information, see [Create project role](#api-rest-api-3-role-post).","readOnly":true},"avatarUrls":{"description":"The URLs of the project's avatars.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"projectCategory":{"description":"The category the project belongs to.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectCategory"}]},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes) of the project.","readOnly":true,"enum":["software","service_desk","business"]},"simplified":{"type":"boolean","description":"Whether the project is simplified.","readOnly":true},"style":{"type":"string","description":"The type of the project.","readOnly":true,"enum":["classic","next-gen"]},"favourite":{"type":"boolean","description":"Whether the project is selected as a favorite."},"isPrivate":{"type":"boolean","description":"Whether the project is private.","readOnly":true},"issueTypeHierarchy":{"description":"The issue type hierarchy for the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Hierarchy"}]},"permissions":{"description":"User permissions on the project","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectPermissions"}]},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Map of project properties","readOnly":true},"uuid":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"insight":{"description":"Insights about the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectInsight"}]},"deleted":{"type":"boolean","description":"Whether the project is marked as deleted.","readOnly":true},"retentionTillDate":{"type":"string","description":"The date when the project is deleted permanently.","format":"date-time","readOnly":true},"deletedDate":{"type":"string","description":"The date when the project was marked as deleted.","format":"date-time","readOnly":true},"deletedBy":{"description":"The user who marked the project as deleted.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"archived":{"type":"boolean","description":"Whether the project is archived.","readOnly":true},"archivedDate":{"type":"string","description":"The date when the project was archived.","format":"date-time","readOnly":true},"archivedBy":{"description":"The user who archived the project.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"landingPageInfo":{"description":"The project landing page info.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectLandingPageInfo"}]}},"additionalProperties":false,"description":"Details about a project.","xml":{"name":"project"}},"ProjectCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the project category.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the project category.","readOnly":true},"name":{"type":"string","description":"The name of the project category. Required on create, optional on update."},"description":{"type":"string","description":"The description of the project category."}},"additionalProperties":false,"description":"A project category."},"ProjectComponent":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the component.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the component.","readOnly":true},"name":{"type":"string","description":"The unique name for the component in the project. Required when creating a component. Optional when updating a component. The maximum length is 255 characters."},"description":{"type":"string","description":"The description for the component. Optional when creating or updating a component."},"lead":{"description":"The user details for the component's lead user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"leadUserName":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"leadAccountId":{"maxLength":128,"type":"string","description":"The accountId of the component's lead user. The accountId uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.","writeOnly":true},"assigneeType":{"type":"string","description":"The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Can take the following values:\n\n * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n * `UNASSIGNED` an assignee is not set for issues created with this component.\n * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.\n\nDefault value: `PROJECT_DEFAULT`. \nOptional when creating or updating a component.","enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"assignee":{"description":"The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"realAssigneeType":{"type":"string","description":"The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT` when none of the preceding cases are true.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"description":"The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"isAssigneeTypeValid":{"type":"boolean","description":"Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.","readOnly":true},"project":{"type":"string","description":"The key of the project the component is assigned to. Required when creating a component. Can't be updated."},"projectId":{"type":"integer","description":"The ID of the project the component is assigned to.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details about a project component.","xml":{"name":"component"}},"ProjectInsight":{"type":"object","properties":{"totalIssueCount":{"type":"integer","description":"Total issue count.","format":"int64","readOnly":true},"lastIssueUpdateTime":{"type":"string","description":"The last issue update time.","format":"date-time","readOnly":true}},"additionalProperties":false,"description":"Additional details about a project."},"ProjectLandingPageInfo":{"type":"object","properties":{"url":{"type":"string"},"projectKey":{"type":"string"},"projectType":{"type":"string"},"boardId":{"type":"integer","format":"int64"},"simplified":{"type":"boolean"}},"additionalProperties":false},"ProjectPermissions":{"type":"object","properties":{"canEdit":{"type":"boolean","description":"Whether the logged user can edit the project.","readOnly":true}},"additionalProperties":false,"description":"Permissions which a user has on a project."},"ProjectRole":{"type":"object","properties":{"self":{"type":"string","description":"The URL the project role details.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the project role."},"id":{"type":"integer","description":"The ID of the project role.","format":"int64","readOnly":true},"description":{"type":"string","description":"The description of the project role.","readOnly":true},"actors":{"type":"array","description":"The list of users who act in this role.","readOnly":true,"items":{"$ref":"#/components/schemas/RoleActor"}},"scope":{"description":"The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"translatedName":{"type":"string","description":"The translated name of the project role."},"currentUserRole":{"type":"boolean","description":"Whether the calling user is part of this role."},"admin":{"type":"boolean","description":"Whether this role is the admin role for the project.","readOnly":true},"roleConfigurable":{"type":"boolean","description":"Whether the roles are configurable for this project.","readOnly":true},"default":{"type":"boolean","description":"Whether this role is the default role for the project","readOnly":true}},"additionalProperties":false,"description":"Details about the roles in a project."},"ProjectRoleGroup":{"type":"object","properties":{"displayName":{"type":"string","description":"The display name of the group."},"name":{"type":"string","description":"The name of the group"}},"additionalProperties":false,"description":"Details of the group associated with the role."},"ProjectRoleUser":{"type":"object","properties":{"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import.","readOnly":true}},"additionalProperties":false,"description":"Details of the user associated with the role."},"RoleActor":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the role actor.","format":"int64","readOnly":true},"displayName":{"type":"string","description":"The display name of the role actor. For users, depending on the user’s privacy setting, this may return an alternative value for the user's name.","readOnly":true},"type":{"type":"string","description":"The type of role actor.","readOnly":true,"enum":["atlassian-group-role-actor","atlassian-user-role-actor"]},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"avatarUrl":{"type":"string","description":"The avatar of the role actor.","format":"uri","readOnly":true},"actorUser":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectRoleUser"}]},"actorGroup":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/ProjectRoleGroup"}]}},"additionalProperties":false,"description":"Details about a user assigned to a project role.","xml":{"name":"projectRoleActor"}},"SharePermission":{"required":["type"],"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier of the share permission.","format":"int64","readOnly":true},"type":{"type":"string","description":"The type of share permission:\n\n * `user` Shared with a user.\n * `group` Shared with a group. If set in a request, then specify `sharePermission.group` as well.\n * `project` Shared with a project. If set in a request, then specify `sharePermission.project` as well.\n * `projectRole` Share with a project role in a project. This value is not returned in responses. It is used in requests, where it needs to be specify with `projectId` and `projectRoleId`.\n * `global` Shared globally. If set in a request, no other `sharePermission` properties need to be specified.\n * `loggedin` Shared with all logged-in users. Note: This value is set in a request by specifying `authenticated` as the `type`.\n * `project-unknown` Shared with a project that the user does not have access to. Cannot be set in a request.","enum":["user","group","project","projectRole","global","loggedin","authenticated","project-unknown"]},"project":{"description":"The project that the filter is shared with. This is similar to the project object returned by [Get project](#api-rest-api-3-project-projectIdOrKey-get) but it contains a subset of the properties, which are: `self`, `id`, `key`, `assigneeType`, `name`, `roles`, `avatarUrls`, `projectType`, `simplified`. \nFor a request, specify the `id` for the project.","allOf":[{"$ref":"#/components/schemas/Project"}]},"role":{"description":"The project role that the filter is shared with. \nFor a request, specify the `id` for the role. You must also specify the `project` object and `id` for the project that the role is in.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"group":{"description":"The group that the filter is shared with. For a request, specify the `name` property for the group.","allOf":[{"$ref":"#/components/schemas/GroupName"}]},"user":{"description":"The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user.","allOf":[{"$ref":"#/components/schemas/UserBean"}]}},"additionalProperties":false,"description":"Details of a share permission for the filter."},"SimpleLink":{"type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"iconClass":{"type":"string"},"label":{"type":"string"},"title":{"type":"string"},"href":{"type":"string"},"weight":{"type":"integer","format":"int32"}},"additionalProperties":false,"description":"Details about the operations available in this version.","xml":{"name":"link"}},"UserBean":{"type":"object","properties":{"key":{"type":"string","description":"This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. \nThe key of the user."},"self":{"type":"string","description":"The URL of the user.","format":"uri"},"name":{"type":"string","description":"This property is deprecated in favor of `accountId` because of privacy changes. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. \nThe username of the user."},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may return an alternative value."},"active":{"type":"boolean","description":"Whether the user is active."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"avatarUrls":{"description":"The avatars of the user.","allOf":[{"$ref":"#/components/schemas/UserBeanAvatarUrls"}]}},"additionalProperties":false},"UserBeanAvatarUrls":{"type":"object","properties":{"24x24":{"type":"string","description":"The URL of the user's 24x24 pixel avatar.","format":"uri"},"32x32":{"type":"string","description":"The URL of the user's 32x32 pixel avatar.","format":"uri"},"16x16":{"type":"string","description":"The URL of the user's 16x16 pixel avatar.","format":"uri"},"48x48":{"type":"string","description":"The URL of the user's 48x48 pixel avatar.","format":"uri"}},"additionalProperties":false},"Version":{"type":"object","properties":{"expand":{"type":"string","description":"Use [expand](em>#expansion) to include additional information about version in the response. This parameter accepts a comma-separated list. Expand options include:\n\n * `operations` Returns the list of operations available for this version.\n * `issuesstatus` Returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.\n\nOptional for create and update.","xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the version.","format":"uri","readOnly":true},"id":{"type":"string","description":"The ID of the version.","readOnly":true},"description":{"type":"string","description":"The description of the version. Optional when creating or updating a version."},"name":{"type":"string","description":"The unique name of the version. Required when creating a version. Optional when updating a version. The maximum length is 255 characters."},"archived":{"type":"boolean","description":"Indicates that the version is archived. Optional when creating or updating a version."},"released":{"type":"boolean","description":"Indicates that the version is released. If the version is released a request to release again is ignored. Not applicable when creating a version. Optional when updating a version."},"startDate":{"type":"string","description":"The start date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.","format":"date"},"releaseDate":{"type":"string","description":"The release date of the version. Expressed in ISO 8601 format (yyyy-mm-dd). Optional when creating or updating a version.","format":"date"},"overdue":{"type":"boolean","description":"Indicates that the version is overdue.","readOnly":true},"userStartDate":{"type":"string","description":"The date on which work on this version is expected to start, expressed in the instance's *Day/Month/Year Format* date format.","readOnly":true},"userReleaseDate":{"type":"string","description":"The date on which work on this version is expected to finish, expressed in the instance's *Day/Month/Year Format* date format.","readOnly":true},"project":{"type":"string","description":"Deprecated. Use `projectId`."},"projectId":{"type":"integer","description":"The ID of the project to which this version is attached. Required when creating a version. Not applicable when updating a version.","format":"int64"},"moveUnfixedIssuesTo":{"type":"string","description":"The URL of the self link to the version to which all unfixed issues are moved when a version is released. Not applicable when creating a version. Optional when updating a version.","format":"uri"},"operations":{"type":"array","description":"If the expand option `operations` is used, returns the list of operations available for this version.","readOnly":true,"items":{"$ref":"#/components/schemas/SimpleLink"}},"issuesStatusForFixVersion":{"description":"If the expand option `issuesstatus` is used, returns the count of issues in this version for each of the status categories *to do*, *in progress*, *done*, and *unmapped*. The *unmapped* property contains a count of issues with a status other than *to do*, *in progress*, and *done*.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/VersionIssuesStatus"}]}},"additionalProperties":false,"description":"Details about a project version.","xml":{"name":"version"}},"VersionIssuesStatus":{"type":"object","properties":{"unmapped":{"type":"integer","description":"Count of issues with a status other than *to do*, *in progress*, and *done*.","format":"int64","readOnly":true},"toDo":{"type":"integer","description":"Count of issues with status *to do*.","format":"int64","readOnly":true},"inProgress":{"type":"integer","description":"Count of issues with status *in progress*.","format":"int64","readOnly":true},"done":{"type":"integer","description":"Count of issues with status *done*.","format":"int64","readOnly":true}},"additionalProperties":true,"description":"Counts of the number of issues in various statuses."},"PageBeanDashboard":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Dashboard"}}},"additionalProperties":false,"description":"A page of items."},"DashboardDetails":{"required":["editPermissions","name","sharePermissions"],"type":"object","properties":{"name":{"type":"string","description":"The name of the dashboard."},"description":{"type":"string","description":"The description of the dashboard."},"sharePermissions":{"type":"array","description":"The share permissions for the dashboard.","items":{"$ref":"#/components/schemas/SharePermission"}},"editPermissions":{"type":"array","description":"The edit permissions for the dashboard.","items":{"$ref":"#/components/schemas/SharePermission"}}},"additionalProperties":false,"description":"Details of a dashboard."},"FailedWebhook":{"required":["failureTime","id","url"],"type":"object","properties":{"id":{"type":"string","description":"The webhook ID, as sent in the `X-Atlassian-Webhook-Identifier` header with the webhook."},"body":{"type":"string","description":"The webhook body."},"url":{"type":"string","description":"The original webhook destination."},"failureTime":{"type":"integer","description":"The time the webhook was added to the list of failed webhooks (that is, the time of the last failed retry).","format":"int64"}},"additionalProperties":false,"description":"Details about a failed webhook."},"FailedWebhooks":{"required":["maxResults","values"],"type":"object","properties":{"values":{"type":"array","description":"The list of webhooks.","items":{"$ref":"#/components/schemas/FailedWebhook"}},"maxResults":{"type":"integer","description":"The maximum number of items on the page. If the list of values is shorter than this number, then there are no more pages.","format":"int32"},"next":{"type":"string","description":"The URL to the next page of results. Present only if the request returned at least one result.The next page may be empty at the time of receiving the response, but new failed webhooks may appear in time. You can save the URL to the next page and query for new results periodically (for example, every hour).","format":"uri"}},"additionalProperties":false,"description":"A page of failed webhooks."},"WebhookDetails":{"required":["events","jqlFilter"],"type":"object","properties":{"jqlFilter":{"type":"string","description":"The JQL filter that specifies which issues the webhook is sent for. Only a subset of JQL can be used. The supported elements are:\n\n * Fields: `issueKey`, `project`, `issuetype`, `status`, `assignee`, `reporter`, `issue.property`, and `cf[id]`. For custom fields (`cf[id]`), only the epic label custom field is supported.\".\n * Operators: `=`, `!=`, `IN`, and `NOT IN`."},"fieldIdsFilter":{"type":"array","description":"A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.","items":{"type":"string","description":"A list of field IDs. When the issue changelog contains any of the fields, the webhook jira:issue_updated is sent. If this parameter is not present, the app is notified about all field updates."}},"issuePropertyKeysFilter":{"type":"array","description":"A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.","items":{"type":"string","description":"A list of issue property keys. A change of those issue properties triggers the issue_property_set or issue_property_deleted webhooks. If this parameter is not present, the app is notified about all issue property updates."}},"events":{"type":"array","description":"The Jira events that trigger the webhook.","items":{"type":"string","enum":["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","comment_updated","comment_deleted","issue_property_set","issue_property_deleted"]}}},"additionalProperties":false,"description":"A list of webhooks."},"WebhookRegistrationDetails":{"required":["url","webhooks"],"type":"object","properties":{"webhooks":{"type":"array","description":"A list of webhooks.","items":{"$ref":"#/components/schemas/WebhookDetails"}},"url":{"type":"string","description":"The URL that specifies where to send the webhooks. This URL must use the same base URL as the Connect app."}},"additionalProperties":false,"description":"Details of webhooks to register."},"ContainerForRegisteredWebhooks":{"type":"object","properties":{"webhookRegistrationResult":{"type":"array","description":"A list of registered webhooks.","items":{"$ref":"#/components/schemas/RegisteredWebhook"}}},"additionalProperties":false,"description":"Container for a list of registered webhooks. Webhook details are returned in the same order as the request."},"RegisteredWebhook":{"type":"object","properties":{"createdWebhookId":{"type":"integer","description":"The ID of the webhook. Returned if the webhook is created.","format":"int64"},"errors":{"type":"array","description":"Error messages specifying why the webhook creation failed.","items":{"type":"string","description":"Error messages specifying why the webhook creation failed."}}},"additionalProperties":false,"description":"ID of a registered webhook or error messages explaining why a webhook wasn't registered."},"PageBeanWebhook":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Webhook"}}},"additionalProperties":false,"description":"A page of items."},"Webhook":{"required":["events","id","jqlFilter"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the webhook.","format":"int64"},"jqlFilter":{"type":"string","description":"The JQL filter that specifies which issues the webhook is sent for."},"fieldIdsFilter":{"type":"array","description":"A list of field IDs. When the issue changelog contains any of the fields, the webhook `jira:issue_updated` is sent. If this parameter is not present, the app is notified about all field updates.","items":{"type":"string","description":"A list of field IDs. When the issue changelog contains any of the fields, the webhook jira:issue_updated is sent. If this parameter is not present, the app is notified about all field updates."}},"issuePropertyKeysFilter":{"type":"array","description":"A list of issue property keys. A change of those issue properties triggers the `issue_property_set` or `issue_property_deleted` webhooks. If this parameter is not present, the app is notified about all issue property updates.","items":{"type":"string","description":"A list of issue property keys. A change of those issue properties triggers the issue_property_set or issue_property_deleted webhooks. If this parameter is not present, the app is notified about all issue property updates."}},"events":{"type":"array","description":"The Jira events that trigger the webhook.","items":{"type":"string","enum":["jira:issue_created","jira:issue_updated","jira:issue_deleted","comment_created","comment_updated","comment_deleted","issue_property_set","issue_property_deleted"]}},"expirationDate":{"type":"integer","format":"int64","readOnly":true}},"additionalProperties":false,"description":"A webhook."},"ContainerForWebhookIDs":{"required":["webhookIds"],"type":"object","properties":{"webhookIds":{"type":"array","description":"A list of webhook IDs.","items":{"type":"integer","description":"A list of webhook IDs.","format":"int64"}}},"additionalProperties":false,"description":"Container for a list of webhook IDs."},"WebhooksExpirationDate":{"required":["expirationDate"],"type":"object","properties":{"expirationDate":{"type":"integer","format":"int64","readOnly":true}},"additionalProperties":false,"description":"The date the newly refreshed webhooks expire."},"Locale":{"type":"object","properties":{"locale":{"type":"string","description":"The locale code. The Java the locale format is used: a two character language code (ISO 639), an underscore, and two letter country code (ISO 3166). For example, en\\_US represents a locale of English (United States). Required on create."}},"additionalProperties":false,"description":"Details of a locale."},"ProjectEmailAddress":{"type":"object","properties":{"emailAddress":{"type":"string","description":"The email address."}},"additionalProperties":false,"description":"A project's sender email address."},"ProjectType":{"type":"object","properties":{"key":{"type":"string","description":"The key of the project type.","readOnly":true},"formattedKey":{"type":"string","description":"The formatted key of the project type.","readOnly":true},"descriptionI18nKey":{"type":"string","description":"The key of the project type's description.","readOnly":true},"icon":{"type":"string","description":"The icon of the project type.","readOnly":true},"color":{"type":"string","description":"The color of the project type.","readOnly":true}},"additionalProperties":false,"description":"Details about a project type."},"CustomFieldReplacement":{"type":"object","properties":{"customFieldId":{"type":"integer","description":"The ID of the custom field in which to replace the version number.","format":"int64"},"moveTo":{"type":"integer","description":"The version number to use as a replacement for the deleted version.","format":"int64"}},"additionalProperties":false,"description":"Details about the replacement for a deleted version."},"DeleteAndReplaceVersionBean":{"type":"object","properties":{"moveFixIssuesTo":{"type":"integer","description":"The ID of the version to update `fixVersion` to when the field contains the deleted version.","format":"int64"},"moveAffectedIssuesTo":{"type":"integer","description":"The ID of the version to update `affectedVersion` to when the field contains the deleted version.","format":"int64"},"customFieldReplacementList":{"type":"array","description":"An array of custom field IDs (`customFieldId`) and version IDs (`moveTo`) to update when the fields contain the deleted version.","items":{"$ref":"#/components/schemas/CustomFieldReplacement"}}},"additionalProperties":false},"VersionIssueCounts":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these count details.","format":"uri","readOnly":true},"issuesFixedCount":{"type":"integer","description":"Count of issues where the `fixVersion` is set to the version.","format":"int64","readOnly":true},"issuesAffectedCount":{"type":"integer","description":"Count of issues where the `affectedVersion` is set to the version.","format":"int64","readOnly":true},"issueCountWithCustomFieldsShowingVersion":{"type":"integer","description":"Count of issues where a version custom field is set to the version.","format":"int64","readOnly":true},"customFieldUsage":{"type":"array","description":"List of custom fields using the version.","readOnly":true,"items":{"$ref":"#/components/schemas/VersionUsageInCustomField"}}},"additionalProperties":false,"description":"Various counts of issues within a version.","xml":{"name":"version"}},"VersionUsageInCustomField":{"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the custom field.","readOnly":true},"customFieldId":{"type":"integer","description":"The ID of the custom field.","format":"int64","readOnly":true},"issueCountWithVersionInCustomField":{"type":"integer","description":"Count of the issues where the custom field contains the version.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"List of custom fields using the version."},"VersionUnresolvedIssuesCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these count details.","format":"uri","readOnly":true},"issuesUnresolvedCount":{"type":"integer","description":"Count of unresolved issues.","format":"int64","readOnly":true},"issuesCount":{"type":"integer","description":"Count of issues.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Count of a version's unresolved issues.","xml":{"name":"version"}},"VersionMoveBean":{"type":"object","properties":{"after":{"type":"string","description":"The URL (self link) of the version after which to place the moved version. Cannot be used with `position`.","format":"uri"},"position":{"type":"string","description":"An absolute position in which to place the moved version. Cannot be used with `after`.","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false,"xml":{"name":"version"}},"FoundUsers":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/UserPickerUser"}},"total":{"type":"integer","description":"The total number of users found in the search.","format":"int32"},"header":{"type":"string","description":"Header text indicating the number of users in the response and the total number of users found in the search."}},"additionalProperties":false,"description":"The list of users found in a search, including header text (Showing X of Y matching users) and total of matched users."},"UserPickerUser":{"type":"object","properties":{"accountId":{"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"name":{"type":"string","description":"This property is no longer available . See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"key":{"type":"string","description":"This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"html":{"type":"string","description":"The display name, email address, and key of the user with the matched query string highlighted with the HTML bold tag."},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy setting, this may be returned as null."},"avatarUrl":{"type":"string","description":"The avatar URL of the user.","format":"uri"}},"additionalProperties":false,"description":"A user found in a search."},"NewUserDetails":{"required":["displayName","emailAddress"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","readOnly":true},"key":{"type":"string","description":"This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"name":{"type":"string","description":"This property is no longer available. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"password":{"type":"string","description":"This property is no longer available. If the user has an Atlassian account, their password is not changed. If the user does not have an Atlassian account, they are sent an email asking them set up an account."},"emailAddress":{"type":"string","description":"The email address for the user."},"displayName":{"type":"string","description":"A suggested display name for the user. If the user has an Atlassian account, their display name is not changed. If the user does not have an Atlassian account, this display name is used as a suggestion for creating an account. The user is sent an email asking them to set their display name and privacy preferences."},"applicationKeys":{"type":"array","description":"Deprecated, do not use.","items":{"type":"string"}}},"additionalProperties":true,"description":"The user details."},"Avatar":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the avatar."},"owner":{"type":"string","description":"The owner of the avatar. For a system avatar the owner is null (and nothing is returned). For non-system avatars this is the appropriate identifier, such as the ID for a project or the account ID for a user.","readOnly":true},"isSystemAvatar":{"type":"boolean","description":"Whether the avatar is a system avatar.","readOnly":true},"isSelected":{"type":"boolean","description":"Whether the avatar is used in Jira. For example, shown as a project's avatar.","readOnly":true},"isDeletable":{"type":"boolean","description":"Whether the avatar can be deleted.","readOnly":true},"fileName":{"type":"string","description":"The file name of the avatar icon. Returned for system avatars.","readOnly":true},"urls":{"type":"object","additionalProperties":{"type":"string","format":"uri","readOnly":true},"description":"The list of avatar icon URLs.","readOnly":true}},"additionalProperties":false,"description":"Details of an avatar."},"Avatars":{"type":"object","properties":{"system":{"type":"array","description":"System avatars list.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}},"custom":{"type":"array","description":"Custom avatars list.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"Details about system and custom avatars."},"StatusCategory":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the status category.","readOnly":true},"id":{"type":"integer","description":"The ID of the status category.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the status category.","readOnly":true},"colorName":{"type":"string","description":"The name of the color used to represent the status category.","readOnly":true},"name":{"type":"string","description":"The name of the status category.","readOnly":true}},"additionalProperties":true,"description":"A status category."},"StatusDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the status.","readOnly":true},"description":{"type":"string","description":"The description of the status.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the icon used to represent the status.","readOnly":true},"name":{"type":"string","description":"The name of the status.","readOnly":true},"id":{"type":"string","description":"The ID of the status.","readOnly":true},"statusCategory":{"description":"The category assigned to the status.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusCategory"}]}},"additionalProperties":true,"description":"A status."},"ScreenableTab":{"required":["name"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen tab.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen tab. The maximum length is 255 characters."}},"additionalProperties":false,"description":"A screen tab."},"PageBeanScreen":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Screen"}}},"additionalProperties":false,"description":"A page of items."},"Screen":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen.","readOnly":true},"description":{"type":"string","description":"The description of the screen.","readOnly":true},"scope":{"description":"The scope of the screen.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"A screen."},"ScreenableField":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the screen tab field.","readOnly":true},"name":{"type":"string","description":"The name of the screen tab field. Required on create and update. The maximum length is 255 characters."}},"additionalProperties":false,"description":"A screen tab field."},"MoveFieldBean":{"type":"object","properties":{"after":{"type":"string","description":"The ID of the screen tab field after which to place the moved screen tab field. Required if `position` isn't provided.","format":"uri"},"position":{"type":"string","description":"The named position to which the screen tab field should be moved. Required if `after` isn't provided.","enum":["Earlier","Later","First","Last"]}},"additionalProperties":false},"AddFieldBean":{"required":["fieldId"],"type":"object","properties":{"fieldId":{"type":"string","description":"The ID of the field to add."}},"additionalProperties":false},"ScreenDetails":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the screen. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a screen."},"UpdateScreenDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the screen. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a screen."},"Resolution":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue resolution.","format":"uri"},"id":{"type":"string","description":"The ID of the issue resolution."},"description":{"type":"string","description":"The description of the issue resolution."},"name":{"type":"string","description":"The name of the issue resolution."}},"additionalProperties":false,"description":"Details of an issue resolution.","xml":{"name":"resolution"}},"CreateProjectDetails":{"required":["key","name"],"type":"object","properties":{"key":{"type":"string","description":"Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters."},"name":{"type":"string","description":"The name of the project."},"description":{"type":"string","description":"A brief description of the project."},"lead":{"type":"string","description":"This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `leadAccountId`."},"leadAccountId":{"maxLength":128,"type":"string","description":"The account ID of the project lead. Either `lead` or `leadAccountId` must be set when creating a project. Cannot be provided with `lead`."},"url":{"type":"string","description":"A link to information about this project, such as project documentation"},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer","description":"An integer value for the project's avatar.","format":"int64"},"issueSecurityScheme":{"type":"integer","description":"The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs.","format":"int64"},"permissionScheme":{"type":"integer","description":"The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.","format":"int64"},"notificationScheme":{"type":"integer","description":"The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.","format":"int64"},"categoryId":{"type":"integer","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.","format":"int64"},"projectTypeKey":{"type":"string","description":"The [project type](https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes), which defines the application-specific feature set. If you don't specify the project template you have to specify the project type.","enum":["software","service_desk","business"]},"projectTemplateKey":{"type":"string","description":"A predefined configuration for a project. The type of the `projectTemplateKey` must match with the type of the `projectTypeKey`.","enum":["com.pyxis.greenhopper.jira:gh-simplified-agility-kanban","com.pyxis.greenhopper.jira:gh-simplified-agility-scrum","com.pyxis.greenhopper.jira:gh-simplified-basic","com.pyxis.greenhopper.jira:gh-simplified-kanban-classic","com.pyxis.greenhopper.jira:gh-simplified-scrum-classic","com.atlassian.servicedesk:simplified-it-service-desk","com.atlassian.servicedesk:simplified-internal-service-desk","com.atlassian.servicedesk:simplified-external-service-desk","com.atlassian.servicedesk:simplified-hr-service-desk","com.atlassian.servicedesk:simplified-facilities-service-desk","com.atlassian.jira-core-project-templates:jira-core-simplified-content-management","com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval","com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking","com.atlassian.jira-core-project-templates:jira-core-simplified-process-control","com.atlassian.jira-core-project-templates:jira-core-simplified-procurement","com.atlassian.jira-core-project-templates:jira-core-simplified-project-management","com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment","com.atlassian.jira-core-project-templates:jira-core-simplified-task-"]},"workflowScheme":{"type":"integer","description":"The ID of the workflow scheme for the project. Use the [Get all workflow schemes](#api-rest-api-3-workflowscheme-get) operation to get a list of workflow scheme IDs. If you specify the workflow scheme you cannot specify the project template key.","format":"int64"},"issueTypeScreenScheme":{"type":"integer","description":"The ID of the issue type screen scheme for the project. Use the [Get all issue type screen schemes](#api-rest-api-3-issuetypescreenscheme-get) operation to get a list of issue type screen scheme IDs. If you specify the issue type screen scheme you cannot specify the project template key.","format":"int64"},"issueTypeScheme":{"type":"integer","description":"The ID of the issue type scheme for the project. Use the [Get all issue type schemes](#api-rest-api-3-issuetypescheme-get) operation to get a list of issue type scheme IDs. If you specify the issue type scheme you cannot specify the project template key.","format":"int64"},"fieldConfigurationScheme":{"type":"integer","description":"The ID of the field configuration scheme for the project. Use the [Get all field configuration schemes](#api-rest-api-3-fieldconfigurationscheme-get) operation to get a list of field configuration scheme IDs. If you specify the field configuration scheme you cannot specify the project template key.","format":"int64"}},"additionalProperties":false,"description":"Details about the project."},"ProjectIdentifiers":{"required":["id","key","self"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the created project.","format":"uri","readOnly":true},"id":{"type":"integer","description":"The ID of the created project.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the created project.","readOnly":true}},"additionalProperties":false,"description":"Identifiers for a project."},"UpdateProjectDetails":{"type":"object","properties":{"key":{"type":"string","description":"Project keys must be unique and start with an uppercase letter followed by one or more uppercase alphanumeric characters. The maximum length is 10 characters."},"name":{"type":"string","description":"The name of the project."},"description":{"type":"string","description":"A brief description of the project."},"lead":{"type":"string","description":"This parameter is deprecated because of privacy changes. Use `leadAccountId` instead. See the [migration guide](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details. The user name of the project lead. Cannot be provided with `leadAccountId`."},"leadAccountId":{"maxLength":128,"type":"string","description":"The account ID of the project lead. Cannot be provided with `lead`."},"url":{"type":"string","description":"A link to information about this project, such as project documentation"},"assigneeType":{"type":"string","description":"The default assignee when creating issues for this project.","enum":["PROJECT_LEAD","UNASSIGNED"]},"avatarId":{"type":"integer","description":"An integer value for the project's avatar.","format":"int64"},"issueSecurityScheme":{"type":"integer","description":"The ID of the issue security scheme for the project, which enables you to control who can and cannot view issues. Use the [Get issue security schemes](#api-rest-api-3-issuesecurityschemes-get) resource to get all issue security scheme IDs.","format":"int64"},"permissionScheme":{"type":"integer","description":"The ID of the permission scheme for the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to see a list of all permission scheme IDs.","format":"int64"},"notificationScheme":{"type":"integer","description":"The ID of the notification scheme for the project. Use the [Get notification schemes](#api-rest-api-3-notificationscheme-get) resource to get a list of notification scheme IDs.","format":"int64"},"categoryId":{"type":"integer","description":"The ID of the project's category. A complete list of category IDs is found using the [Get all project categories](#api-rest-api-3-projectCategory-get) operation.","format":"int64"}},"additionalProperties":false,"description":"Details about the project."},"PageBeanVersion":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Version"}}},"additionalProperties":false,"description":"A page of items."},"ComponentWithIssueCount":{"type":"object","properties":{"issueCount":{"type":"integer","description":"Count of issues for the component.","format":"int64","readOnly":true},"isAssigneeTypeValid":{"type":"boolean","description":"Whether a user is associated with `assigneeType`. For example, if the `assigneeType` is set to `COMPONENT_LEAD` but the component lead is not set, then `false` is returned.","readOnly":true},"realAssigneeType":{"type":"string","description":"The type of the assignee that is assigned to issues created with this component, when an assignee cannot be set from the `assigneeType`. For example, `assigneeType` is set to `COMPONENT_LEAD` but no component lead is set. This property is set to one of the following values:\n\n * `PROJECT_LEAD` when `assigneeType` is `PROJECT_LEAD` and the project lead has permission to be assigned issues in the project that the component is in.\n * `COMPONENT_LEAD` when `assignee`Type is `COMPONENT_LEAD` and the component lead has permission to be assigned issues in the project that the component is in.\n * `UNASSIGNED` when `assigneeType` is `UNASSIGNED` and Jira is configured to allow unassigned issues.\n * `PROJECT_DEFAULT` when none of the preceding cases are true.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"realAssignee":{"description":"The user assigned to issues created with this component, when `assigneeType` does not identify a valid assignee.","allOf":[{"$ref":"#/components/schemas/User"}]},"description":{"type":"string","description":"The description for the component.","readOnly":true},"self":{"type":"string","description":"The URL for this count of the issues contained in the component.","format":"uri","readOnly":true},"projectId":{"type":"integer","description":"Not used.","format":"int64","readOnly":true},"assignee":{"description":"The details of the user associated with `assigneeType`, if any. See `realAssignee` for details of the user assigned to issues created with this component.","allOf":[{"$ref":"#/components/schemas/User"}]},"project":{"type":"string","description":"The key of the project to which the component is assigned.","readOnly":true},"assigneeType":{"type":"string","description":"The nominal user type used to determine the assignee for issues created with this component. See `realAssigneeType` for details on how the type of the user, and hence the user, assigned to issues is determined. Takes the following values:\n\n * `PROJECT_LEAD` the assignee to any issues created with this component is nominally the lead for the project the component is in.\n * `COMPONENT_LEAD` the assignee to any issues created with this component is nominally the lead for the component.\n * `UNASSIGNED` an assignee is not set for issues created with this component.\n * `PROJECT_DEFAULT` the assignee to any issues created with this component is nominally the default assignee for the project that the component is in.","readOnly":true,"enum":["PROJECT_DEFAULT","COMPONENT_LEAD","PROJECT_LEAD","UNASSIGNED"]},"lead":{"description":"The user details for the component's lead user.","allOf":[{"$ref":"#/components/schemas/User"}]},"name":{"type":"string","description":"The name for the component.","readOnly":true},"id":{"type":"string","description":"The unique identifier for the component.","readOnly":true}},"additionalProperties":false,"description":"Details about a component with a count of the issues it contains."},"PageBeanComponentWithIssueCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ComponentWithIssueCount"}}},"additionalProperties":false,"description":"A page of items."},"StringList":{"type":"object","additionalProperties":false},"PageBeanProject":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Project"}}},"additionalProperties":false,"description":"A page of items."},"ProjectAvatars":{"type":"object","properties":{"system":{"type":"array","description":"List of avatars included with Jira. These avatars cannot be deleted.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}},"custom":{"type":"array","description":"List of avatars added to Jira. These avatars may be deleted.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"List of project avatars."},"IssueTypeWithStatus":{"required":["id","name","self","statuses","subtask"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue type's status details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type represents subtasks.","readOnly":true},"statuses":{"type":"array","description":"List of status details for the issue type.","readOnly":true,"items":{"$ref":"#/components/schemas/StatusDetails"}}},"additionalProperties":false,"description":"Status details for an issue type."},"SecurityScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue security scheme.","readOnly":true},"id":{"type":"integer","description":"The ID of the issue security scheme.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the issue security scheme.","readOnly":true},"description":{"type":"string","description":"The description of the issue security scheme.","readOnly":true},"defaultSecurityLevelId":{"type":"integer","description":"The ID of the default security level.","format":"int64","readOnly":true},"levels":{"type":"array","items":{"$ref":"#/components/schemas/SecurityLevel"}}},"additionalProperties":false,"description":"Details about a security scheme."},"Priority":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the issue priority."},"statusColor":{"type":"string","description":"The color used to indicate the issue priority."},"description":{"type":"string","description":"The description of the issue priority."},"iconUrl":{"type":"string","description":"The URL of the icon for the issue priority."},"name":{"type":"string","description":"The name of the issue priority."},"id":{"type":"string","description":"The ID of the issue priority."}},"additionalProperties":true,"description":"An issue priority."},"Comment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the comment.","readOnly":true},"id":{"type":"string","description":"The ID of the comment.","readOnly":true},"author":{"description":"The ID of the user who created the comment.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"body":{"description":"The comment text in [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/)."},"renderedBody":{"type":"string","description":"The rendered version of the comment.","readOnly":true},"updateAuthor":{"description":"The ID of the user who updated the comment last.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The date and time at which the comment was created.","format":"date-time","readOnly":true},"updated":{"type":"string","description":"The date and time at which the comment was updated last.","format":"date-time","readOnly":true},"visibility":{"description":"The group or role to which this comment is visible. Optional on create and update.","allOf":[{"$ref":"#/components/schemas/Visibility"}]},"jsdPublic":{"type":"boolean","description":"Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post) operation.","readOnly":true},"properties":{"type":"array","description":"A list of comment properties. Optional on create and update.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"A comment."},"Fields":{"type":"object","properties":{"summary":{"type":"string","description":"The summary description of the linked issue.","readOnly":true},"status":{"description":"The status of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusDetails"}]},"priority":{"description":"The priority of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Priority"}]},"assignee":{"description":"The assignee of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"timetracking":{"description":"The time tracking of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/TimeTrackingDetails"}]},"issuetype":{"description":"The type of the linked issue.","$ref":"#/components/schemas/IssueTypeDetails"},"issueType":{"description":"The type of the linked issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/IssueTypeDetails"}]}},"additionalProperties":false,"description":"Key fields from the linked issue."},"IssueLinkType":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue link type and is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is the type of issue link. Required on create when `name` isn't provided. Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is read only."},"name":{"type":"string","description":"The name of the issue link type and is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is the type of issue link. Required on create when `id` isn't provided. Otherwise, read only.\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"inward":{"type":"string","description":"The description of the issue link type inward link and is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is read only.\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"outward":{"type":"string","description":"The description of the issue link type outward link and is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it is read only.\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it is required on create and optional on update. Otherwise, read only."},"self":{"type":"string","description":"The URL of the issue link type. Read only.","format":"uri","readOnly":true}},"additionalProperties":false,"description":"This object is used as follows:\n\n * In the [ issueLink](#api-rest-api-3-issueLink-post) resource it defines and reports on the type of link between the issues. Find a list of issue link types with [Get issue link types](#api-rest-api-3-issueLinkType-get).\n * In the [ issueLinkType](#api-rest-api-3-issueLinkType-post) resource it defines and reports on issue link types."},"LinkIssueRequestJsonBean":{"required":["inwardIssue","outwardIssue","type"],"type":"object","properties":{"type":{"$ref":"#/components/schemas/IssueLinkType"},"inwardIssue":{"$ref":"#/components/schemas/LinkedIssue"},"outwardIssue":{"$ref":"#/components/schemas/LinkedIssue"},"comment":{"$ref":"#/components/schemas/Comment"}},"additionalProperties":false},"LinkedIssue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of an issue. Required if `key` isn't provided."},"key":{"type":"string","description":"The key of an issue. Required if `id` isn't provided."},"self":{"type":"string","description":"The URL of the issue.","format":"uri","readOnly":true},"fields":{"description":"The fields associated with the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Fields"}]}},"additionalProperties":false,"description":"The ID or key of a linked issue."},"RichText":{"type":"object","properties":{"emptyAdf":{"type":"boolean"},"finalised":{"type":"boolean"},"valueSet":{"type":"boolean"}}},"TimeTrackingDetails":{"type":"object","properties":{"originalEstimate":{"type":"string","description":"The original estimate of time needed for this issue in readable format.","readOnly":true},"remainingEstimate":{"type":"string","description":"The remaining estimate of time needed for this issue in readable format.","readOnly":true},"timeSpent":{"type":"string","description":"Time worked on this issue in readable format.","readOnly":true},"originalEstimateSeconds":{"type":"integer","description":"The original estimate of time needed for this issue in seconds.","format":"int64","readOnly":true},"remainingEstimateSeconds":{"type":"integer","description":"The remaining estimate of time needed for this issue in seconds.","format":"int64","readOnly":true},"timeSpentSeconds":{"type":"integer","description":"Time worked on this issue in seconds.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Time tracking details."},"UserDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the user.","readOnly":true},"name":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.","readOnly":true},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."},"emailAddress":{"type":"string","description":"The email address of the user. Depending on the user’s privacy settings, this may be returned as null.","readOnly":true},"avatarUrls":{"description":"The avatars of the user.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"displayName":{"type":"string","description":"The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.","readOnly":true},"active":{"type":"boolean","description":"Whether the user is active.","readOnly":true},"timeZone":{"type":"string","description":"The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.","readOnly":true},"accountType":{"type":"string","description":"The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)","readOnly":true}},"additionalProperties":false,"description":"User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions:\n\n * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank).\n * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values.\n * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values."},"Visibility":{"type":"object","properties":{"type":{"type":"string","description":"Whether visibility of this item is restricted to a group or role.","enum":["group","role"]},"value":{"type":"string","description":"The name of the group or role to which visibility of this item is restricted."}},"additionalProperties":true,"description":"The group or role to which this item is visible."},"IssueLink":{"required":["inwardIssue","outwardIssue","type"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue link.","readOnly":true},"self":{"type":"string","description":"The URL of the issue link.","format":"uri","readOnly":true},"type":{"description":"The type of link between the issues.","allOf":[{"$ref":"#/components/schemas/IssueLinkType"}]},"inwardIssue":{"description":"The issue the link joins to.","allOf":[{"$ref":"#/components/schemas/LinkedIssue"}]},"outwardIssue":{"description":"The issue the link originates from.","allOf":[{"$ref":"#/components/schemas/LinkedIssue"}]}},"additionalProperties":false,"description":"Details of a link between issues.","xml":{"name":"issueLinks"}},"PageOfWorklogs":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"worklogs":{"type":"array","description":"List of worklogs.","readOnly":true,"items":{"$ref":"#/components/schemas/Worklog"}}},"additionalProperties":true,"description":"Paginated list of worklog details"},"Worklog":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the worklog item.","format":"uri","readOnly":true},"author":{"description":"Details of the user who created the worklog.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"updateAuthor":{"description":"Details of the user who last updated the worklog.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"comment":{"description":"A comment about the worklog in [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/). Optional when creating or updating a worklog."},"created":{"type":"string","description":"The datetime on which the worklog was created.","format":"date-time","readOnly":true},"updated":{"type":"string","description":"The datetime on which the worklog was last updated.","format":"date-time","readOnly":true},"visibility":{"description":"Details about any restrictions in the visibility of the worklog. Optional when creating or updating a worklog.","allOf":[{"$ref":"#/components/schemas/Visibility"}]},"started":{"type":"string","description":"The datetime on which the worklog effort was started. Required when creating a worklog. Optional when updating a worklog.","format":"date-time"},"timeSpent":{"type":"string","description":"The time spent working on the issue as days (\\#d), hours (\\#h), or minutes (\\#m or \\#). Required when creating a worklog if `timeSpentSeconds` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpentSecond` is provided."},"timeSpentSeconds":{"type":"integer","description":"The time in seconds spent working on the issue. Required when creating a worklog if `timeSpent` isn't provided. Optional when updating a worklog. Cannot be provided if `timeSpent` is provided.","format":"int64"},"id":{"type":"string","description":"The ID of the worklog record.","readOnly":true},"issueId":{"type":"string","description":"The ID of the issue this worklog is for.","readOnly":true},"properties":{"type":"array","description":"Details of properties for the worklog. Optional when creating or updating a worklog.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"Details of a worklog.","xml":{"name":"worklog"}},"IssueTypeCreateBean":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The unique name for the issue type. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the issue type."},"type":{"type":"string","description":"Deprecated. Use `hierarchyLevel` instead.\n\nWhether the issue type is `subtype` or `standard`. Defaults to `standard`.","enum":["subtask","standard"]},"hierarchyLevel":{"type":"integer","description":"The hierarchy level of the issue type. Use:\n\n * `-1` for Subtask.\n * `0` for Base.\n\nDefaults to `0`.","format":"int32"}},"additionalProperties":false},"IssueTypeUpdateBean":{"type":"object","properties":{"name":{"type":"string","description":"The unique name for the issue type. The maximum length is 60 characters."},"description":{"type":"string","description":"The description of the issue type."},"avatarId":{"type":"integer","description":"The ID of an issue type avatar.","format":"int64"}},"additionalProperties":false},"SecuritySchemes":{"type":"object","properties":{"issueSecuritySchemes":{"type":"array","description":"List of security schemes.","readOnly":true,"items":{"$ref":"#/components/schemas/SecurityScheme"}}},"additionalProperties":false,"description":"List of security schemes."},"IssueSecurityLevelMember":{"required":["holder","id","issueSecurityLevelId"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue security level member.","format":"int64"},"issueSecurityLevelId":{"type":"integer","description":"The ID of the issue security level.","format":"int64"},"holder":{"description":"The user or group being granted the permission. It consists of a `type` and a type-dependent `parameter`. See [Holder object](../api-group-permission-schemes/#holder-object) in *Get all permission schemes* for more information.","allOf":[{"$ref":"#/components/schemas/PermissionHolder"}]}},"additionalProperties":false,"description":"Issue security level member."},"PageBeanIssueSecurityLevelMember":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueSecurityLevelMember"}}},"additionalProperties":false,"description":"A page of items."},"FieldMetadata":{"required":["key","name","operations","required","schema"],"type":"object","properties":{"required":{"type":"boolean","description":"Whether the field is required.","readOnly":true},"schema":{"description":"The data type of the field.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/JsonTypeBean"}]},"name":{"type":"string","description":"The name of the field.","readOnly":true},"key":{"type":"string","description":"The key of the field.","readOnly":true},"autoCompleteUrl":{"type":"string","description":"The URL that can be used to automatically complete the field.","readOnly":true},"hasDefaultValue":{"type":"boolean","description":"Whether the field has a default value.","readOnly":true},"operations":{"type":"array","description":"The list of operations that can be performed on the field.","readOnly":true,"items":{"type":"string","readOnly":true}},"allowedValues":{"type":"array","description":"The list of values allowed in the field.","readOnly":true,"items":{"readOnly":true}},"defaultValue":{"description":"The default value of the field.","readOnly":true}},"additionalProperties":false,"description":"The metadata describing an issue field.","xml":{"name":"availableField"}},"IssueTransition":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue transition. Required when specifying a transition to undertake."},"name":{"type":"string","description":"The name of the issue transition.","readOnly":true},"to":{"description":"Details of the issue status after the transition.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/StatusDetails"}]},"hasScreen":{"type":"boolean","description":"Whether there is a screen associated with the issue transition.","readOnly":true},"isGlobal":{"type":"boolean","description":"Whether the issue transition is global, that is, the transition is applied to issues regardless of their status.","readOnly":true},"isInitial":{"type":"boolean","description":"Whether this is the initial issue transition for the workflow.","readOnly":true},"isAvailable":{"type":"boolean","description":"Whether the transition is available to be performed.","readOnly":true},"isConditional":{"type":"boolean","description":"Whether the issue has to meet criteria before the issue transition is applied.","readOnly":true},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"Details of the fields associated with the issue transition screen. Use this information to populate `fields` and `update` in a transition request.","readOnly":true},"expand":{"type":"string","description":"Expand options that include additional transition details in the response.","readOnly":true},"looped":{"type":"boolean"}},"additionalProperties":true,"description":"Details of an issue transition."},"JsonTypeBean":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The data type of the field.","readOnly":true},"items":{"type":"string","description":"When the data type is an array, the name of the field items within the array.","readOnly":true},"system":{"type":"string","description":"If the field is a system field, the name of the field.","readOnly":true},"custom":{"type":"string","description":"If the field is a custom field, the URI of the field.","readOnly":true},"customId":{"type":"integer","description":"If the field is a custom field, the custom ID of the field.","format":"int64","readOnly":true},"configuration":{"type":"object","additionalProperties":{"readOnly":true},"description":"If the field is a custom field, the configuration of the field.","readOnly":true}},"additionalProperties":false,"description":"The schema of a field."},"Transitions":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional transitions details in the response.","readOnly":true,"xml":{"attribute":true}},"transitions":{"type":"array","description":"List of issue transitions.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTransition"}}},"additionalProperties":false,"description":"List of issue transitions."},"IssuePickerSuggestions":{"type":"object","properties":{"sections":{"type":"array","description":"A list of issues for an issue type suggested for use in auto-completion.","readOnly":true,"items":{"$ref":"#/components/schemas/IssuePickerSuggestionsIssueType"}}},"additionalProperties":false,"description":"A list of issues suggested for use in auto-completion."},"IssuePickerSuggestionsIssueType":{"type":"object","properties":{"label":{"type":"string","description":"The label of the type of issues suggested for use in auto-completion.","readOnly":true},"sub":{"type":"string","description":"If issue suggestions are found, returns a message indicating the number of issues suggestions found and returned.","readOnly":true},"id":{"type":"string","description":"The ID of the type of issues suggested for use in auto-completion.","readOnly":true},"msg":{"type":"string","description":"If no issue suggestions are found, returns a message indicating no suggestions were found,","readOnly":true},"issues":{"type":"array","description":"A list of issues suggested for use in auto-completion.","readOnly":true,"items":{"$ref":"#/components/schemas/SuggestedIssue"}}},"additionalProperties":false,"description":"A type of issue suggested for use in auto-completion."},"SuggestedIssue":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the issue.","readOnly":true},"keyHtml":{"type":"string","description":"The key of the issue in HTML format.","readOnly":true},"img":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"summary":{"type":"string","description":"The phrase containing the query string in HTML format, with the string highlighted with HTML bold tags.","readOnly":true},"summaryText":{"type":"string","description":"The phrase containing the query string, as plain text.","readOnly":true}},"additionalProperties":false,"description":"An issue suggested for use in the issue picker auto-completion."},"FieldUpdateOperation":{"type":"object","properties":{"add":{"description":"A map containing the name of a field and the value to add to it.","example":{"labels":"Training","issuelinks":{"id":10001}}},"set":{"description":"A map containing the name of a field and the value to set in it.","example":{"summary":"A new summary","issuetype":{"id":10010}}},"remove":{"description":"A map containing the name of a field and the value to removed from it.","example":{"labels":"Training","components":{"id":10017}}},"edit":{"description":"A map containing the name of a field and the value to edit in it.","example":{"timetracking":{"key":"JIRA"}}}},"additionalProperties":false,"description":"Details of an operation to perform on a field."},"HistoryMetadata":{"type":"object","properties":{"type":{"type":"string","description":"The type of the history record."},"description":{"type":"string","description":"The description of the history record."},"descriptionKey":{"type":"string","description":"The description key of the history record."},"activityDescription":{"type":"string","description":"The activity described in the history record."},"activityDescriptionKey":{"type":"string","description":"The key of the activity described in the history record."},"emailDescription":{"type":"string","description":"The description of the email address associated the history record."},"emailDescriptionKey":{"type":"string","description":"The description key of the email address associated the history record."},"actor":{"description":"Details of the user whose action created the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"generator":{"description":"Details of the system that generated the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"cause":{"description":"Details of the cause that triggered the creation the history record.","allOf":[{"$ref":"#/components/schemas/HistoryMetadataParticipant"}]},"extraData":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional arbitrary information about the history record."}},"additionalProperties":true,"description":"Details of issue history metadata."},"HistoryMetadataParticipant":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the user or system associated with a history record."},"displayName":{"type":"string","description":"The display name of the user or system associated with a history record."},"displayNameKey":{"type":"string","description":"The key of the display name of the user or system associated with a history record."},"type":{"type":"string","description":"The type of the user or system associated with a history record."},"avatarUrl":{"type":"string","description":"The URL to an avatar for the user or system associated with a history record."},"url":{"type":"string","description":"The URL of the user or system associated with a history record."}},"additionalProperties":true,"description":"Details of user or system associated with a issue history metadata item."},"IssueUpdateDetails":{"type":"object","properties":{"transition":{"description":"Details of a transition. Required when performing a transition, optional when creating or editing an issue.","allOf":[{"$ref":"#/components/schemas/IssueTransition"}]},"fields":{"type":"object","additionalProperties":{},"description":"List of issue screen fields to update, specifying the sub-field to update and its value for each field. This field provides a straightforward option when setting a sub-field. When multiple sub-fields or other operations are required, use `update`. Fields included in here cannot be included in `update`."},"update":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/FieldUpdateOperation"}},"description":"List of operations to perform on issue screen fields. Note that fields included in here cannot be included in `fields`."},"historyMetadata":{"description":"Additional issue history details.","allOf":[{"$ref":"#/components/schemas/HistoryMetadata"}]},"properties":{"type":"array","description":"Details of issue properties to be add or update.","items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":true,"description":"Details of an issue update request."},"Votes":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue vote details.","format":"uri","readOnly":true},"votes":{"type":"integer","description":"The number of votes on the issue.","format":"int64","readOnly":true},"hasVoted":{"type":"boolean","description":"Whether the user making this request has voted on the issue.","readOnly":true},"voters":{"type":"array","description":"List of the users who have voted on this issue. An empty list is returned when the calling user doesn't have the *View voters and watchers* project permission.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}}},"additionalProperties":false,"description":"The details of votes on an issue."},"ChangeDetails":{"type":"object","properties":{"field":{"type":"string","description":"The name of the field changed.","readOnly":true},"fieldtype":{"type":"string","description":"The type of the field changed.","readOnly":true},"fieldId":{"type":"string","description":"The ID of the field changed.","readOnly":true},"from":{"type":"string","description":"The details of the original value.","readOnly":true},"fromString":{"type":"string","description":"The details of the original value as a string.","readOnly":true},"to":{"type":"string","description":"The details of the new value.","readOnly":true},"toString":{"type":"string","description":"The details of the new value as a string.","readOnly":true}},"additionalProperties":false,"description":"A change item."},"Changelog":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the changelog.","readOnly":true},"author":{"description":"The user who made the change.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The date on which the change took place.","format":"date-time","readOnly":true},"items":{"type":"array","description":"The list of items changed.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangeDetails"}},"historyMetadata":{"description":"The history metadata associated with the changed.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/HistoryMetadata"}]}},"additionalProperties":false,"description":"A changelog."},"IncludedFields":{"type":"object","properties":{"included":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"excluded":{"uniqueItems":true,"type":"array","items":{"type":"string"}},"actuallyIncluded":{"uniqueItems":true,"type":"array","items":{"type":"string"}}},"additionalProperties":false},"IssueBean":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional issue details in the response.","readOnly":true,"xml":{"attribute":true}},"id":{"type":"string","description":"The ID of the issue.","readOnly":true},"self":{"type":"string","description":"The URL of the issue details.","format":"uri","readOnly":true},"key":{"type":"string","description":"The key of the issue.","readOnly":true},"renderedFields":{"type":"object","additionalProperties":{"readOnly":true},"description":"The rendered value of each field present on the issue.","readOnly":true},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Details of the issue properties identified in the request.","readOnly":true},"names":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"The ID and name of each field present on the issue.","readOnly":true},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonTypeBean"},"description":"The schema describing each field present on the issue.","readOnly":true},"transitions":{"type":"array","description":"The transitions that can be performed on the issue.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTransition"}},"operations":{"description":"The operations that can be performed on the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Operations"}]},"editmeta":{"description":"The metadata for the fields on the issue that can be amended.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/IssueUpdateMetadata"}]},"changelog":{"description":"Details of changelogs associated with the issue.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/PageOfChangelogs"}]},"versionedRepresentations":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"readOnly":true},"readOnly":true},"description":"The versions of each field on the issue.","readOnly":true},"fieldsToInclude":{"$ref":"#/components/schemas/IncludedFields"},"fields":{"type":"object","additionalProperties":{}}},"additionalProperties":false,"description":"Details about an issue.","xml":{"name":"issue"}},"IssueUpdateMetadata":{"type":"object","properties":{"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"readOnly":true}},"description":"A list of editable field details."},"LinkGroup":{"type":"object","properties":{"id":{"type":"string"},"styleClass":{"type":"string"},"header":{"$ref":"#/components/schemas/SimpleLink"},"weight":{"type":"integer","format":"int32"},"links":{"type":"array","items":{"$ref":"#/components/schemas/SimpleLink"}},"groups":{"type":"array","items":{"$ref":"#/components/schemas/LinkGroup"}}},"additionalProperties":false,"description":"Details a link group, which defines issue operations."},"Operations":{"type":"object","properties":{"linkGroups":{"type":"array","description":"Details of the link groups defining issue operations.","readOnly":true,"items":{"$ref":"#/components/schemas/LinkGroup"}}},"additionalProperties":true,"description":"Details of the operations that can be performed on the issue."},"PageOfChangelogs":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"histories":{"type":"array","description":"The list of changelogs.","readOnly":true,"items":{"$ref":"#/components/schemas/Changelog"}}},"additionalProperties":false,"description":"A page of changelogs."},"Watchers":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue watcher details.","readOnly":true},"isWatching":{"type":"boolean","description":"Whether the calling user is watching this issue.","readOnly":true},"watchCount":{"type":"integer","description":"The number of users watching this issue.","format":"int32","readOnly":true},"watchers":{"type":"array","description":"Details of the users watching this issue.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}}},"additionalProperties":false,"description":"The details of watchers on an issue.","xml":{"name":"watchers"}},"CreatedIssue":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the created issue or subtask.","readOnly":true},"key":{"type":"string","description":"The key of the created issue or subtask.","readOnly":true},"self":{"type":"string","description":"The URL of the created issue or subtask.","readOnly":true},"transition":{"description":"The response code and messages related to any requested transition.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/NestedResponse"}]}},"additionalProperties":false,"description":"Details about a created issue or subtask."},"NestedResponse":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"errorCollection":{"$ref":"#/components/schemas/ErrorCollection"}},"additionalProperties":false},"IssuesUpdateBean":{"type":"object","properties":{"issueUpdates":{"type":"array","items":{"$ref":"#/components/schemas/IssueUpdateDetails"}}},"additionalProperties":true},"BulkOperationErrorResult":{"type":"object","properties":{"status":{"type":"integer","format":"int32"},"elementErrors":{"$ref":"#/components/schemas/ErrorCollection"},"failedElementNumber":{"type":"integer","format":"int32"}},"additionalProperties":false},"CreatedIssues":{"type":"object","properties":{"issues":{"type":"array","description":"Details of the issues created.","readOnly":true,"items":{"$ref":"#/components/schemas/CreatedIssue"}},"errors":{"type":"array","description":"Error details for failed issue creation requests.","readOnly":true,"items":{"$ref":"#/components/schemas/BulkOperationErrorResult"}}},"additionalProperties":false,"description":"Details about the issues created and the errors for requests that failed."},"IssueCreateMetadata":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project details in the response.","readOnly":true,"xml":{"attribute":true}},"projects":{"type":"array","description":"List of projects and their issue creation metadata.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueCreateMetadata"}}},"additionalProperties":false,"description":"The wrapper for the issue creation metadata for a list of projects."},"IssueTypeIssueCreateMetadata":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these issue type details.","readOnly":true},"id":{"type":"string","description":"The ID of the issue type.","readOnly":true},"description":{"type":"string","description":"The description of the issue type.","readOnly":true},"iconUrl":{"type":"string","description":"The URL of the issue type's avatar.","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"subtask":{"type":"boolean","description":"Whether this issue type is used to create subtasks.","readOnly":true},"avatarId":{"type":"integer","description":"The ID of the issue type's avatar.","format":"int64","readOnly":true},"entityId":{"type":"string","description":"Unique ID for next-gen projects.","format":"uuid","readOnly":true},"hierarchyLevel":{"type":"integer","description":"Hierarchy level of the issue type.","format":"int32","readOnly":true},"scope":{"description":"Details of the next-gen projects the issue type is available in.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"expand":{"type":"string","description":"Expand options that include additional issue type metadata details in the response.","readOnly":true,"xml":{"attribute":true}},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/FieldMetadata"},"description":"List of the fields available when creating an issue for the issue type.","readOnly":true}},"additionalProperties":false,"description":"Details of the issue creation metadata for an issue type."},"ProjectIssueCreateMetadata":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional project issue create metadata details in the response.","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the project.","readOnly":true},"id":{"type":"string","description":"The ID of the project.","readOnly":true},"key":{"type":"string","description":"The key of the project.","readOnly":true},"name":{"type":"string","description":"The name of the project.","readOnly":true},"avatarUrls":{"description":"List of the project's avatars, returning the avatar size and associated URL.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/AvatarUrlsBean"}]},"issuetypes":{"type":"array","description":"List of the issue types supported by the project.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeIssueCreateMetadata"}}},"additionalProperties":false,"description":"Details of the issue creation metadata for a project."},"Application":{"type":"object","properties":{"type":{"type":"string","description":"The name-spaced type of the application, used by registered rendering apps."},"name":{"type":"string","description":"The name of the application. Used in conjunction with the (remote) object icon title to display a tooltip for the link's icon. The tooltip takes the format \"\\[application name\\] icon title\". Blank items are excluded from the tooltip title. If both items are blank, the icon tooltop displays as \"Web Link\". Grouping and sorting of links may place links without an application name last."}},"additionalProperties":true,"description":"The application the linked item is in."},"IconBean":{"type":"object","properties":{"url16x16":{"type":"string","description":"The URL of a 16x16 pixel icon."},"title":{"type":"string","description":"The title of the icon, for use as a tooltip on the icon."},"link":{"type":"string","description":"The URL of the tooltip, used only for a status icon."}},"additionalProperties":false,"description":"An icon.","xml":{"name":"icon"}},"RemoteIssueLink":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the link.","format":"int64"},"self":{"type":"string","description":"The URL of the link.","format":"uri"},"globalId":{"type":"string","description":"The global ID of the link, such as the ID of the item on the remote system."},"application":{"description":"Details of the remote application the linked item is in.","allOf":[{"$ref":"#/components/schemas/Application"}]},"relationship":{"type":"string","description":"Description of the relationship between the issue and the linked item."},"object":{"description":"Details of the item linked to.","allOf":[{"$ref":"#/components/schemas/RemoteObject"}]}},"additionalProperties":false,"description":"Details of an issue remote link."},"RemoteObject":{"required":["title","url"],"type":"object","properties":{"url":{"type":"string","description":"The URL of the item."},"title":{"type":"string","description":"The title of the item."},"summary":{"type":"string","description":"The summary details of the item."},"icon":{"description":"Details of the icon for the item. If no icon is defined, the default link icon is used in Jira.","allOf":[{"$ref":"#/components/schemas/Icon"}]},"status":{"description":"The status of the item.","allOf":[{"$ref":"#/components/schemas/Status"}]}},"additionalProperties":true,"description":"The linked item."},"Status":{"type":"object","properties":{"resolved":{"type":"boolean","description":"Whether the item is resolved. If set to \"true\", the link to the issue is displayed in a strikethrough font, otherwise the link displays in normal font."},"icon":{"description":"Details of the icon representing the status. If not provided, no status icon displays in Jira.","allOf":[{"$ref":"#/components/schemas/Icon"}]}},"additionalProperties":true,"description":"The status of the item."},"Icon":{"type":"object","properties":{"url16x16":{"type":"string","description":"The URL of an icon that displays at 16x16 pixel in Jira."},"title":{"type":"string","description":"The title of the icon. This is used as follows:\n\n * For a status icon it is used as a tooltip on the icon. If not set, the status icon doesn't display a tooltip in Jira.\n * For the remote object icon it is used in conjunction with the application name to display a tooltip for the link's icon. The tooltip takes the format \"\\[application name\\] icon title\". Blank itemsare excluded from the tooltip title. If both items are blank, the icon tooltop displays as \"Web Link\"."},"link":{"type":"string","description":"The URL of the tooltip, used only for a status icon. If not set, the status icon in Jira is not clickable."}},"additionalProperties":true,"description":"An icon. If no icon is defined:\n\n * for a status icon, no status icon displays in Jira.\n * for the remote object icon, the default link icon displays in Jira."},"RemoteIssueLinkRequest":{"required":["object"],"type":"object","properties":{"globalId":{"type":"string","description":"An identifier for the remote item in the remote system. For example, the global ID for a remote item in Confluence would consist of the app ID and page ID, like this: `appId=456&pageId=123`.\n\nSetting this field enables the remote issue link details to be updated or deleted using remote system and item details as the record identifier, rather than using the record's Jira ID.\n\nThe maximum length is 255 characters."},"application":{"description":"Details of the remote application the linked item is in. For example, trello.","allOf":[{"$ref":"#/components/schemas/Application"}]},"relationship":{"type":"string","description":"Description of the relationship between the issue and the linked item. If not set, the relationship description \"links to\" is used in Jira."},"object":{"description":"Details of the item linked to.","allOf":[{"$ref":"#/components/schemas/RemoteObject"}]}},"additionalProperties":true,"description":"Details of a remote issue link."},"RemoteIssueLinkIdentifies":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the remote issue link, such as the ID of the item on the remote system.","format":"int64","readOnly":true,"xml":{"attribute":true}},"self":{"type":"string","description":"The URL of the remote issue link.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false,"description":"Details of the identifiers for a created or updated remote issue link."},"Notification":{"type":"object","properties":{"subject":{"type":"string","description":"The subject of the email notification for the issue. If this is not specified, then the subject is set to the issue key and summary."},"textBody":{"type":"string","description":"The plain text body of the email notification for the issue."},"htmlBody":{"type":"string","description":"The HTML body of the email notification for the issue."},"to":{"description":"The recipients of the email notification for the issue.","allOf":[{"$ref":"#/components/schemas/NotificationRecipients"}]},"restrict":{"description":"Restricts the notifications to users with the specified permissions.","allOf":[{"$ref":"#/components/schemas/NotificationRecipientsRestrictions"}]}},"additionalProperties":true,"description":"Details about a notification."},"NotificationRecipients":{"type":"object","properties":{"reporter":{"type":"boolean","description":"Whether the notification should be sent to the issue's reporter."},"assignee":{"type":"boolean","description":"Whether the notification should be sent to the issue's assignees."},"watchers":{"type":"boolean","description":"Whether the notification should be sent to the issue's watchers."},"voters":{"type":"boolean","description":"Whether the notification should be sent to the issue's voters."},"users":{"type":"array","description":"List of users to receive the notification.","items":{"$ref":"#/components/schemas/UserDetails"}},"groups":{"type":"array","description":"List of groups to receive the notification.","items":{"$ref":"#/components/schemas/GroupName"}}},"additionalProperties":true,"description":"Details of the users and groups to receive the notification."},"NotificationRecipientsRestrictions":{"type":"object","properties":{"groups":{"type":"array","description":"List of group memberships required to receive the notification.","items":{"$ref":"#/components/schemas/GroupName"}},"permissions":{"type":"array","description":"List of permissions required to receive the notification.","items":{"$ref":"#/components/schemas/RestrictedPermission"}}},"additionalProperties":false,"description":"Details of the group membership or permissions needed to receive the notification."},"RestrictedPermission":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions."},"key":{"type":"string","description":"The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions."}},"additionalProperties":true,"description":"Details of the permission."},"IssueLinkTypes":{"type":"object","properties":{"issueLinkTypes":{"type":"array","description":"The issue link type bean.","readOnly":true,"xml":{"name":"issueLinkTypes"},"items":{"$ref":"#/components/schemas/IssueLinkType"}}},"additionalProperties":false,"description":"A list of issue link type beans.","xml":{"name":"issueLinkTypes"}},"PageOfComments":{"type":"object","properties":{"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"comments":{"type":"array","description":"The list of comments.","readOnly":true,"items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":true,"description":"A page of comments."},"PaginatedResponseComment":{"type":"object","properties":{"total":{"type":"integer","format":"int64"},"startAt":{"type":"integer","format":"int64"},"maxResults":{"type":"integer","format":"int32"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":false},"IssueCommentListRequestBean":{"required":["ids"],"type":"object","properties":{"ids":{"uniqueItems":true,"type":"array","description":"The list of comment IDs. A maximum of 1000 IDs can be specified.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false},"PageBeanComment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Comment"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanChangelog":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Changelog"}}},"additionalProperties":false,"description":"A page of items."},"IssueChangelogIds":{"required":["changelogIds"],"type":"object","properties":{"changelogIds":{"uniqueItems":true,"type":"array","description":"The list of changelog IDs.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false,"description":"A list of changelog IDs."},"Attachment":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the attachment details response.","readOnly":true},"id":{"type":"string","description":"The ID of the attachment.","readOnly":true},"filename":{"type":"string","description":"The file name of the attachment.","readOnly":true},"author":{"description":"Details of the user who added the attachment.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserDetails"}]},"created":{"type":"string","description":"The datetime the attachment was created.","format":"date-time","readOnly":true},"size":{"type":"integer","description":"The size of the attachment.","format":"int64","readOnly":true},"mimeType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true},"content":{"type":"string","description":"The content of the attachment.","readOnly":true},"thumbnail":{"type":"string","description":"The URL of a thumbnail representing the attachment.","readOnly":true}},"additionalProperties":true,"description":"Details about an attachment."},"Group":{"type":"object","properties":{"name":{"type":"string","description":"The name of group."},"self":{"type":"string","description":"The URL for these group details.","format":"uri","readOnly":true},"users":{"description":"A paginated list of the users that are members of the group. A maximum of 50 users is returned in the list, to access additional users append `[start-index:end-index]` to the expand request. For example, to access the next 50 users, use`?expand=users[51:100]`.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/PagedListUserDetailsApplicationUser"}]},"expand":{"type":"string","description":"Expand options that include additional group details in the response.","readOnly":true,"xml":{"attribute":true}}},"additionalProperties":false},"PagedListUserDetailsApplicationUser":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paged list. To access additional details append `[start-index:end-index]` to the expand request. For example, `?expand=sharedUsers[10:40]` returns a list starting at item 10 and finishing at item 40."},"PageBeanUserDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserDetails"}}},"additionalProperties":false,"description":"A page of items."},"AddGroupBean":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the group."}},"additionalProperties":true},"UpdateUserToGroupBean":{"type":"object","properties":{"name":{"type":"string","description":"This property is no longer available. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*."}},"additionalProperties":true},"FoundGroup":{"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"html":{"type":"string","description":"The group name with the matched query string highlighted with the HTML bold tag."},"labels":{"type":"array","items":{"$ref":"#/components/schemas/GroupLabel"}},"groupId":{"type":"string","description":"The ID of the group, if available, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*."}},"additionalProperties":false,"description":"A group found in a search.","xml":{"name":"group"}},"FoundGroups":{"type":"object","properties":{"header":{"type":"string","description":"Header text indicating the number of groups in the response and the total number of groups found in the search."},"total":{"type":"integer","description":"The total number of groups found in the search.","format":"int32"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/FoundGroup"}}},"additionalProperties":false,"description":"The list of groups found in a search, including header text (Showing X of Y matching groups) and total of matched groups.","xml":{"name":"groupsuggestions"}},"GroupLabel":{"type":"object","properties":{"text":{"type":"string","description":"The group label name."},"title":{"type":"string","description":"The title of the group label."},"type":{"type":"string","description":"The type of the group label.","enum":["ADMIN","SINGLE","MULTIPLE"]}},"additionalProperties":false,"description":"A group label.","xml":{"name":"grouplabel"}},"FoundUsersAndGroups":{"type":"object","properties":{"users":{"$ref":"#/components/schemas/FoundUsers"},"groups":{"$ref":"#/components/schemas/FoundGroups"}},"additionalProperties":false,"description":"List of users and groups found in a search."},"FieldDetails":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the field."},"key":{"type":"string","description":"The key of the field."},"name":{"type":"string","description":"The name of the field."},"custom":{"type":"boolean","description":"Whether the field is a custom field."},"orderable":{"type":"boolean","description":"Whether the content of the field can be used to order lists."},"navigable":{"type":"boolean","description":"Whether the field can be used as a column on the issue navigator."},"searchable":{"type":"boolean","description":"Whether the content of the field can be searched."},"clauseNames":{"uniqueItems":true,"type":"array","description":"The names that can be used to reference the field in an advanced search. For more information, see [Advanced searching - fields reference](https://confluence.atlassian.com/x/gwORLQ).","items":{"type":"string"}},"scope":{"description":"The scope of the field.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"schema":{"description":"The data schema for the field.","allOf":[{"$ref":"#/components/schemas/JsonTypeBean"}]}},"additionalProperties":false,"description":"Details about a field.","xml":{"name":"field"}},"CustomFieldDefinitionJsonBean":{"required":["name","type"],"type":"object","properties":{"name":{"type":"string","description":"The name of the custom field, which is displayed in Jira. This is not the unique identifier."},"description":{"type":"string","description":"The description of the custom field, which is displayed in Jira."},"type":{"type":"string","description":"The type of the custom field. These built-in custom field types are available:\n\n * `cascadingselect`: Enables values to be selected from two levels of select lists (value: `com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect`)\n * `datepicker`: Stores a date using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:datepicker`)\n * `datetime`: Stores a date with a time component (value: `com.atlassian.jira.plugin.system.customfieldtypes:datetime`)\n * `float`: Stores and validates a numeric (floating point) input (value: `com.atlassian.jira.plugin.system.customfieldtypes:float`)\n * `grouppicker`: Stores a user group using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:grouppicker`)\n * `importid`: A read-only field that stores the ID the issue had in the system it was imported from (value: `com.atlassian.jira.plugin.system.customfieldtypes:importid`)\n * `labels`: Stores labels (value: `com.atlassian.jira.plugin.system.customfieldtypes:labels`)\n * `multicheckboxes`: Stores multiple values using checkboxes (value: ``)\n * `multigrouppicker`: Stores multiple user groups using a picker control (value: ``)\n * `multiselect`: Stores multiple values using a select list (value: `com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes`)\n * `multiuserpicker`: Stores multiple users using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker`)\n * `multiversion`: Stores multiple versions from the versions available in a project using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:multiversion`)\n * `project`: Stores a project from a list of projects that the user is permitted to view (value: `com.atlassian.jira.plugin.system.customfieldtypes:project`)\n * `radiobuttons`: Stores a value using radio buttons (value: `com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons`)\n * `readonlyfield`: Stores a read-only text value, which can only be populated via the API (value: `com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield`)\n * `select`: Stores a value from a configurable list of options (value: `com.atlassian.jira.plugin.system.customfieldtypes:select`)\n * `textarea`: Stores a long text string using a multiline text area (value: `com.atlassian.jira.plugin.system.customfieldtypes:textarea`)\n * `textfield`: Stores a text string using a single-line text box (value: `com.atlassian.jira.plugin.system.customfieldtypes:textfield`)\n * `url`: Stores a URL (value: `com.atlassian.jira.plugin.system.customfieldtypes:url`)\n * `userpicker`: Stores a user using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:userpicker`)\n * `version`: Stores a version using a picker control (value: `com.atlassian.jira.plugin.system.customfieldtypes:version`)\n\nTo create a field based on a [Forge custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-), use the ID of the Forge custom field type as the value. For example, `ari:cloud:ecosystem::extension/e62f20a2-4b61-4dbe-bfb9-9a88b5e3ac84/548c5df1-24aa-4f7c-bbbb-3038d947cb05/static/my-cf-type-key`."},"searcherKey":{"type":"string","description":"The searcher defines the way the field is searched in Jira. For example, *com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher*. \nThe search UI (basic search and JQL search) will display different operations and values for the field, based on the field searcher. You must specify a searcher that is valid for the field type, as listed below (abbreviated values shown):\n\n * `cascadingselect`: `cascadingselectsearcher`\n * `datepicker`: `daterange`\n * `datetime`: `datetimerange`\n * `float`: `exactnumber` or `numberrange`\n * `grouppicker`: `grouppickersearcher`\n * `importid`: `exactnumber` or `numberrange`\n * `labels`: `labelsearcher`\n * `multicheckboxes`: `multiselectsearcher`\n * `multigrouppicker`: `multiselectsearcher`\n * `multiselect`: `multiselectsearcher`\n * `multiuserpicker`: `userpickergroupsearcher`\n * `multiversion`: `versionsearcher`\n * `project`: `projectsearcher`\n * `radiobuttons`: `multiselectsearcher`\n * `readonlyfield`: `textsearcher`\n * `select`: `multiselectsearcher`\n * `textarea`: `textsearcher`\n * `textfield`: `textsearcher`\n * `url`: `exacttextsearcher`\n * `userpicker`: `userpickergroupsearcher`\n * `version`: `versionsearcher`\n\nIf no searcher is provided, the field isn't searchable. However, [Forge custom fields](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#jira-custom-field-type--beta-) have a searcher set automatically, so are always searchable.","enum":["com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:daterange","com.atlassian.jira.plugin.system.customfieldtypes:datetimerange","com.atlassian.jira.plugin.system.customfieldtypes:exactnumber","com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher","com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher","com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:numberrange","com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:textsearcher","com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher","com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher"]}},"additionalProperties":false},"UpdateCustomFieldDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom field. It doesn't have to be unique. The maximum length is 255 characters."},"description":{"type":"string","description":"The description of the custom field. The maximum length is 40000 characters."},"searcherKey":{"type":"string","description":"The searcher that defines the way the field is searched in Jira. It can be set to `null`, otherwise you must specify the valid searcher for the field type, as listed below (abbreviated values shown):\n\n * `cascadingselect`: `cascadingselectsearcher`\n * `datepicker`: `daterange`\n * `datetime`: `datetimerange`\n * `float`: `exactnumber` or `numberrange`\n * `grouppicker`: `grouppickersearcher`\n * `importid`: `exactnumber` or `numberrange`\n * `labels`: `labelsearcher`\n * `multicheckboxes`: `multiselectsearcher`\n * `multigrouppicker`: `multiselectsearcher`\n * `multiselect`: `multiselectsearcher`\n * `multiuserpicker`: `userpickergroupsearcher`\n * `multiversion`: `versionsearcher`\n * `project`: `projectsearcher`\n * `radiobuttons`: `multiselectsearcher`\n * `readonlyfield`: `textsearcher`\n * `select`: `multiselectsearcher`\n * `textarea`: `textsearcher`\n * `textfield`: `textsearcher`\n * `url`: `exacttextsearcher`\n * `userpicker`: `userpickergroupsearcher`\n * `version`: `versionsearcher`","enum":["com.atlassian.jira.plugin.system.customfieldtypes:cascadingselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:daterange","com.atlassian.jira.plugin.system.customfieldtypes:datetimerange","com.atlassian.jira.plugin.system.customfieldtypes:exactnumber","com.atlassian.jira.plugin.system.customfieldtypes:exacttextsearcher","com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher","com.atlassian.jira.plugin.system.customfieldtypes:labelsearcher","com.atlassian.jira.plugin.system.customfieldtypes:multiselectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:numberrange","com.atlassian.jira.plugin.system.customfieldtypes:projectsearcher","com.atlassian.jira.plugin.system.customfieldtypes:textsearcher","com.atlassian.jira.plugin.system.customfieldtypes:userpickergroupsearcher","com.atlassian.jira.plugin.system.customfieldtypes:versionsearcher"]}},"additionalProperties":false,"description":"Details of a custom field.","writeOnly":true},"PageBeanScreenWithTab":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ScreenWithTab"}}},"additionalProperties":false,"description":"A page of items."},"ScreenWithTab":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the screen.","readOnly":true},"description":{"type":"string","description":"The description of the screen.","readOnly":true},"scope":{"description":"The scope of the screen.","allOf":[{"$ref":"#/components/schemas/Scope"}]},"tab":{"description":"The tab for the screen.","allOf":[{"$ref":"#/components/schemas/ScreenableTab"}]}},"additionalProperties":false,"description":"A screen with tab details."},"Context":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the context.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the context.","readOnly":true},"scope":{"description":"The scope of the context.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"A context."},"PageBeanContext":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Context"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContextOption":{"required":["disabled","id","value"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the custom field option."},"value":{"type":"string","description":"The value of the custom field option."},"optionId":{"type":"string","description":"For cascading options, the ID of the custom field option containing the cascading option."},"disabled":{"type":"boolean","description":"Whether the option is disabled."}},"additionalProperties":false,"description":"Details of the custom field options for a context."},"PageBeanCustomFieldContextOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContextOption"}}},"additionalProperties":false,"description":"A page of items."},"BulkCustomFieldOptionCreateRequest":{"type":"object","properties":{"options":{"type":"array","description":"Details of options to create.","items":{"$ref":"#/components/schemas/CustomFieldOptionCreate"}}},"additionalProperties":false,"description":"Details of the options to create for a custom field.","writeOnly":true},"CustomFieldOptionCreate":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The value of the custom field option."},"optionId":{"type":"string","description":"For cascading options, the ID of the custom field object containing the cascading option."},"disabled":{"type":"boolean","description":"Whether the option is disabled."}},"additionalProperties":false,"description":"Details of a custom field option to create."},"CustomFieldCreatedContextOptionsList":{"type":"object","properties":{"options":{"type":"array","description":"The created custom field options.","items":{"$ref":"#/components/schemas/CustomFieldContextOption"}}},"additionalProperties":false,"description":"A list of custom field options for a context."},"OrderOfCustomFieldOptions":{"required":["customFieldOptionIds"],"type":"object","properties":{"customFieldOptionIds":{"type":"array","description":"A list of IDs of custom field options to move. The order of the custom field option IDs in the list is the order they are given after the move. The list must contain custom field options or cascading options, but not both.","writeOnly":true,"items":{"type":"string","writeOnly":true}},"after":{"type":"string","description":"The ID of the custom field option or cascading option to place the moved options after. Required if `position` isn't provided.","writeOnly":true},"position":{"type":"string","description":"The position the custom field options should be moved to. Required if `after` isn't provided.","writeOnly":true,"enum":["First","Last"]}},"additionalProperties":false,"description":"An ordered list of custom field option IDs and information on where to move them."},"BulkCustomFieldOptionUpdateRequest":{"type":"object","properties":{"options":{"type":"array","description":"Details of the options to update.","items":{"$ref":"#/components/schemas/CustomFieldOptionUpdate"}}},"additionalProperties":false,"description":"Details of the options to update for a custom field.","writeOnly":true},"CustomFieldOptionUpdate":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the custom field option."},"value":{"type":"string","description":"The value of the custom field option."},"disabled":{"type":"boolean","description":"Whether the option is disabled."}},"additionalProperties":false,"description":"Details of a custom field option for a context."},"CustomFieldUpdatedContextOptionsList":{"type":"object","properties":{"options":{"type":"array","description":"The updated custom field options.","items":{"$ref":"#/components/schemas/CustomFieldOptionUpdate"}}},"additionalProperties":false,"description":"A list of custom field options for a context."},"ComponentIssuesCount":{"type":"object","properties":{"self":{"type":"string","description":"The URL for this count of issues for a component.","format":"uri","readOnly":true},"issueCount":{"type":"integer","description":"The count of issues assigned to a component.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Count of issues assigned to a component.","xml":{"name":"component"}},"SystemAvatars":{"type":"object","properties":{"system":{"type":"array","description":"A list of avatar details.","readOnly":true,"items":{"$ref":"#/components/schemas/Avatar"}}},"additionalProperties":false,"description":"List of system avatars."},"ChangedWorklog":{"type":"object","properties":{"worklogId":{"type":"integer","description":"The ID of the worklog.","format":"int64","readOnly":true},"updatedTime":{"type":"integer","description":"The datetime of the change.","format":"int64","readOnly":true},"properties":{"type":"array","description":"Details of properties associated with the change.","readOnly":true,"items":{"$ref":"#/components/schemas/EntityProperty"}}},"additionalProperties":false,"description":"Details of a changed worklog."},"ChangedWorklogs":{"type":"object","properties":{"values":{"type":"array","description":"Changed worklog list.","readOnly":true,"items":{"$ref":"#/components/schemas/ChangedWorklog"}},"since":{"type":"integer","description":"The datetime of the first worklog item in the list.","format":"int64","readOnly":true},"until":{"type":"integer","description":"The datetime of the last worklog item in the list.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of this changed worklogs list.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"The URL of the next list of changed worklogs.","format":"uri","readOnly":true},"lastPage":{"type":"boolean"}},"additionalProperties":false,"description":"List of changed worklogs."},"WorklogIdsRequestBean":{"required":["ids"],"type":"object","properties":{"ids":{"uniqueItems":true,"type":"array","description":"A list of worklog IDs.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false},"CustomFieldOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of these custom field option details.","format":"uri","readOnly":true},"value":{"type":"string","description":"The value of the custom field option.","readOnly":true}},"additionalProperties":false,"description":"Details of a custom option for a field.","xml":{"name":"customFieldOption"}},"CustomFieldContextProjectMapping":{"required":["contextId"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context.","readOnly":true},"projectId":{"type":"string","description":"The ID of the project.","readOnly":true},"isGlobalContext":{"type":"boolean","description":"Whether context is global.","readOnly":true}},"additionalProperties":false,"description":"Details of a context to project association."},"PageBeanCustomFieldContextProjectMapping":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContextProjectMapping"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContext":{"required":["description","id","isAnyIssueType","isGlobalContext","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the context."},"name":{"type":"string","description":"The name of the context."},"description":{"type":"string","description":"The description of the context."},"isGlobalContext":{"type":"boolean","description":"Whether the context is global."},"isAnyIssueType":{"type":"boolean","description":"Whether the context apply to all issue types."}},"additionalProperties":false,"description":"The details of a custom field context."},"PageBeanCustomFieldContext":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContext"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContextDefaultValue":{"type":"object","additionalProperties":false,"discriminator":{"propertyName":"type","mapping":{"option.cascading":"#/components/schemas/CustomFieldContextDefaultValueCascadingOption","option.multiple":"#/components/schemas/CustomFieldContextDefaultValueMultipleOption","option.single":"#/components/schemas/CustomFieldContextDefaultValueSingleOption"}},"oneOf":[{"$ref":"#/components/schemas/CustomFieldContextDefaultValueCascadingOption"},{"$ref":"#/components/schemas/CustomFieldContextDefaultValueMultipleOption"},{"$ref":"#/components/schemas/CustomFieldContextDefaultValueSingleOption"}]},"CustomFieldContextDefaultValueCascadingOption":{"required":["contextId","optionId","type"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context."},"optionId":{"type":"string","description":"The ID of the default option."},"cascadingOptionId":{"type":"string","description":"The ID of the default cascading option."},"type":{"type":"string"}},"description":"Default value for a cascading select custom field."},"CustomFieldContextDefaultValueMultipleOption":{"required":["contextId","optionIds","type"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context."},"optionIds":{"type":"array","description":"The list of IDs of the default options.","items":{"type":"string","description":"The list of IDs of the default options."}},"type":{"type":"string"}},"description":"Default value for a multi-select custom field."},"CustomFieldContextDefaultValueSingleOption":{"required":["contextId","optionId","type"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context."},"optionId":{"type":"string","description":"The ID of the default option."},"type":{"type":"string"}},"description":"Default value for a single select custom field."},"PageBeanCustomFieldContextDefaultValue":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/CustomFieldContextDefaultValue"}}},"additionalProperties":false,"description":"A page of items."},"CreateCustomFieldContext":{"required":["name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the context.","readOnly":true},"name":{"type":"string","description":"The name of the context."},"description":{"type":"string","description":"The description of the context."},"projectIds":{"type":"array","description":"The list of project IDs associated with the context. If the list is empty, the context is global.","items":{"type":"string"}},"issueTypeIds":{"type":"array","description":"The list of issue types IDs for the context. If the list is empty, the context refers to all issue types.","items":{"type":"string"}}},"additionalProperties":false,"description":"The details of a created custom field context."},"ProjectIds":{"required":["projectIds"],"type":"object","properties":{"projectIds":{"type":"array","description":"The IDs of projects.","writeOnly":true,"items":{"type":"string","writeOnly":true}}},"additionalProperties":false,"description":"A list of project IDs."},"CustomFieldContextUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the custom field context. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the custom field context. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of a custom field context."},"IssueTypeIds":{"required":["issueTypeIds"],"type":"object","properties":{"issueTypeIds":{"type":"array","description":"The list of issue type IDs.","writeOnly":true,"items":{"type":"string","writeOnly":true}}},"additionalProperties":false,"description":"The list of issue type IDs."},"ProjectIssueTypeMapping":{"required":["issueTypeId","projectId"],"type":"object","properties":{"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true},"issueTypeId":{"type":"string","description":"The ID of the issue type.","writeOnly":true}},"additionalProperties":false,"description":"The project and issue type mapping.","writeOnly":true},"ProjectIssueTypeMappings":{"required":["mappings"],"type":"object","properties":{"mappings":{"type":"array","description":"The project and issue type mappings.","writeOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueTypeMapping"}}},"additionalProperties":false,"description":"The project and issue type mappings."},"ContextForProjectAndIssueType":{"required":["contextId","issueTypeId","projectId"],"type":"object","properties":{"projectId":{"type":"string","description":"The ID of the project."},"issueTypeId":{"type":"string","description":"The ID of the issue type."},"contextId":{"type":"string","description":"The ID of the custom field context."}},"additionalProperties":false,"description":"The project and issue type mapping with a matching custom field context."},"PageBeanContextForProjectAndIssueType":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ContextForProjectAndIssueType"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldContextDefaultValueUpdate":{"type":"object","properties":{"defaultValues":{"type":"array","items":{"$ref":"#/components/schemas/CustomFieldContextDefaultValue"}}},"additionalProperties":false,"description":"Default values to update."},"IssueTypeToContextMapping":{"required":["contextId"],"type":"object","properties":{"contextId":{"type":"string","description":"The ID of the context."},"issueTypeId":{"type":"string","description":"The ID of the issue type."},"isAnyIssueType":{"type":"boolean","description":"Whether the context is mapped to any issue type."}},"additionalProperties":false,"description":"Mapping of an issue type to a context."},"PageBeanIssueTypeToContextMapping":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeToContextMapping"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldValueUpdate":{"required":["issueIds","value"],"type":"object","properties":{"issueIds":{"type":"array","description":"The list of issue IDs.","writeOnly":true,"items":{"type":"integer","format":"int64","writeOnly":true}},"value":{"description":"The value for the custom field. The value must be compatible with the [custom field type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#data-types) as follows:\n\n * `string` – the value must be a string.\n * `number` – the value must be a number.\n * `datetime` – the value must be a string that represents a date in the ISO format, for example `\"2021-01-18T12:00:00-03:00\"`.\n * `user` – the value must be an object that contains the `accountId` field.\n * `group` – the value must be an object that contains the group `name` field.\n\nA list of appropriate values must be provided if the field is of the `list` [collection type](https://developer.atlassian.com/platform/forge/manifest-reference/modules/#collection-types)."}},"additionalProperties":false,"description":"A list of issue IDs and the value to update a custom field to.","writeOnly":true},"CustomFieldValueUpdateRequest":{"type":"object","properties":{"updates":{"type":"array","description":"The list of custom field update details.","items":{"$ref":"#/components/schemas/CustomFieldValueUpdate"}}},"additionalProperties":false,"description":"Details of updates for a custom field.","writeOnly":true},"ContextualConfiguration":{"required":["contextId"],"type":"object","properties":{"contextId":{"type":"integer","description":"The ID of the context the configuration is associated with.","format":"int64"},"configuration":{"description":"The configuration associated with the context."},"schema":{"description":"The schema associated with the context."}},"additionalProperties":false,"description":"Details of the contextual configuration for a custom field."},"PageBeanContextualConfiguration":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ContextualConfiguration"}}},"additionalProperties":false,"description":"A page of items."},"CustomFieldConfigurations":{"required":["configurations"],"type":"object","properties":{"configurations":{"maxItems":1000,"minItems":1,"uniqueItems":true,"type":"array","description":"The list of custom field configuration details.","items":{"$ref":"#/components/schemas/ContextualConfiguration"}}},"additionalProperties":false,"description":"Details of configurations for a custom field.","writeOnly":true},"IssueTypeScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type scheme."},"name":{"type":"string","description":"The name of the issue type scheme."},"description":{"type":"string","description":"The description of the issue type scheme."},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme."},"isDefault":{"type":"boolean","description":"Whether the issue type scheme is the default."}},"additionalProperties":false,"description":"Details of an issue type scheme."},"PageBeanIssueTypeScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScheme"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeProjects":{"required":["issueTypeScheme","projectIds"],"type":"object","properties":{"issueTypeScheme":{"description":"Details of an issue type scheme.","allOf":[{"$ref":"#/components/schemas/IssueTypeScheme"}]},"projectIds":{"type":"array","description":"The IDs of the projects using the issue type scheme.","items":{"type":"string"}}},"additionalProperties":false,"description":"Issue type scheme with a list of the projects that use it."},"PageBeanIssueTypeSchemeProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeSchemeProjects"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeMapping":{"required":["issueTypeId","issueTypeSchemeId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type."}},"additionalProperties":false,"description":"Issue type scheme item."},"PageBeanIssueTypeSchemeMapping":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeSchemeMapping"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeSchemeProjectAssociation":{"required":["issueTypeSchemeId","projectId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Details of the association between an issue type scheme and project."},"IssueTypeSchemeDetails":{"required":["issueTypeIds","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type scheme. The maximum length is 4000 characters.","writeOnly":true},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme. This ID must be included in `issueTypeIds`.","writeOnly":true},"issueTypeIds":{"type":"array","description":"The list of issue types IDs of the issue type scheme. At least one standard issue type ID is required.","writeOnly":true,"items":{"type":"string","writeOnly":true}}},"additionalProperties":false,"description":"Details of an issue type scheme and its associated issue types."},"IssueTypeSchemeID":{"required":["issueTypeSchemeId"],"type":"object","properties":{"issueTypeSchemeId":{"type":"string","description":"The ID of the issue type scheme.","readOnly":true}},"additionalProperties":false,"description":"The ID of an issue type scheme."},"IssueTypeSchemeUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type scheme. The maximum length is 4000 characters.","writeOnly":true},"defaultIssueTypeId":{"type":"string","description":"The ID of the default issue type of the issue type scheme.","writeOnly":true}},"additionalProperties":false,"description":"Details of the name, description, and default issue type for an issue type scheme."},"OrderOfIssueTypes":{"required":["issueTypeIds"],"type":"object","properties":{"issueTypeIds":{"type":"array","description":"A list of the issue type IDs to move. The order of the issue type IDs in the list is the order they are given after the move.","writeOnly":true,"items":{"type":"string","writeOnly":true}},"after":{"type":"string","description":"The ID of the issue type to place the moved issue types after. Required if `position` isn't provided.","writeOnly":true},"position":{"type":"string","description":"The position the issue types should be moved to. Required if `after` isn't provided.","writeOnly":true,"enum":["First","Last"]}},"additionalProperties":false,"description":"An ordered list of issue type IDs and information about where to move them."},"GlobalScopeBean":{"type":"object","properties":{"attributes":{"uniqueItems":true,"type":"array","description":"Defines the behavior of the option in the global context.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false},"IssueFieldOption":{"required":["id","value"],"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier for the option. This is only unique within the select field's set of options.","format":"int64"},"value":{"type":"string","description":"The option's name, which is displayed in Jira."},"properties":{"type":"object","additionalProperties":{},"description":"The properties of the object, as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see [Issue Field Option Property Index](https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/)) are defined in the descriptor for the issue field module."},"config":{"$ref":"#/components/schemas/IssueFieldOptionConfiguration"}},"additionalProperties":false,"description":"Details of the options for a select list issue field."},"IssueFieldOptionConfiguration":{"type":"object","properties":{"scope":{"description":"Defines the projects that the option is available in. If the scope is not defined, then the option is available in all projects.","allOf":[{"$ref":"#/components/schemas/IssueFieldOptionScopeBean"}]},"attributes":{"uniqueItems":true,"type":"array","description":"DEPRECATED","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false,"description":"Details of the projects the option is available in."},"IssueFieldOptionScopeBean":{"type":"object","properties":{"projects":{"uniqueItems":true,"type":"array","description":"DEPRECATED","items":{"type":"integer","format":"int64"}},"projects2":{"uniqueItems":true,"type":"array","description":"Defines the projects in which the option is available and the behavior of the option within each project. Specify one object per project. The behavior of the option in a project context overrides the behavior in the global context.","items":{"$ref":"#/components/schemas/ProjectScopeBean"}},"global":{"description":"Defines the behavior of the option within the global context. If this property is set, even if set to an empty object, then the option is available in all projects.","allOf":[{"$ref":"#/components/schemas/GlobalScopeBean"}]}},"additionalProperties":false},"PageBeanIssueFieldOption":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueFieldOption"}}},"additionalProperties":false,"description":"A page of items."},"ProjectScopeBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project that the option's behavior applies to.","format":"int64"},"attributes":{"uniqueItems":true,"type":"array","description":"Defines the behavior of the option in the project.If notSelectable is set, the option cannot be set as the field's value. This is useful for archiving an option that has previously been selected but shouldn't be used anymore.If defaultValue is set, the option is selected by default.","items":{"type":"string","enum":["notSelectable","defaultValue"]}}},"additionalProperties":false},"IssueFieldOptionCreateBean":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The option's name, which is displayed in Jira."},"properties":{"type":"object","additionalProperties":{},"description":"The properties of the option as arbitrary key-value pairs. These properties can be searched using JQL, if the extractions (see https://developer.atlassian.com/cloud/jira/platform/modules/issue-field-option-property-index/) are defined in the descriptor for the issue field module."},"config":{"$ref":"#/components/schemas/IssueFieldOptionConfiguration"}},"additionalProperties":true},"RemoveOptionFromIssuesResult":{"type":"object","properties":{"modifiedIssues":{"type":"array","description":"The IDs of the modified issues.","items":{"type":"integer","format":"int64"}},"unmodifiedIssues":{"type":"array","description":"The IDs of the unchanged issues, those issues where errors prevent modification.","items":{"type":"integer","format":"int64"}},"errors":{"description":"A collection of errors related to unchanged issues. The collection size is limited, which means not all errors may be returned.","allOf":[{"$ref":"#/components/schemas/SimpleErrorCollection"}]}},"additionalProperties":false},"SimpleErrorCollection":{"type":"object","properties":{"errors":{"type":"object","additionalProperties":{"type":"string"},"description":"The list of errors by parameter returned by the operation. For example,\"projectKey\": \"Project keys must start with an uppercase letter, followed by one or more uppercase alphanumeric characters.\""},"errorMessages":{"type":"array","description":"The list of error messages produced by this operation. For example, \"input parameter 'key' must be provided\"","items":{"type":"string"}},"httpStatusCode":{"type":"integer","format":"int32"}},"additionalProperties":false},"TaskProgressBeanRemoveOptionFromIssuesResult":{"required":["elapsedRuntime","id","lastUpdate","progress","self","status","submitted","submittedBy"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the task.","format":"uri"},"id":{"type":"string","description":"The ID of the task."},"description":{"type":"string","description":"The description of the task."},"status":{"type":"string","description":"The status of the task.","enum":["ENQUEUED","RUNNING","COMPLETE","FAILED","CANCEL_REQUESTED","CANCELLED","DEAD"]},"message":{"type":"string","description":"Information about the progress of the task."},"result":{"description":"The result of the task execution.","allOf":[{"$ref":"#/components/schemas/RemoveOptionFromIssuesResult"}]},"submittedBy":{"type":"integer","description":"The ID of the user who submitted the task.","format":"int64"},"progress":{"type":"integer","description":"The progress of the task, as a percentage complete.","format":"int64"},"elapsedRuntime":{"type":"integer","description":"The execution time of the task, in milliseconds.","format":"int64"},"submitted":{"type":"integer","description":"A timestamp recording when the task was submitted.","format":"int64"},"started":{"type":"integer","description":"A timestamp recording when the task was started.","format":"int64"},"finished":{"type":"integer","description":"A timestamp recording when the task was finished.","format":"int64"},"lastUpdate":{"type":"integer","description":"A timestamp recording when the task progress was last updated.","format":"int64"}},"additionalProperties":false,"description":"Details about a task."},"Field":{"required":["id","name","schema"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field."},"name":{"type":"string","description":"The name of the field."},"schema":{"$ref":"#/components/schemas/JsonTypeBean"},"description":{"type":"string","description":"The description of the field."},"key":{"type":"string","description":"The key of the field."},"isLocked":{"type":"boolean","description":"Whether the field is locked."},"searcherKey":{"type":"string","description":"The searcher key of the field. Returned for custom fields."},"screensCount":{"type":"integer","description":"Number of screens where the field is used.","format":"int64"},"contextsCount":{"type":"integer","description":"Number of contexts where the field is used.","format":"int64"},"lastUsed":{"$ref":"#/components/schemas/FieldLastUsed"}},"additionalProperties":false,"description":"Details of a field."},"FieldLastUsed":{"type":"object","properties":{"type":{"type":"string","description":"Last used value type:\n\n * *TRACKED*: field is tracked and a last used date is available.\n * *NOT\\_TRACKED*: field is not tracked, last used date is not available.\n * *NO\\_INFORMATION*: field is tracked, but no last used date is available.","enum":["TRACKED","NOT_TRACKED","NO_INFORMATION"]},"value":{"type":"string","description":"The date when the value of the field last changed.","format":"date-time"}},"additionalProperties":false,"description":"Information about the most recent use of a field."},"PageBeanField":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/Field"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field configuration scheme."},"name":{"type":"string","description":"The name of the field configuration scheme."},"description":{"type":"string","description":"The description of the field configuration scheme."}},"additionalProperties":false,"description":"Details of a field configuration scheme."},"PageBeanFieldConfigurationScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationScheme"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationIssueTypeItem":{"required":["fieldConfigurationId","fieldConfigurationSchemeId","issueTypeId"],"type":"object","properties":{"fieldConfigurationSchemeId":{"type":"string","description":"The ID of the field configuration scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. When set to *default* this field configuration issue type item applies to all issue types without a field configuration."},"fieldConfigurationId":{"type":"string","description":"The ID of the field configuration."}},"additionalProperties":false,"description":"The field configuration for an issue type."},"PageBeanFieldConfigurationIssueTypeItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationIssueTypeItem"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationSchemeProjects":{"required":["projectIds"],"type":"object","properties":{"fieldConfigurationScheme":{"$ref":"#/components/schemas/FieldConfigurationScheme"},"projectIds":{"type":"array","description":"The IDs of projects using the field configuration scheme.","items":{"type":"string","description":"The IDs of projects using the field configuration scheme."}}},"additionalProperties":false,"description":"Project list with assigned field configuration schema."},"PageBeanFieldConfigurationSchemeProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationSchemeProjects"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationSchemeProjectAssociation":{"required":["projectId"],"type":"object","properties":{"fieldConfigurationSchemeId":{"type":"string","description":"The ID of the field configuration scheme. If the field configuration scheme ID is `null`, the operation assigns the default field configuration scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Associated field configuration scheme and project."},"FieldConfiguration":{"required":["description","id","name"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the field configuration.","format":"int64"},"name":{"type":"string","description":"The name of the field configuration."},"description":{"type":"string","description":"The description of the field configuration."},"isDefault":{"type":"boolean","description":"Whether the field configuration is the default."}},"additionalProperties":false,"description":"Details of a field configuration."},"PageBeanFieldConfiguration":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfiguration"}}},"additionalProperties":false,"description":"A page of items."},"FieldConfigurationItem":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the field within the field configuration."},"description":{"type":"string","description":"The description of the field within the field configuration."},"isHidden":{"type":"boolean","description":"Whether the field is hidden in the field configuration."},"isRequired":{"type":"boolean","description":"Whether the field is required in the field configuration."}},"additionalProperties":false,"description":"A field within a field configuration."},"PageBeanFieldConfigurationItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FieldConfigurationItem"}}},"additionalProperties":false,"description":"A page of items."},"CreateUpdateRoleRequestBean":{"type":"object","properties":{"name":{"type":"string","description":"The name of the project role. Must be unique. Cannot begin or end with whitespace. The maximum length is 255 characters. Required when creating a project role. Optional when partially updating a project role."},"description":{"type":"string","description":"A description of the project role. Required when fully updating a project role. Optional when creating or partially updating a project role."}},"additionalProperties":false},"ActorInputBean":{"type":"object","properties":{"user":{"type":"array","description":"The account IDs of the users to add as default actors. This parameter accepts a comma-separated list. For example, `\"user\":[\"5b10a2844c20165700ede21g\", \"5b109f2e9729b51b54dc274d\"]`.","items":{"type":"string"}},"group":{"type":"array","description":"The name of the group to add as a default actor. This parameter accepts a comma-separated list. For example, `\"group\":[\"project-admin\", \"jira-developers\"]`.","items":{"type":"string"}}},"additionalProperties":false},"ProjectRoleActorsUpdateBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project role. Use [Get all project roles](#api-rest-api-3-role-get) to get a list of project role IDs.","format":"int64","readOnly":true},"categorisedActors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"The actors to add to the project role. Add groups using `atlassian-group-role-actor` and a list of group names. For example, `\"atlassian-group-role-actor\":[\"another\",\"administrators\"]}`. Add users using `atlassian-user-role-actor` and a list of account IDs. For example, `\"atlassian-user-role-actor\":[\"12345678-9abc-def1-2345-6789abcdef12\", \"abcdef12-3456-789a-bcde-f123456789ab\"]`."}},"additionalProperties":false,"xml":{"name":"actor"}},"ActorsMap":{"type":"object","properties":{"user":{"type":"array","description":"The user account ID of the user to add.","items":{"type":"string"}},"group":{"type":"array","description":"The name of the group to add.","items":{"type":"string"}}},"additionalProperties":false},"ProjectRoleDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL the project role details.","format":"uri","readOnly":true},"name":{"type":"string","description":"The name of the project role."},"id":{"type":"integer","description":"The ID of the project role.","format":"int64","readOnly":true},"description":{"type":"string","description":"The description of the project role.","readOnly":true},"admin":{"type":"boolean","description":"Whether this role is the admin role for the project.","readOnly":true},"scope":{"description":"The scope of the role. Indicated for roles associated with [next-gen projects](https://confluence.atlassian.com/x/loMyO).","readOnly":true,"allOf":[{"$ref":"#/components/schemas/Scope"}]},"roleConfigurable":{"type":"boolean","description":"Whether the roles are configurable for this project.","readOnly":true},"translatedName":{"type":"string","description":"The translated name of the project role."},"default":{"type":"boolean","description":"Whether this role is the default role for the project.","readOnly":true}},"additionalProperties":false,"description":"Details about a project role."},"IssueTypeScreenScheme":{"required":["id","name"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type screen scheme."},"name":{"type":"string","description":"The name of the issue type screen scheme."},"description":{"type":"string","description":"The description of the issue type screen scheme."}},"additionalProperties":false,"description":"Details of an issue type screen scheme."},"PageBeanIssueTypeScreenScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenScheme"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanScreenScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ScreenScheme"}}},"additionalProperties":false,"description":"A page of items."},"ScreenScheme":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen scheme.","format":"int64"},"name":{"type":"string","description":"The name of the screen scheme."},"description":{"type":"string","description":"The description of the screen scheme."},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme.","allOf":[{"$ref":"#/components/schemas/ScreenTypes"}]},"issueTypeScreenSchemes":{"description":"Details of the issue type screen schemes associated with the screen scheme.","allOf":[{"$ref":"#/components/schemas/PageBeanIssueTypeScreenScheme"}]}},"additionalProperties":false,"description":"A screen scheme."},"ScreenTypes":{"required":["defaultScreen"],"type":"object","properties":{"edit":{"type":"integer","description":"The ID of the edit screen.","format":"int64"},"create":{"type":"integer","description":"The ID of the create screen.","format":"int64"},"view":{"type":"integer","description":"The ID of the view screen.","format":"int64"},"default":{"type":"integer","description":"The ID of the default screen. Required when creating a screen scheme.","format":"int64"}},"additionalProperties":false,"description":"The IDs of the screens for the screen types of the screen scheme.","writeOnly":true},"ScreenSchemeDetails":{"required":["name","screens"],"type":"object","properties":{"name":{"type":"string","description":"The name of the screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen scheme. The maximum length is 255 characters.","writeOnly":true},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.","allOf":[{"$ref":"#/components/schemas/ScreenTypes"}]}},"additionalProperties":false,"description":"Details of a screen scheme."},"ScreenSchemeId":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the screen scheme.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"The ID of a screen scheme."},"UpdateScreenSchemeDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the screen scheme. The maximum length is 255 characters.","writeOnly":true},"screens":{"description":"The IDs of the screens for the screen types of the screen scheme. Only screens used in classic projects are accepted.","allOf":[{"$ref":"#/components/schemas/UpdateScreenTypes"}]}},"additionalProperties":false,"description":"Details of a screen scheme."},"UpdateScreenTypes":{"type":"object","properties":{"edit":{"type":"string","description":"The ID of the edit screen. To remove the screen association, pass a null.","writeOnly":true},"create":{"type":"string","description":"The ID of the create screen. To remove the screen association, pass a null.","writeOnly":true},"view":{"type":"string","description":"The ID of the view screen. To remove the screen association, pass a null.","writeOnly":true},"default":{"type":"string","description":"The ID of the default screen. When specified, must include a screen ID as a default screen is required.","writeOnly":true}},"additionalProperties":false,"description":"The IDs of the screens for the screen types of the screen scheme.","writeOnly":true},"IssueTypeScreenSchemeItem":{"required":["issueTypeId","issueTypeScreenSchemeId","screenSchemeId"],"type":"object","properties":{"issueTypeScreenSchemeId":{"type":"string","description":"The ID of the issue type screen scheme."},"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. Only issue types used in classic projects are accepted. When creating an issue screen scheme, an entry for *default* must be provided and defines the mapping for all issue types without a screen scheme. Otherwise, a *default* entry can't be provided."},"screenSchemeId":{"type":"string","description":"The ID of the screen scheme."}},"additionalProperties":false,"description":"The screen scheme for an issue type."},"PageBeanIssueTypeScreenSchemeItem":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeItem"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeScreenSchemesProjects":{"required":["issueTypeScreenScheme","projectIds"],"type":"object","properties":{"issueTypeScreenScheme":{"description":"Details of an issue type screen scheme.","allOf":[{"$ref":"#/components/schemas/IssueTypeScreenScheme"}]},"projectIds":{"type":"array","description":"The IDs of the projects using the issue type screen scheme.","items":{"type":"string"}}},"additionalProperties":false,"description":"Issue type screen scheme with a list of the projects that use it."},"PageBeanIssueTypeScreenSchemesProjects":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemesProjects"}}},"additionalProperties":false,"description":"A page of items."},"PageBeanProjectDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectDetails"}}},"additionalProperties":false,"description":"A page of items."},"IssueTypeScreenSchemeProjectAssociation":{"type":"object","properties":{"issueTypeScreenSchemeId":{"type":"string","description":"The ID of the issue type screen scheme.","writeOnly":true},"projectId":{"type":"string","description":"The ID of the project.","writeOnly":true}},"additionalProperties":false,"description":"Associated issue type screen scheme and project."},"IssueTypeScreenSchemeDetails":{"required":["issueTypeMappings","name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type screen scheme. The maximum length is 255 characters.","writeOnly":true},"issueTypeMappings":{"type":"array","description":"The IDs of the screen schemes for the issue type IDs and *default*. A *default* entry is required to create an issue type screen scheme, it defines the mapping for all issue types without a screen scheme.","writeOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeMapping"}}},"additionalProperties":false,"description":"The details of an issue type screen scheme."},"IssueTypeScreenSchemeMapping":{"required":["issueTypeId","screenSchemeId"],"type":"object","properties":{"issueTypeId":{"type":"string","description":"The ID of the issue type or *default*. Only issue types used in classic projects are accepted. An entry for *default* must be provided and defines the mapping for all issue types without a screen scheme.","writeOnly":true},"screenSchemeId":{"type":"string","description":"The ID of the screen scheme. Only screen schemes used in classic projects are accepted.","writeOnly":true}},"additionalProperties":false,"description":"The IDs of the screen schemes for the issue type IDs.","writeOnly":true},"IssueTypeScreenSchemeId":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"The ID of the issue type screen scheme.","readOnly":true}},"additionalProperties":false,"description":"The ID of an issue type screen scheme."},"IssueTypeScreenSchemeUpdateDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the issue type screen scheme. The name must be unique. The maximum length is 255 characters.","writeOnly":true},"description":{"type":"string","description":"The description of the issue type screen scheme. The maximum length is 255 characters.","writeOnly":true}},"additionalProperties":false,"description":"Details of an issue type screen scheme."},"IssueTypeScreenSchemeMappingDetails":{"required":["issueTypeMappings"],"type":"object","properties":{"issueTypeMappings":{"type":"array","description":"The list of issue type to screen scheme mappings. A *default* entry cannot be specified because a default entry is added when an issue type screen scheme is created.","writeOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeScreenSchemeMapping"}}},"additionalProperties":false,"description":"A list of issue type screen scheme mappings."},"UpdateDefaultScreenScheme":{"required":["screenSchemeId"],"type":"object","properties":{"screenSchemeId":{"type":"string","description":"The ID of the screen scheme.","writeOnly":true}},"additionalProperties":false,"description":"The ID of a screen scheme."},"AttachmentMetadata":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the attachment.","format":"int64","readOnly":true},"self":{"type":"string","description":"The URL of the attachment metadata details.","format":"uri","readOnly":true},"filename":{"type":"string","description":"The name of the attachment file.","readOnly":true},"author":{"description":"Details of the user who attached the file.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"created":{"type":"string","description":"The datetime the attachment was created.","format":"date-time","readOnly":true},"size":{"type":"integer","description":"The size of the attachment.","format":"int64","readOnly":true},"mimeType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true},"properties":{"type":"object","additionalProperties":{"readOnly":true},"description":"Additional properties of the attachment.","readOnly":true},"content":{"type":"string","description":"The URL of the attachment.","readOnly":true},"thumbnail":{"type":"string","description":"The URL of a thumbnail representing the attachment.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an issue attachment.","xml":{"name":"attachment"}},"AttachmentSettings":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the ability to add attachments is enabled.","readOnly":true},"uploadLimit":{"type":"integer","description":"The maximum size of attachments permitted, in bytes.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details of the instance's attachment settings."},"AttachmentArchiveEntry":{"type":"object","properties":{"abbreviatedName":{"type":"string"},"entryIndex":{"type":"integer","format":"int64"},"mediaType":{"type":"string"},"name":{"type":"string"},"size":{"type":"integer","format":"int64"}},"additionalProperties":false},"AttachmentArchiveImpl":{"type":"object","properties":{"entries":{"type":"array","description":"The list of the items included in the archive.","items":{"$ref":"#/components/schemas/AttachmentArchiveEntry"}},"totalEntryCount":{"type":"integer","description":"The number of items in the archive.","format":"int32"}},"additionalProperties":false},"AttachmentArchive":{"type":"object","properties":{"moreAvailable":{"type":"boolean"},"totalNumberOfEntriesAvailable":{"type":"integer","format":"int32"},"totalEntryCount":{"type":"integer","format":"int32"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/AttachmentArchiveEntry"}}},"additionalProperties":false},"AttachmentArchiveItemReadable":{"type":"object","properties":{"path":{"type":"string","description":"The path of the archive item.","readOnly":true},"index":{"type":"integer","description":"The position of the item within the archive.","format":"int64","readOnly":true},"size":{"type":"string","description":"The size of the archive item.","readOnly":true},"mediaType":{"type":"string","description":"The MIME type of the archive item.","readOnly":true},"label":{"type":"string","description":"The label for the archive item.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an item in an attachment archive."},"AttachmentArchiveMetadataReadable":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the attachment.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the archive file.","readOnly":true},"entries":{"type":"array","description":"The list of the items included in the archive.","readOnly":true,"items":{"$ref":"#/components/schemas/AttachmentArchiveItemReadable"}},"totalEntryCount":{"type":"integer","description":"The number of items included in the archive.","format":"int64","readOnly":true},"mediaType":{"type":"string","description":"The MIME type of the attachment.","readOnly":true}},"additionalProperties":false,"description":"Metadata for an archive (for example a zip) and its contents."},"EventNotification":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional event notification details in the response."},"id":{"type":"integer","description":"The ID of the notification.","format":"int64"},"notificationType":{"type":"string","description":"Identifies the recipients of the notification.","enum":["CurrentAssignee","Reporter","CurrentUser","ProjectLead","ComponentLead","User","Group","ProjectRole","EmailAddress","AllWatchers","UserCustomField","GroupCustomField"]},"parameter":{"type":"string","description":"The value of the `notificationType`:\n\n * `User` The `parameter` is the user account ID.\n * `Group` The `parameter` is the group name.\n * `ProjectRole` The `parameter` is the project role ID.\n * `UserCustomField` The `parameter` is the ID of the custom field.\n * `GroupCustomField` The `parameter` is the ID of the custom field."},"group":{"description":"The specified group.","allOf":[{"$ref":"#/components/schemas/GroupName"}]},"field":{"description":"The custom user or group field.","allOf":[{"$ref":"#/components/schemas/FieldDetails"}]},"emailAddress":{"type":"string","description":"The email address."},"projectRole":{"description":"The specified project role.","allOf":[{"$ref":"#/components/schemas/ProjectRole"}]},"user":{"description":"The specified user.","allOf":[{"$ref":"#/components/schemas/UserDetails"}]}},"additionalProperties":false,"description":"Details about a notification associated with an event."},"NotificationEvent":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the event. The event can be a [Jira system event](https://confluence.atlassian.com/x/8YdKLg#Creatinganotificationscheme-eventsEvents) or a [custom event](https://confluence.atlassian.com/x/AIlKLg).","format":"int64"},"name":{"type":"string","description":"The name of the event."},"description":{"type":"string","description":"The description of the event."},"templateEvent":{"description":"The template of the event. Only custom events configured by Jira administrators have template.","allOf":[{"$ref":"#/components/schemas/NotificationEvent"}]}},"additionalProperties":false,"description":"Details about a notification event."},"NotificationScheme":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional notification scheme details in the response."},"id":{"type":"integer","description":"The ID of the notification scheme.","format":"int64"},"self":{"type":"string"},"name":{"type":"string","description":"The name of the notification scheme."},"description":{"type":"string","description":"The description of the notification scheme."},"notificationSchemeEvents":{"type":"array","description":"The notification events and associated recipients.","items":{"$ref":"#/components/schemas/NotificationSchemeEvent"}},"scope":{"description":"The scope of the notification scheme.","allOf":[{"$ref":"#/components/schemas/Scope"}]}},"additionalProperties":false,"description":"Details about a notification scheme."},"NotificationSchemeEvent":{"type":"object","properties":{"event":{"$ref":"#/components/schemas/NotificationEvent"},"notifications":{"type":"array","items":{"$ref":"#/components/schemas/EventNotification"}}},"additionalProperties":false,"description":"Details about a notification scheme event."},"PageBeanNotificationScheme":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/NotificationScheme"}}},"additionalProperties":false,"description":"A page of items."},"IdBean":{"required":["id"],"type":"object","properties":{"id":{"type":"integer","description":"The ID of the permission scheme to associate with the project. Use the [Get all permission schemes](#api-rest-api-3-permissionscheme-get) resource to get a list of permission scheme IDs.","format":"int64"}},"additionalProperties":false},"Permissions":{"type":"object","properties":{"permissions":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UserPermission"},"description":"List of permissions.","readOnly":true}},"additionalProperties":false,"description":"Details about permissions."},"UserPermission":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions."},"key":{"type":"string","description":"The key of the permission. Either `id` or `key` must be specified. Use [Get all permissions](#api-rest-api-3-permissions-get) to get the list of permissions."},"name":{"type":"string","description":"The name of the permission."},"type":{"type":"string","description":"The type of the permission.","enum":["GLOBAL","PROJECT"]},"description":{"type":"string","description":"The description of the permission."},"havePermission":{"type":"boolean","description":"Whether the permission is available to the user in the queried context."},"deprecatedKey":{"type":"boolean","description":"Indicate whether the permission key is deprecated. Note that deprecated keys cannot be used in the `permissions parameter of Get my permissions. Deprecated keys are not returned by Get all permissions.`"}},"additionalProperties":true,"description":"Details of a permission and its availability to a user."},"BulkPermissionsRequestBean":{"type":"object","properties":{"projectPermissions":{"uniqueItems":true,"type":"array","description":"Project permissions with associated projects and issues to look up.","items":{"$ref":"#/components/schemas/BulkProjectPermissions"}},"globalPermissions":{"uniqueItems":true,"type":"array","description":"Global permissions to look up.","items":{"type":"string"}},"accountId":{"type":"string","description":"The account ID of a user."}},"additionalProperties":false,"description":"Details of global permissions to look up and project permissions with associated projects and issues to look up."},"BulkProjectPermissions":{"required":["permissions"],"type":"object","properties":{"issues":{"uniqueItems":true,"type":"array","description":"List of issue IDs.","items":{"type":"integer","format":"int64"}},"projects":{"uniqueItems":true,"type":"array","description":"List of project IDs.","items":{"type":"integer","format":"int64"}},"permissions":{"uniqueItems":true,"type":"array","description":"List of project permissions.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of project permissions and associated issues and projects to look up."},"BulkPermissionGrants":{"required":["globalPermissions","projectPermissions"],"type":"object","properties":{"projectPermissions":{"uniqueItems":true,"type":"array","description":"List of project permissions and the projects and issues those permissions provide access to.","items":{"$ref":"#/components/schemas/BulkProjectPermissionGrants"}},"globalPermissions":{"uniqueItems":true,"type":"array","description":"List of permissions granted to the user.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of global and project permissions granted to the user."},"BulkProjectPermissionGrants":{"required":["issues","permission","projects"],"type":"object","properties":{"permission":{"type":"string","description":"A project permission,"},"issues":{"uniqueItems":true,"type":"array","description":"IDs of the issues the user has the permission for.","items":{"type":"integer","format":"int64"}},"projects":{"uniqueItems":true,"type":"array","description":"IDs of the projects the user has the permission for.","items":{"type":"integer","format":"int64"}}},"additionalProperties":false,"description":"List of project permissions and the projects and issues those permissions grant access to."},"PermissionsKeysBean":{"required":["permissions"],"type":"object","properties":{"permissions":{"type":"array","description":"A list of permission keys.","items":{"type":"string"}}},"additionalProperties":false},"PermittedProjects":{"type":"object","properties":{"projects":{"type":"array","description":"A list of projects.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIdentifierBean"}}},"additionalProperties":false,"description":"A list of projects in which a user is granted permissions."},"ProjectIdentifierBean":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the project.","format":"int64","readOnly":true},"key":{"type":"string","description":"The key of the project.","readOnly":true}},"additionalProperties":false,"description":"The identifiers for a project."},"IssueTypeInfo":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the issue type.","format":"int64","readOnly":true},"name":{"type":"string","description":"The name of the issue type.","readOnly":true},"avatarId":{"type":"integer","description":"The avatar of the issue type.","format":"int64","readOnly":true}},"additionalProperties":false,"description":"Details of an issue type."},"ProjectIssueTypeHierarchy":{"type":"object","properties":{"projectId":{"type":"integer","description":"The ID of the project.","format":"int64","readOnly":true},"hierarchy":{"type":"array","description":"Details of an issue type hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/ProjectIssueTypesHierarchyLevel"}}},"additionalProperties":false,"description":"The hierarchy of issue types within a project."},"ProjectIssueTypesHierarchyLevel":{"type":"object","properties":{"entityId":{"type":"string","description":"The ID of the issue type hierarchy level. This property is deprecated, see [Change notice: Removing hierarchy level IDs from next-gen APIs](https://developer.atlassian.com/cloud/jira/platform/change-notice-removing-hierarchy-level-ids-from-next-gen-apis/).","format":"uuid","readOnly":true},"level":{"type":"integer","description":"The level of the issue type hierarchy level.","format":"int32","readOnly":true},"name":{"type":"string","description":"The name of the issue type hierarchy level.","readOnly":true},"issueTypes":{"type":"array","description":"The list of issue types in the hierarchy level.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueTypeInfo"}}},"additionalProperties":false,"description":"Details of an issue type hierarchy level."},"JqlQueriesToParse":{"required":["queries"],"type":"object","properties":{"queries":{"minLength":1,"type":"array","description":"A list of queries to parse.","items":{"minLength":1,"type":"string"}}},"additionalProperties":false,"description":"A list of JQL queries to parse.","writeOnly":true},"CompoundClause":{"required":["clauses","operator"],"type":"object","properties":{"clauses":{"type":"array","description":"The list of nested clauses.","items":{"$ref":"#/components/schemas/JqlQueryClause"}},"operator":{"type":"string","description":"The operator between the clauses.","enum":["and","or","not"]}},"description":"A JQL query clause that consists of nested clauses. For example, `(labels in (urgent, blocker) OR lastCommentedBy = currentUser()). Note that, where nesting is not defined, the parser nests JQL clauses based on the operator precedence. For example, \"A OR B AND C\" is parsed as \"(A OR B) AND C\". See Setting the precedence of operators for more information about precedence in JQL queries.`"},"FieldChangedClause":{"required":["field","operator","predicates"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator applied to the field.","enum":["changed"]},"predicates":{"type":"array","description":"The list of time predicates.","items":{"$ref":"#/components/schemas/JqlQueryClauseTimePredicate"}}},"description":"A clause that asserts whether a field was changed. For example, `status CHANGED AFTER startOfMonth(-1M)`.See [CHANGED](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-CHANGEDCHANGED) for more information about the CHANGED operator."},"FieldValueClause":{"required":["field","operand","operator"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator between the field and operand.","enum":["=","!=",">","<",">=","<=","in","not in","~","~=","is","is not"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"}},"description":"A clause that asserts the current value of a field. For example, `summary ~ test`."},"FieldWasClause":{"required":["field","operand","operator","predicates"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"operator":{"type":"string","description":"The operator between the field and operand.","enum":["was","was in","was not in","was not"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"},"predicates":{"type":"array","description":"The list of time predicates.","items":{"$ref":"#/components/schemas/JqlQueryClauseTimePredicate"}}},"description":"A clause that asserts a previous value of a field. For example, `status WAS \"Resolved\" BY currentUser() BEFORE \"2019/02/02\"`. See [WAS](https://confluence.atlassian.com/x/dgiiLQ#Advancedsearching-operatorsreference-WASWAS) for more information about the WAS operator."},"FunctionOperand":{"required":["arguments","function"],"type":"object","properties":{"function":{"type":"string","description":"The name of the function."},"arguments":{"type":"array","description":"The list of function arguments.","items":{"type":"string"}}},"description":"An operand that is a function. See [Advanced searching - functions reference](https://confluence.atlassian.com/x/dwiiLQ) for more information about JQL functions."},"JqlQuery":{"type":"object","properties":{"where":{"$ref":"#/components/schemas/JqlQueryClause"},"orderBy":{"$ref":"#/components/schemas/JqlQueryOrderByClause"}},"additionalProperties":false,"description":"A parsed JQL query."},"JqlQueryClause":{"type":"object","additionalProperties":false,"description":"A JQL query clause.","anyOf":[{"$ref":"#/components/schemas/CompoundClause"},{"$ref":"#/components/schemas/FieldValueClause"},{"$ref":"#/components/schemas/FieldWasClause"},{"$ref":"#/components/schemas/FieldChangedClause"}]},"JqlQueryClauseOperand":{"type":"object","description":"Details of an operand in a JQL clause.","anyOf":[{"$ref":"#/components/schemas/ListOperand"},{"$ref":"#/components/schemas/ValueOperand"},{"$ref":"#/components/schemas/FunctionOperand"},{"$ref":"#/components/schemas/KeywordOperand"}]},"JqlQueryClauseTimePredicate":{"required":["operand","operator"],"type":"object","properties":{"operator":{"type":"string","description":"The operator between the field and the operand.","enum":["before","after","from","to","on","during","by"]},"operand":{"$ref":"#/components/schemas/JqlQueryClauseOperand"}},"description":"A time predicate for a temporal JQL clause."},"JqlQueryField":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the field."},"property":{"type":"array","description":"When the field refers to a value in an entity property, details of the entity property value.","items":{"$ref":"#/components/schemas/JqlQueryFieldEntityProperty"}}},"additionalProperties":false,"description":"A field used in a JQL query. See [Advanced searching - fields reference](https://confluence.atlassian.com/x/dAiiLQ) for more information about fields in JQL queries."},"JqlQueryFieldEntityProperty":{"required":["entity","key","path"],"type":"object","properties":{"entity":{"type":"string","description":"The object on which the property is set.","example":"issue"},"key":{"type":"string","description":"The key of the property.","example":"stats"},"path":{"type":"string","description":"The path in the property value to query.","example":"comments.count"},"type":{"type":"string","description":"The type of the property value extraction. Not available if the extraction for the property is not registered on the instance with the [Entity property](https://developer.atlassian.com/cloud/jira/platform/modules/entity-property/) module.","example":"number","enum":["number","string","text","date","user"]}},"description":"Details of an entity property."},"JqlQueryOrderByClause":{"required":["fields"],"type":"object","properties":{"fields":{"type":"array","description":"The list of order-by clause fields and their ordering directives.","items":{"$ref":"#/components/schemas/JqlQueryOrderByClauseElement"}}},"additionalProperties":false,"description":"Details of the order-by JQL clause."},"JqlQueryOrderByClauseElement":{"required":["field"],"type":"object","properties":{"field":{"$ref":"#/components/schemas/JqlQueryField"},"direction":{"type":"string","description":"The direction in which to order the results.","enum":["asc","desc"]}},"additionalProperties":false,"description":"An element of the order-by JQL clause."},"JqlQueryUnitaryOperand":{"type":"object","description":"An operand that can be part of a list operand.","anyOf":[{"$ref":"#/components/schemas/ValueOperand"},{"$ref":"#/components/schemas/FunctionOperand"},{"$ref":"#/components/schemas/KeywordOperand"}]},"KeywordOperand":{"required":["keyword"],"type":"object","properties":{"keyword":{"type":"string","description":"The keyword that is the operand value.","enum":["empty"]}},"description":"An operand that is a JQL keyword. See [Advanced searching - keywords reference](https://confluence.atlassian.com/jiracorecloud/advanced-searching-keywords-reference-765593717.html#Advancedsearching-keywordsreference-EMPTYEMPTY) for more information about operand keywords."},"ListOperand":{"required":["values"],"type":"object","properties":{"values":{"minLength":1,"type":"array","description":"The list of operand values.","items":{"$ref":"#/components/schemas/JqlQueryUnitaryOperand"}}},"description":"An operand that is a list of values."},"ParsedJqlQueries":{"required":["queries"],"type":"object","properties":{"queries":{"minLength":1,"type":"array","description":"A list of parsed JQL queries.","items":{"$ref":"#/components/schemas/ParsedJqlQuery"}}},"additionalProperties":false,"description":"A list of parsed JQL queries."},"ParsedJqlQuery":{"minLength":1,"required":["query"],"type":"object","properties":{"query":{"type":"string","description":"The JQL query that was parsed and validated."},"structure":{"description":"The syntax tree of the query. Empty if the query was invalid.","allOf":[{"$ref":"#/components/schemas/JqlQuery"}]},"errors":{"uniqueItems":true,"type":"array","description":"The list of syntax or validation errors.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of a parsed JQL query."},"ValueOperand":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The operand value."}},"description":"An operand that is a user-provided value."},"PageBeanUserKey":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/UserKey"}}},"additionalProperties":false,"description":"A page of items."},"UserKey":{"type":"object","properties":{"key":{"type":"string","description":"This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details."},"accountId":{"maxLength":128,"type":"string","description":"The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*. Returns *unknown* if the record is deleted and corrupted, for example, as the result of a server import."}},"additionalProperties":false,"description":"List of user account IDs."},"PageBeanUser":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}}},"additionalProperties":false,"description":"A page of items."},"SearchResults":{"type":"object","properties":{"expand":{"type":"string","description":"Expand options that include additional search result details in the response.","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true},"total":{"type":"integer","description":"The number of results on the page.","format":"int32","readOnly":true},"issues":{"type":"array","description":"The list of issues found by the search.","readOnly":true,"items":{"$ref":"#/components/schemas/IssueBean"}},"warningMessages":{"type":"array","description":"Any warnings related to the JQL query.","readOnly":true,"items":{"type":"string","readOnly":true}},"names":{"type":"object","additionalProperties":{"type":"string","readOnly":true},"description":"The ID and name of each field in the search results.","readOnly":true},"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonTypeBean"},"description":"The schema describing the field types in the search results.","readOnly":true}},"additionalProperties":false,"description":"The result of a JQL search."},"SearchRequestBean":{"type":"object","properties":{"jql":{"type":"string","description":"A [JQL](https://confluence.atlassian.com/x/egORLQ) expression."},"startAt":{"type":"integer","description":"The index of the first item to return in the page of results (page offset). The base index is `0`.","format":"int32"},"maxResults":{"type":"integer","description":"The maximum number of items to return per page.","format":"int32","default":50},"fields":{"type":"array","description":"A list of fields to return for each issue, use it to retrieve a subset of fields. This parameter accepts a comma-separated list. Expand options include:\n\n * `*all` Returns all fields.\n * `*navigable` Returns navigable fields.\n * Any issue field, prefixed with a minus to exclude.\n\nThe default is `*navigable`.\n\nExamples:\n\n * `summary,comment` Returns the summary and comments fields only.\n * `-description` Returns all navigable (default) fields except description.\n * `*all,-comment` Returns all fields except comments.\n\nMultiple `fields` parameters can be included in a request.\n\nNote: All navigable fields are returned by default. This differs from [GET issue](#api-rest-api-3-issue-issueIdOrKey-get) where the default is all fields.","items":{"type":"string"}},"validateQuery":{"type":"string","description":"Determines how to validate the JQL query and treat the validation results. Supported values:\n\n * `strict` Returns a 400 response code if any errors are found, along with a list of all errors (and warnings).\n * `warn` Returns all errors as warnings.\n * `none` No validation is performed.\n * `true` *Deprecated* A legacy synonym for `strict`.\n * `false` *Deprecated* A legacy synonym for `warn`.\n\nThe default is `strict`.\n\nNote: If the JQL is not correctly formed a 400 response code is returned, regardless of the `validateQuery` value.","enum":["strict","warn","none","true","false"]},"expand":{"type":"array","description":"Use [expand](em>#expansion) to include additional information about issues in the response. Note that, unlike the majority of instances where `expand` is specified, `expand` is defined as a list of values. The expand options are:\n\n * `renderedFields` Returns field values rendered in HTML format.\n * `names` Returns the display name of each field.\n * `schema` Returns the schema describing a field type.\n * `transitions` Returns all possible transitions for the issue.\n * `operations` Returns all possible operations for the issue.\n * `editmeta` Returns information about how each field can be edited.\n * `changelog` Returns a list of recent updates to an issue, sorted by date, starting from the most recent.\n * `versionedRepresentations` Instead of `fields`, returns `versionedRepresentations` a JSON array containing each version of a field's value, with the highest numbered item representing the most recent version.","items":{"type":"string"}},"properties":{"type":"array","description":"A list of up to 5 issue properties to include in the results. This parameter accepts a comma-separated list.","items":{"type":"string"}},"fieldsByKeys":{"type":"boolean","description":"Reference fields by their key (rather than ID). The default is `false`."}},"additionalProperties":false},"FieldReferenceData":{"type":"object","properties":{"value":{"type":"string","description":"The field identifier."},"displayName":{"type":"string","description":"The display name contains the following:\n\n * for system fields, the field name. For example, `Summary`.\n * for collapsed custom fields, the field name followed by a hyphen and then the field name and field type. For example, `Component - Component[Dropdown]`.\n * for other custom fields, the field name followed by a hyphen and then the custom field ID. For example, `Component - cf[10061]`."},"orderable":{"type":"string","description":"Whether the field can be used in a query's `ORDER BY` clause.","enum":["true","false"]},"searchable":{"type":"string","description":"Whether the content of this field can be searched.","enum":["true","false"]},"auto":{"type":"string","description":"Whether the field provide auto-complete suggestions.","enum":["true","false"]},"cfid":{"type":"string","description":"If the item is a custom field, the ID of the custom field."},"operators":{"type":"array","description":"The valid search operators for the field.","items":{"type":"string"}},"types":{"type":"array","description":"The data types of items in the field.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of a field that can be used in advanced searches."},"FunctionReferenceData":{"type":"object","properties":{"value":{"type":"string","description":"The function identifier."},"displayName":{"type":"string","description":"The display name of the function."},"isList":{"type":"string","description":"Whether the function can take a list of arguments.","enum":["true","false"]},"types":{"type":"array","description":"The data types returned by the function.","items":{"type":"string"}}},"additionalProperties":false,"description":"Details of functions that can be used in advanced searches."},"JQLReferenceData":{"type":"object","properties":{"visibleFieldNames":{"type":"array","description":"List of fields usable in JQL queries.","items":{"$ref":"#/components/schemas/FieldReferenceData"}},"visibleFunctionNames":{"type":"array","description":"List of functions usable in JQL queries.","items":{"$ref":"#/components/schemas/FunctionReferenceData"}},"jqlReservedWords":{"type":"array","description":"List of JQL query reserved words.","items":{"type":"string"}}},"additionalProperties":false,"description":"Lists of JQL reference data."},"SearchAutoCompleteFilter":{"type":"object","properties":{"projectIds":{"type":"array","description":"List of project IDs used to filter the visible field details returned.","items":{"type":"integer","format":"int64"}},"includeCollapsedFields":{"type":"boolean","description":"Include collapsed fields for fields that have non-unique names.","default":false}},"additionalProperties":false,"description":"Details of how to filter and list search auto complete information."},"AutoCompleteSuggestion":{"type":"object","properties":{"value":{"type":"string","description":"The value of a suggested item."},"displayName":{"type":"string","description":"The display name of a suggested item. If `fieldValue` or `predicateValue` are provided, the matching text is highlighted with the HTML bold tag."}},"additionalProperties":false,"description":"A field auto-complete suggestion."},"AutoCompleteSuggestions":{"type":"object","properties":{"results":{"type":"array","description":"The list of suggested item.","items":{"$ref":"#/components/schemas/AutoCompleteSuggestion"}}},"additionalProperties":false,"description":"The results from a JQL query."},"JQLPersonalDataMigrationRequest":{"type":"object","properties":{"queryStrings":{"type":"array","description":"A list of queries with user identifiers. Maximum of 100 queries.","items":{"type":"string"}}},"additionalProperties":false,"description":"The JQL queries to be converted."},"ConvertedJQLQueries":{"type":"object","properties":{"queryStrings":{"type":"array","description":"The list of converted query strings with account IDs in place of user identifiers.","items":{"type":"string"}},"queriesWithUnknownUsers":{"type":"array","description":"List of queries containing user information that could not be mapped to an existing user","items":{"$ref":"#/components/schemas/JQLQueryWithUnknownUsers"}}},"additionalProperties":false,"description":"The converted JQL queries."},"JQLQueryWithUnknownUsers":{"type":"object","properties":{"originalQuery":{"type":"string","description":"The original query, for reference"},"convertedQuery":{"type":"string","description":"The converted query, with accountIDs instead of user identifiers, or 'unknown' for users that could not be found"}},"additionalProperties":false,"description":"JQL queries that contained users that could not be found"},"Filter":{"required":["name"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the filter.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the filter.","readOnly":true},"name":{"type":"string","description":"The name of the filter. Must be unique."},"description":{"type":"string","description":"A description of the filter."},"owner":{"description":"The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"jql":{"type":"string","description":"The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*."},"viewUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.","format":"uri","readOnly":true},"searchUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-3-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/3/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.","format":"uri","readOnly":true},"favourite":{"type":"boolean","description":"Whether the filter is selected as a favorite."},"favouritedCount":{"type":"integer","description":"The count of how many users have selected this filter as a favorite, including the filter owner.","format":"int64","readOnly":true},"sharePermissions":{"type":"array","description":"The groups and projects that the filter is shared with.","items":{"$ref":"#/components/schemas/SharePermission"}},"sharedUsers":{"description":"A paginated list of the users that the filter is shared with. This includes users that are members of the groups or can browse the projects that the filter is shared with.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/UserList"}]},"subscriptions":{"description":"A paginated list of the users that are subscribed to the filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/FilterSubscriptionsList"}]}},"additionalProperties":false,"description":"Details about a filter.","xml":{"name":"filter"}},"FilterSubscription":{"type":"object","properties":{"id":{"type":"integer","description":"The ID of the filter subscription.","format":"int64","readOnly":true},"user":{"description":"The user subscribing to filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"group":{"description":"The group subscribing to filter.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/GroupName"}]}},"additionalProperties":false,"description":"Details of a user or group subscribing to a filter."},"FilterSubscriptionsList":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterSubscription"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paginated list of subscriptions to a filter."},"UserList":{"type":"object","properties":{"size":{"type":"integer","description":"The number of items on the page.","format":"int32","readOnly":true,"xml":{"attribute":true}},"items":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/User"}},"max-results":{"type":"integer","description":"The maximum number of results that could be on the page.","format":"int32","readOnly":true,"xml":{"name":"max-results","attribute":true}},"start-index":{"type":"integer","description":"The index of the first item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"start-index","attribute":true}},"end-index":{"type":"integer","description":"The index of the last item returned on the page.","format":"int32","readOnly":true,"xml":{"name":"end-index","attribute":true}}},"additionalProperties":false,"description":"A paginated list of users sharing the filter. This includes users that are members of the groups or can browse the projects that the filter is shared with."},"FilterDetails":{"required":["name"],"type":"object","properties":{"self":{"type":"string","description":"The URL of the filter.","format":"uri","readOnly":true},"id":{"type":"string","description":"The unique identifier for the filter.","readOnly":true},"name":{"type":"string","description":"The name of the filter. Must be unique."},"description":{"type":"string","description":"A description of the filter."},"owner":{"description":"The user who owns the filter. This is defaulted to the creator of the filter, however Jira administrators can change the owner of a shared filter in the admin settings.","readOnly":true,"allOf":[{"$ref":"#/components/schemas/User"}]},"jql":{"type":"string","description":"The JQL query for the filter. For example, *project = SSP AND issuetype = Bug*.","readOnly":true},"viewUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the ID of the filter. For example, *https://your-domain.atlassian.net/issues/?filter=10100*.","format":"uri","readOnly":true},"searchUrl":{"type":"string","description":"A URL to view the filter results in Jira, using the [Search for issues using JQL](#api-rest-api-3-filter-search-get) operation with the filter's JQL string to return the filter results. For example, *https://your-domain.atlassian.net/rest/api/3/search?jql=project+%3D+SSP+AND+issuetype+%3D+Bug*.","format":"uri","readOnly":true},"favourite":{"type":"boolean","description":"Whether the filter is selected as a favorite by any users, not including the filter owner.","readOnly":true},"favouritedCount":{"type":"integer","description":"The count of how many users have selected this filter as a favorite, including the filter owner.","format":"int64","readOnly":true},"sharePermissions":{"type":"array","description":"The groups and projects that the filter is shared with. This can be specified when updating a filter, but not when creating a filter.","items":{"$ref":"#/components/schemas/SharePermission"}},"subscriptions":{"type":"array","description":"The users that are subscribed to the filter.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterSubscription"}}},"additionalProperties":false,"description":"Details of a filter."},"PageBeanFilterDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/FilterDetails"}}},"additionalProperties":false,"description":"A page of items."},"DefaultShareScope":{"required":["scope"],"type":"object","properties":{"scope":{"type":"string","description":"The scope of the default sharing for new filters and dashboards:\n\n * `AUTHENTICATED` Shared with all logged-in users.\n * `GLOBAL` Shared with all logged-in users. This shows as `AUTHENTICATED` in the response.\n * `PRIVATE` Not shared with any users.","enum":["GLOBAL","AUTHENTICATED","PRIVATE"]}},"additionalProperties":false,"description":"Details of the scope of the default sharing for new filters and dashboards.","xml":{"name":"defaultShareScope"}},"SharePermissionInputBean":{"required":["type"],"type":"object","properties":{"type":{"type":"string","description":"The type of the share permission.Specify the type as follows:\n\n * `user` Share with a user.\n * `group` Share with a group. Specify `groupname` as well.\n * `project` Share with a project. Specify `projectId` as well.\n * `projectRole` Share with a project role in a project. Specify `projectId` and `projectRoleId` as well.\n * `global` Share globally, including anonymous users. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.\n * `authenticated` Share with all logged-in users. This shows as `loggedin` in the response. If set, this type overrides all existing share permissions and must be deleted before any non-global share permissions is set.","enum":["user","project","group","projectRole","global","authenticated"]},"projectId":{"type":"string","description":"The ID of the project to share the filter with. Set `type` to `project`."},"groupname":{"type":"string","description":"The name of the group to share the filter with. Set `type` to `group`."},"projectRoleId":{"type":"string","description":"The ID of the project role to share the filter with. Set `type` to `projectRole` and the `projectId` for the project that the role is in."},"accountId":{"type":"string","description":"The user account ID that the filter is shared with. For a request, specify the `accountId` property for the user."},"rights":{"type":"integer","description":"The rights for the share permission.","format":"int32"}},"additionalProperties":false},"UserMigrationBean":{"type":"object","properties":{"key":{"type":"string"},"username":{"type":"string"},"accountId":{"type":"string"}},"additionalProperties":false},"UnrestrictedUserEmail":{"type":"object","properties":{"accountId":{"type":"string","description":"The accountId of the user"},"email":{"type":"string","description":"The email of the user"}},"additionalProperties":false},"PageBeanString":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"type":"string","readOnly":true}}},"additionalProperties":false,"description":"A page of items."},"GroupDetails":{"type":"object","properties":{"name":{"type":"string","description":"The name of the group."},"groupId":{"type":"string","description":"The ID of the group, if available, which uniquely identifies the group across all Atlassian products. For example, *952d12c3-5b5b-4d04-bb32-44d383afc4b2*."}},"additionalProperties":false,"description":"Details about a group."},"PageBeanGroupDetails":{"type":"object","properties":{"self":{"type":"string","description":"The URL of the page.","format":"uri","readOnly":true},"nextPage":{"type":"string","description":"If there is another page of results, the URL of the next page.","format":"uri","readOnly":true},"maxResults":{"type":"integer","description":"The maximum number of items that could be returned.","format":"int32","readOnly":true},"startAt":{"type":"integer","description":"The index of the first item returned.","format":"int64","readOnly":true},"total":{"type":"integer","description":"The number of items returned.","format":"int64","readOnly":true},"isLast":{"type":"boolean","description":"Whether this is the last page.","readOnly":true},"values":{"type":"array","description":"The list of items.","readOnly":true,"items":{"$ref":"#/components/schemas/GroupDetails"}}},"additionalProperties":false,"description":"A page of items."},"IssuesAndJQLQueries":{"required":["issueIds","jqls"],"type":"object","properties":{"jqls":{"type":"array","description":"A list of JQL queries.","items":{"type":"string","description":"A list of JQL queries."}},"issueIds":{"uniqueItems":true,"type":"array","description":"A list of issue IDs.","items":{"type":"integer","description":"A list of issue IDs.","format":"int64"}}},"additionalProperties":false,"description":"List of issues and JQL queries."},"IssueMatches":{"required":["matches"],"type":"object","properties":{"matches":{"type":"array","items":{"$ref":"#/components/schemas/IssueMatchesForJQL"}}},"additionalProperties":false,"description":"A list of matched issues or errors for each JQL query, in the order the JQL queries were passed."},"IssueMatchesForJQL":{"required":["errors","matchedIssues"],"type":"object","properties":{"matchedIssues":{"uniqueItems":true,"type":"array","description":"A list of issue IDs.","items":{"type":"integer","description":"A list of issue IDs.","format":"int64"}},"errors":{"uniqueItems":true,"type":"array","description":"A list of errors.","items":{"type":"string","description":"A list of errors."}}},"additionalProperties":false,"description":"A list of the issues matched to a JQL query or details of errors encountered during matching."},"OperationMessage":{"required":["message","statusCode"],"type":"object","properties":{"message":{"type":"string","description":"The human-readable message that describes the result."},"statusCode":{"type":"integer","description":"The status code of the response."}},"additionalProperties":false,"example":{"message":"An example message.","statusCode":200}},"ErrorMessage":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"The error message."}},"additionalProperties":false,"example":{"message":"The request is not from a Connect app."}},"ConnectModules":{"required":["modules"],"type":"object","properties":{"modules":{"type":"array","description":"A list of app modules in the same format as the `modules` property in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).","items":{"$ref":"#/components/schemas/ConnectModule"}}},"example":{"jiraEntityProperties":[{"keyConfigurations":[{"extractions":[{"objectName":"extension","type":"text","alias":"attachmentExtension"}],"propertyKey":"attachment"}],"entityType":"issue","name":{"value":"Attachment Index Document"},"key":"dynamic-attachment-entity-property"}],"jiraIssueFields":[{"description":{"value":"A dynamically added single-select field"},"type":"single_select","extractions":[{"path":"category","type":"text","name":"categoryName"}],"name":{"value":"Dynamic single select"},"key":"dynamic-select-field"}]}},"ConnectModule":{"type":"object","description":"A [Connect module](https://developer.atlassian.com/cloud/jira/platform/about-jira-modules/) in the same format as in the\n[app descriptor](https://developer.atlassian.com/cloud/jira/platform/app-descriptor/).","example":{"description":{"value":"field with team"},"type":"single_select","extractions":[{"path":"category","type":"text","name":"categoryName"}],"name":{"value":"Team"},"key":"team-field"}},"WorkflowRulesSearch":{"required":["ruleIds","workflowEntityId"],"type":"object","properties":{"workflowEntityId":{"type":"string","description":"The workflow ID.","format":"uuid","example":"a498d711-685d-428d-8c3e-bc03bb450ea7"},"ruleIds":{"maxItems":10,"minItems":1,"type":"array","description":"The list of workflow rule IDs.","items":{"type":"string","description":"Workflow rule ID.","format":"uuid","example":"55d44f1d-c859-42e5-9c27-2c5ec3f340b1"}},"expand":{"type":"string","description":"Use expand to include additional information in the response. This parameter accepts `transition` which, for each rule, returns information about the transition the rule is assigned to.","example":"transition"}},"description":"Details of the workflow and its transition rules."},"WorkflowRulesSearchDetails":{"type":"object","properties":{"workflowEntityId":{"type":"string","description":"The workflow ID.","format":"uuid","example":"a498d711-685d-428d-8c3e-bc03bb450ea7"},"invalidRules":{"type":"array","description":"List of workflow rule IDs that do not belong to the workflow or can not be found.","items":{"type":"string","description":"Workflow rule ID.","format":"uuid","example":"55d44f1d-c859-42e5-9c27-2c5ec3f340b1"}},"validRules":{"type":"array","description":"List of valid workflow transition rules.","items":{"$ref":"#/components/schemas/WorkflowTransitionRules"}}},"description":"Details of workflow transition rules."},"EntityPropertyDetails":{"required":["entityId","key","value"],"type":"object","properties":{"entityId":{"type":"number","description":"The entity property ID.","example":123},"key":{"type":"string","description":"The entity property key.","example":"mykey"},"value":{"type":"string","description":"The new value of the entity property.","example":"newValue"}}},"ConnectCustomFieldValue":{"required":["_type","fieldID","issueID"],"type":"object","properties":{"_type":{"type":"string","description":"The type of custom field.","writeOnly":true,"enum":["StringIssueField","NumberIssueField","RichTextIssueField","SingleSelectIssueField","MultiSelectIssueField","TextIssueField"]},"issueID":{"type":"integer","description":"The issue ID.","writeOnly":true},"fieldID":{"type":"integer","description":"The custom field ID.","writeOnly":true},"string":{"type":"string","description":"The value of string type custom field when `_type` is `StringIssueField`."},"number":{"type":"number","description":"The value of number type custom field when `_type` is `NumberIssueField`."},"richText":{"type":"string","description":"The value of richText type custom field when `_type` is `RichTextIssueField`."},"optionID":{"type":"string","description":"The value of single select and multiselect custom field type when `_type` is `SingleSelectIssueField` or `MultiSelectIssueField`."},"text":{"type":"string","description":"The value of of text custom field type when `_type` is `TextIssueField`."}},"description":"A list of custom field details.","writeOnly":true},"ConnectCustomFieldValues":{"type":"object","properties":{"updateValueList":{"type":"array","description":"The list of custom field update details.","items":{"$ref":"#/components/schemas/ConnectCustomFieldValue"}}},"additionalProperties":false,"description":"Details of updates for a custom field.","writeOnly":true}},"securitySchemes":{"basicAuth":{"type":"http","description":"You can access this resource via basic auth.","scheme":"basic"},"OAuth2":{"type":"oauth2","description":"OAuth2 scopes for Jira","flows":{"authorizationCode":{"authorizationUrl":"https://auth.atlassian.com/authorize","tokenUrl":"https://auth.atlassian.com/oauth/token","scopes":{"read:jira-user":"View user information in Jira that you have access to, including usernames, email addresses, and avatars.","read:jira-work":"Read project and issue data. Search for issues and objects associated with issues (such as attachments and worklogs).","write:jira-work":"Create and edit issues in Jira, post comments, create worklogs, and delete issues.","manage:jira-project":"Create and edit project settings and create new project-level objects, for example, versions, components.","manage:jira-configuration":"Configure Jira settings that require the Jira administrators permission, for example, create projects and custom fields, view workflows, manage issue link types.","manage:jira-webhook":"Manage Jira webhooks. Enables an OAuth app to register and unregister dynamic webhooks in Jira. It also provides for fetching of registered webhooks."}}}}}},"x-atlassian-narrative":{"documents":[{"title":"About","anchor":"about","body":"The Jira REST API enables you to interact with Jira programmatically. Use this API to \n[build apps](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/), script interactions with \nJira, or develop any other type of integration. This page documents the REST resources available in Jira Cloud, including \nthe HTTP response codes and example requests and responses."},{"title":"Version","anchor":"version","body":"This documentation is for **version 3** of the Jira Cloud platform REST API, which is the latest version\nbut is in **beta**. [Version 2](https://developer.atlassian.com/cloud/jira/platform/rest/v2/) and \nversion 3 of the API offer the same collection of operations. However, version 3 provides support for \nthe [Atlassian Document Format](https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/) \n(ADF) in: \n- `body` in comments, including where comments are used in issue, issue link, and transition resources.\n- `comment` in worklogs.\n- `description` and `environment` fields in issues.\n- `textarea` type custom fields (multi-line text fields) in issues. Single line custom fields \n (`textfield`) accept a string and don't handle Atlassian Document Format content.\n\nHowever, these new features are under development and may change.\n"},{"title":"Authentication and authorization","anchor":"authentication","body":"### Connect apps\n\nFor Connect apps, authentication (JWT-based) is built into the Connect libraries. Authorization is implemented using either \nscopes (shown as _App scope required_ for operations on this page) or user impersonation. See \n[Security for Connect apps](https://developer.atlassian.com/cloud/jira/platform/security-for-connect-apps/) \nfor details.\n\nThe URIs for Connect app REST API calls have this structure:\n\n`https:///rest/api/3/`\n\nFor example, `https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`\n\n### Other integrations\n\nFor integrations that are not Connect apps, use OAuth 2.0 authorization code grants (3LO) for security \n(3LO scopes are shown as for operations _OAuth scopes required_). See \n[OAuth 2.0 (3LO) apps](https://developer.atlassian.com/cloud/jira/platform/oauth-2-3lo-apps/) \nfor details.\n\nThe URIs for OAuth 2.0 (3LO) app REST API calls have this structure:\n\n`https://api.atlassian.com/ex/jira/dd/rest/api/3/`\n\nFor example, `https://api.atlassian.com/ex/jira/35273b54-3f06-40d2-880f-dd28cf8daafa/rest/api/3/issue/DEMO-1`\n\n### Ad-hoc API calls\n\nFor personal scripts, bots, and ad-hoc execution of the REST APIs use basic authentication. See [Basic auth for REST APIs](https://developer.atlassian.com/cloud/jira/platform/basic-auth-for-rest-apis/) for details. \n\nThe URIs for basic authentication REST API calls have this structure:\n\n`https:///rest/api/3/`\n\nFor example, `https://your-domain.atlassian.net/rest/api/3/issue/DEMO-1`"},{"title":"Permissions","anchor":"permissions","body":"### Operation permissions\n\nMost operations in this API require permissions. The calling user must have the required permissions for an operation to \nuse it. Note that for Connect apps, the app user must have the required permissions for the operation and the app must \nhave scopes that permit the operation.\n\nA permission can be granted to a group, project role, or issue role that the user is a member of, or granted directly to a user. \nSee [Permissions overview](https://confluence.atlassian.com/x/FQiiLQ) for details. The most common permissions are:\n\n- **Administer the Cloud site**: Users in the _site-admins_ group have this \npermission. See [Manage groups](https://confluence.atlassian.com/x/24xjL) for details.\n- **Administer Jira**: Granted by the _Jira Administrators_ global permission. There is a default group for this permission. \nSee [Manage groups](https://confluence.atlassian.com/x/24xjL) and [Managing global permissions](https://confluence.atlassian.com/x/x4dKLg) for details.\n- **Administer a project in Jira**: Granted by the _Administer projects_ project permission for a project. This can be \ngranted to a user, a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for details.\n- **Access a project in Jira**: Granted by the _Browse projects_ project permission for a project. This can be \ngranted to a user, a group, a project role, and more. \nSee [Managing project permissions](https://confluence.atlassian.com/x/yodKLg) for details.\n- **Access Jira**: Granted by the _Jira Users_ global permission. Users in the default product access group (for example, \n_jira-software-users-acmesite_) have this permission. \nSee [Manage groups](https://confluence.atlassian.com/x/24xjL) and \n[Managing global permissions](https://confluence.atlassian.com/x/x4dKLg) for details.\n\n### Anonymous access\n\nSome operations provide support for anonymous access. However, anonymous access is only available if \nthe Jira permission needed to access the object or records returned by the operation is granted to \nthe _Public_ group. See [Allowing anonymous access to your project](https://confluence.atlassian.com/x/GDxxLg) \nfor details.\n\nIf an operation is called anonymously and anonymous access is not available, the operation will return \nan error. Note that not all operations that correspond to objects that can be given public access \nprovide for anonymous access.\n"},{"title":"Expansion, pagination, and ordering","anchor":"expansion","body":"### Expansion\n\nThe Jira REST API uses resource expansion, which means that some parts of a resource are not returned unless specified \nin the request. This simplifies responses and minimizes network traffic.\n\nTo expand part of a resource in a request, use the expand query parameter and specify the object(s) to be expanded. \nIf you need to expand nested objects, use the `.` dot notation. If you need to expand multiple objects, use a \ncomma-separated list. \n\nFor example, the following request expands the `names` and `renderedFields` properties for the _JRACLOUD-34423_ issue:\n\n`GET issue/JRACLOUD-34423?expand=names,renderedFields`\n\nTo discover which object can be expanded, refer to the `expand` property in the object. \nIn the JSON example below, the resource declares `widgets` as expandable.\n\n```json\n{\n \"expand\": \"widgets\", \n \"self\": \"https://your-domain.atlassian.net/rest/api/3/resource/KEY-1\", \n \"widgets\": {\n \"widgets\": [],\n \"size\": 5\n }\n}\n```\n\n### Pagination\n\nThe Jira REST API uses pagination to improve performance. Pagination is enforced for operations that could return a large \ncollection of items. When you make a request to a paginated resource, the response wraps the returned array of values in \na JSON object with paging metadata. For example:\n\n```json\n{\n \"startAt\" : 0,\n \"maxResults\" : 10,\n \"total\": 200,\n \"isLast\": false,\n \"values\": [\n { /* result 0 */ },\n { /* result 1 */ },\n { /* result 2 */ }\n ]\n}\n```\n\n* `startAt` is the index of the first item returned in the page.\n* `maxResults` is the maximum number of items that a page can return. Each operation can have a different limit for\n the number of items returned, and these limits may change without notice. To find the maximum number of items \n that an operation could return, set `maxResults` to a large number—for example, over 1000—and if the returned value of `maxResults` is less than the requested value, the returned value is the maximum.\n* `total` is the total number of items contained in all pages. This number **_may change_** as the client \nrequests the subsequent pages, therefore the client should always assume that the requested page can be empty. Note \nthat this property is not returned for all operations.\n* `isLast` indicates whether the page returned is the last one. Note that this property is not returned for all operations.\n\n### Ordering\n\nSome operations support ordering the elements of a response by a field. Check the documentation for the operation to \nconfirm whether ordering of a response is supported and which fields can be used. Responses are listed in ascending order \nby default. You can change the order using the `orderby` query parameter with a `-` or `+` symbol. For example:\n\n* `?orderBy=name` to order by `name` field ascending.\n* `?orderBy=+name` to order by `name` field ascending.\n* `?orderBy=-name` to order by `name` field descending.\n\n\n"},{"title":"Special headers","anchor":"special-request-headers","body":"The following request and response headers define important metadata for the Jira Cloud REST API resources.\n\n- `X-Atlassian-Token` (request): Operations that accept multipart/form-data must include the `X-Atlassian-Token: no-check`\nheader in requests. Otherwise the request is blocked by cross-site request forgery (CSRF/XSRF) protection.\n- `X-Force-Accept-Language` (request): controls how the standard HTTP `Accept-Language` header is processed.\nBy default `Accept-Language` is ignored and the response is in the language configured in the user's profile or,\nwhen no language is configured for the user, the default Jira instance language. For the response to recognize\n`Accept-Language` send `X-Force-Accept-Language = true` as well. If `Accept-Language` requests a language that Jira\ncan return the response is in that language, otherwise Jira returns the response in the default language. If\n`Accept-Language` is not specified the response is in the default language.\n- `X-AAccountId` (response): This response header contains the Atlassian account ID of the authenticated user."},{"title":"Anonymous operations","anchor":"anonymous-operations","body":" Jira provides for all permissions, except the [global permission](https://confluence.atlassian.com/x/x4dKLg) Administer Jira, to be assigned to *Anyone*. Once a permission is assigned to *Anyone*, anyone knowing a project's URL is able to use the features in Jira enabled by the permission. However, the Jira REST API does not enable anonymous access for operations by default. This means that an anonymous user who may be able to perform an action through Jira, may not be able to perform the same action where it's enabled by the REST API. \n\n The operations that provide anonymous access are annotated \"This operation can be accessed anonymously.\""},{"title":"Asynchronous operations","anchor":"async-operations","body":"Some Jira REST API operations may trigger long-running or computationally expensive tasks. In these cases, the operation \nwill schedule an asynchronous task and return a `303 (See Other)` response, indicating the location of the queued task \nin the `Location` header. You can query this task to get progress updates.\n\nWhen the task finishes, the response object will contain the `result` field. The content of the field is specific to the \noperation that created the task. Refer to the operation’s documentation for more information.\n\nNote that asynchronous tasks are not guaranteed to be run in order. In other words, if you need your tasks to execute \nin a certain order, you should start a task only after the prerequisite task(s) have finished."},{"title":"Experimental features","anchor":"experimental","body":"Features and methods marked as experimental may change without notice. Feedback on experimental functionality is welcome. \nReport your suggestions and bugs in the [ACJIRA project](https://ecosystem.atlassian.net/projects/ACJIRA) (preferred) or use the \n**Give docs feedback** link at the top of this page. \n"},{"title":"Status codes","anchor":"status-codes","body":"The Jira Cloud platform REST API uses the [standard HTTP status codes](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).\n\nOperations that return an error status code may also return a response body containing details of the error or errors. \nThe schema for the response body is shown below:\n\n\n```json\n{\n \"id\": \"https://docs.atlassian.com/jira/REST/schema/error-collection#\",\n \"title\": \"Error Collection\",\n \"type\": \"object\",\n \"properties\": {\n \"errorMessages\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n },\n \"errors\": {\n \"type\": \"object\",\n \"patternProperties\": {\n \".+\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"status\": { \n \"type\": \"integer\"\n }\n },\n \"additionalProperties\": false\n}\n```"}]}} \ No newline at end of file From 2d2d94beb03fcecedfd83d0934c77c3483065a13 Mon Sep 17 00:00:00 2001 From: BorvizRobi Date: Mon, 6 Sep 2021 09:35:49 +0200 Subject: [PATCH 2/2] regenerate-rest-api: removed unnecessary function --- .../jiracloud/v2/api/ProjectApi.java | 69 ------------------- 1 file changed, 69 deletions(-) diff --git a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectApi.java b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectApi.java index 3f956b5..b038c15 100644 --- a/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectApi.java +++ b/src/main/java/org/everit/atlassian/restclient/jiracloud/v2/api/ProjectApi.java @@ -565,75 +565,6 @@ public Single searchProjects( return restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, returnType_searchProjects); } - /** - * Get projects paginated - *

Returns projects visible to the user.

This operation can be accessed anonymously.

Permissions required: Projects are returned only where the user has Browse Projects project permission for the project.

- * @param startAt

The index of the first item to return in a page of results (page offset).

(optional, default to 0l) - * @param maxResults

The maximum number of items to return per page. The maximum is 50.

(optional, default to 50) - * @param orderBy

Order the results by a field. If the orderBy field is not set, then projects are listed in ascending order by project key:

  • category Sorts projects in order by project category. A complete list of category IDs is found using the Get all project categories operation.
  • key Sorts projects in order by project key.
  • name Sorts projects in alphabetical order by project name.
  • owner Sorts projects in order by the project lead.
(optional, default to key) - * @param query

Filter the results using a literal string. Projects with a matching key or name are returned (case insensitive).

(optional) - * @param typeKey

Orders results by the project type. This parameter accepts multiple values separated by a comma. Valid values are business, service_desk, and software.

(optional) - * @param categoryId

The ID of the project's category. A complete list of category IDs is found using the Get all project categories operation.

(optional) - * @param searchBy (optional, default to "key, name") - * @param action

Filter results by projects for which the user can:

  • view the project, meaning that they have one of the following permissions:

  • browse the project, meaning that they have the Browse projects project permission for the project.

  • edit the project, meaning that they have one of the following permissions:

    • Administer projects project permission for the project.
    • site administration (that is, member of the site-admin group).
(optional, default to view) - * @param expand

Use expand to include additional information in the response. This parameter accepts multiple values separated by a comma:

  • description Returns the project description.
  • projectKeys Returns all project keys associated with a project.
  • lead Returns information about the the project lead.
  • issueTypes Returns all issue types associated with the project.
  • url Returns the URL associated with the project.
(optional) - * @param id

Filter results by project ids.

- * @param restRequestEnhancer

Adds the possibility to modify the rest request before sending out. This can be useful to add authorizations tokens for example.

- * @return Single<PageBeanProject> - */ - public Single searchProjects( - Optional startAt, Optional maxResults, Optional orderBy, - Optional query, Optional typeKey, Optional categoryId, - Optional searchBy, Optional action, Optional expand, - Optional> id, Optional restRequestEnhancer) { - - RestRequest.Builder requestBuilder = RestRequest.builder() - .method(HttpMethod.GET) - .basePath(ProjectApi.DEFAULT_BASE_PATH) - .path("/rest/api/2/project/search"); - - Map pathParams = new HashMap<>(); - requestBuilder.pathParams(pathParams); - - Map> queryParams = new HashMap<>(); - if (startAt.isPresent()) { - queryParams.put("startAt", Collections.singleton(String.valueOf(startAt.get()))); - } - if (maxResults.isPresent()) { - queryParams.put("maxResults", Collections.singleton(String.valueOf(maxResults.get()))); - } - if (orderBy.isPresent()) { - queryParams.put("orderBy", Collections.singleton(String.valueOf(orderBy.get()))); - } - if (query.isPresent()) { - queryParams.put("query", Collections.singleton(String.valueOf(query.get()))); - } - if (typeKey.isPresent()) { - queryParams.put("typeKey", Collections.singleton(String.valueOf(typeKey.get()))); - } - if (categoryId.isPresent()) { - queryParams.put("categoryId", Collections.singleton(String.valueOf(categoryId.get()))); - } - if (searchBy.isPresent()) { - queryParams.put("searchBy", Collections.singleton(String.valueOf(searchBy.get()))); - } - if (action.isPresent()) { - queryParams.put("action", Collections.singleton(String.valueOf(action.get()))); - } - if (expand.isPresent()) { - queryParams.put("expand", Collections.singleton(String.valueOf(expand.get()))); - } - if (id.isPresent()) { - queryParams.put("id", id.get()); - } - requestBuilder.queryParams(queryParams); - - Map headers = new HashMap<>(); - requestBuilder.headers(headers); - - return this.restClient.callEndpoint(requestBuilder.build(), restRequestEnhancer, - ProjectApi.returnType_searchProjects); - } /** * Update project